Je n’ai pas réussi à trouver de réponse, alors je vous pose ma question:
Est-il possible de relier une enceinte HT-CT780 Sony avec Jeedom ?
Et, plus généralement, une enceinte bluetooth « lambda » avec Jeedom ?
J’ai un Jeedom 4.20 DIY sur Rpi 4 avec une clef SENA UD100-G3 et le plugin BLEA d’actifs, pour gestion de présence avec des Nuts.
Le plugin BLEA détecte l’enceinte mais il n’est pas fait pour cela, impossible d’envoyer du son.
Est-ce possible d’utiliser le bluetooth en simultané, avec le plugin BLEA et un autre specifique pour enceinte bluetooth ?
Merci par avance
PS: j’avais vu PulseAudio mais il est en Legacy, et je ne suis pas parvenu à le faire fonctionner sur Jeedom v4.1.20…
Comment faites-vous d’habitude pour relier une enceinte bluetooth à Jeedom ?
Possible avec le plugin BLEA actif ?
Merci
PS: J’ai ce message en testant le scan de l’enceinte en mode apairage avec PulseAudio:
spawn bluetoothctl -a
bluetoothctl: option requires an argument -- 'a'
bluetoothctl ver 5.50
Usage:
bluetoothctl [options]
Options:
--agent Register agent handler: <capability>
--timeout Timeout in seconds for non-interactive mode
--version Display version
--help Display help
############################################################################
# Try to power on the Bluetooth device on controller 00:01:95:6D:94:93
############################################################################
send: spawn id exp3 not open
while executing
"send "select $port
""
(file "/var/www/html/plugins/pulseaudio/core/class/../../3rdparty/bluetooth-scan.sh" line 12)
J’ai fini par jeter l’éponge sur cette idée.
- Pas mal de raisons à cela.
Testé uniquement en mode console (SSH) :
L’appairage : ok
La connexion : erreur (que l’on retrouve des 100ène de fois sur Internet)
Tuto : tous, non fonctionnels (dans l’idée, il faut normalement appairer et connecter)
J’ai, à force de tester TOUS ce qui était conseillé, fini par « truster » l’enceinte et la connexion était alors OK. Mais là, d’autres problèmes arrivaient, pas de son ect…
Tout y passe : correction d’une étape, blocage à l’étape suivante, tous les tutoriels tourne en rond (à les suivre à la lettre, cela ne fonctionne pas) (les distributions évolues, les packages aussi, pas souvent les tutoriels).
Tout cela, pour me faire un serveur LMS sur Raspberry Pi OS en voulant utiliser le Bluetooth (fonctionne très bien avec une enceinte connecté sur le port audio analogique).
J’ai fini par trouver une distribution qui le fait correctement (comme quoi, cela est possible
- pas certain que Linux se place toujours du coté de l’utilisateur !
Et en plus, il faudra faire avec les mises en veille de l’enceinte elle-même, c’est pas gagné au final, car tout n’est pas forcément gérable.
Tout dépend vraiment de l’usage voulu.
Je ne connais pas votre usage, mais s’il est possible de connecter cette enceinte en HDMI, il ne faut pas s’en priver !
Je partage ton sentiment @Fabrice, je suis surpris que ce soit mission impossible, Jeedom est tellement ouvert en terme de protocoles, que j’étais surpris de bloquer sur du bluetooth « assez universel » à priori.
L’enceinte est très (très) loin de ma box DIY Jeedom (au tableau élec sous sol dans boitier rail DIN) et je n’ai évidemment pas pensé à tirer un HDMI jusqu’au tableau élec. du garage lors de ma rénovation…
Par contre j’ai tiré des câbles basse tension audio, peut-être que je finirai par connecter l’enceinte sur lentrée AUX via jack qu’il sera facile d’emmener au tableau élec.
C’est dommage qu’il n’y ait pas de plugin simple d’usage pour faire tourner une enceinte bluetooth avec Jeedom, de ce que je comprends ?
Il ne faut pas oublié que tout va aussi dépendre de l’enceinte. J’en ai qui autorise 2 usages (connexion) simultanément, c’est plutôt pratique. Mais d’autre, si je souhaites l’utiliser avec mon Smartphone par exemple, elle se déconnecte sur Raspberry, il faut alors retourner sur l’interface pour la reconnecter (et ça… c’est pas forcément simple tout le temps, cela passe par le redémarrage de service le plus souvent).
Donc, même si cela semble fonctionner un temps, en poussant l’usage, cela finissait par poser des problème.
J’ai remarqué sur Linux c’était bien pour savoir combien il y a eu de secondes depuis le 1er janvier 1970, mais pour le reste, c’est quand même bien compliqué
Par contre, si tu as un Pi ou un Debian à proximité de ton enceinte, alors le plugin PlayTTS permet de créer des « satellites » (comme BLEA et ses antennes) et cela fonctionne bien.
Oui, c’est possible. J’ai réussi à envoyer en BlueTooth une musique depuis le RPi4 sur une enceinte BT à 15€ du supermarché !
Je vous raconte mes galères.
Pré-requis ou pas
Echec #0 : le plugin BLEA ne détecte pas mon enceinte BT
Solution : ne pas utiliser ce plugin
PAS besoin de modifier le fichier /boot/config.txt en rajoutant à la fin dtoverlay=miniuart-bt
Vérifier dans ce fichier si la ligne dtoverlay=disable-bt est bien commentée avec un # ou inexistante
Donc, rien à bidouiller dans ce fichier
Pour éviter l’échec #1, j’ai dû tout mettre à jour (voir plus bas)
sudo apt update
sudo apt upgrade
Installation des outils bluetooth. Vous pouvez, en fonction de votre système, essayer une seule des 2 lignes, je ne connais pas la différence.
sudo apt install bluetooth
sudo apt install pi-bluetooth
Mon échec #3 était du à l’incompatibilité de pulseaudio et bluealsa ensemble.
Essayer de NE PAS installer les paquets pulseaudio et pulseaudio-utils avec cette commande
sudo apt install pulseaudio pulseaudio-utils
Ce qui est sûr, le paquet pulseaudio-module-bluetooth est incompatible avec bluealsa.
Donc, NE PAS faire ce qui suit
sudo apt install pulseaudio-module-bluetooth
AH, si connaissait les c_ns qui m’ont fait installer ça !!!
Installation de BlueALSA sudo apt install bluealsa
Vérification des daemons bluetooth et bluealsa
systemctl status bluetooth.service
systemctl status bluealsa.service
Vérification que le BlueTooth ne soit pas bloqué avec la commande rfkill qui doit retourner quelque chose comme ceci
ID TYPE DEVICE SOFT HARD
0 wlan phy0 unblocked unblocked
1 bluetooth hci0 unblocked unblocked
Activation du contrôleur BlueTooth
sudo systemctl enable hciuart
sudo systemctl start hciuart
sudo hciconfig hci0 down
sudo hciconfig hci0 up
Vérification avec la commande hciconfig ou hciconfig -a
Voilà, ça fonctionne, mais il faut bien attendre que le fichier audio soit entièrement lu avant d’en lire un autre (pas de possible de couper en flux en cours). Pour envoyer des notifications vocales assez rapprochées, ça pourrait être problématique ! Il faudrait être capable de pouvoir lire plusieurs fichiers audio en même temps et d’envoyer le flux total.
Ouais, elle se met en veille 5 minute après !
Une idée serait d’envoyer un flux audio en continu.
Avec Linux, il m’a fallu 6h pour envoyer du son sur une enceinte BlueTooth !
Si tu n’as pas X heures devant toi, tu ne te lances pas là dedans !
Et après tout ça (oui, on réfléchit toujours mieux après), je pense qu’il y a peut-être plus simple : acheter un dongle BlueTooth (audio seulement) Amazon.fr qui fait carte son USB et envoyer tous les sons sur cette carte.
En fait, ça fait 1 an que j’avais en tête cette idée de faire parler Jeedom dans une enceinte Bluetooth quelconque, mais pour franchir le pas, je n’avais pas lever la jambe assez haut !
Non, je n’ai pas de NUT et je ne sais pas si les 2 ensembles peuvent fonctionner.
Raspberry Pi 4 v1.1 + bluetooth interne
Linux Jeedom 5.10.17-v7l+ #1414 SMP Fri Apr 30 13:20:47 BST 2021 armv7l GNU/Linux
Quand on voit ce que Jeedom sait faire en « natif », cela me surprend encore que lui joindre une enceinte Bluetooth lambda soit aussi complexe…
Merci pour tes précisions de config.
Je gère la présence avec le plugin BLEA + clef Bluetooth SENA et c’est important dans mon installation, il faudrait que j’essaye à l’occasion.
Je sens que ça va se finir en tirant un cable jack de la sortie audio du Pi à l’enceinte
Ou avec un dongle BlueTooth USB qui est vu comme une carte son par le système. https://www.amazon.fr/dp/B0881X4MB2 Ainsi, on sélectionne une bonne fois pour toute la carte son USB et tout sort en BlueTooth vers l’enceinte. C’est ce que je comptais acheter pour mon Laptop (sous Linux également) pour éviter les bidouilles et avoir la version 5.0
Avec le plugin PlayTTS, je n’arrive toujours pas à faire sortir le son en BlueTooth, ça passe par le truc général Pulse Audio et ça sort par le Jack
Oui, dans mon cas cela ferait encore ajouter une clef USB à 40-50€ sur une config qui ressemble deja bcp à une usine à gaz (Z-wave Aeotec, RFXcomXL, SENA BT, GSM Huawei…)
Oui pour moi PulseAudio est un grand mystère… Rien compris à son fonctionnement, semble assez vieux et non maintenu…
C’est aussi pour cela que je songeais sérieusement au jack filaire… sortie native et éviter d’éventuelles latences avec un son par les ondes…
Oui, de toute façon, en domotique, il faut un hub 10 USB et une clé par protocole. Au final, ça prend une place énorme et plein de filasse pour du sans fil
J’utilise la sortie Jack 3.5 native (aussi bien sur Pi3B+ que maintenant sur le Pi4B) et le son est plus que correct, rien à redire.
PlayTTS, pas de configuration particulière à faire.
aplay, c’est bien mais PlayTTS s’appuie sur mplayer
J’ai galéré (comme à chaque fois) pour que mplayer utilise la sortie BT
Il faut créer un fichier de conf /etc/asound.conf
sudo nano /etc/asound.conf
Et on copie dedans
pcm.bt_speaker {
type plug
slave.pcm {
type bluealsa
device "12:34:56:78:90:12"
profile "a2dp"
}
hint {
show on
description "Mon enceinte BT"
}
}
ctl.bt_speaker {
type bluealsa
}
Vous pouvez bien sûr changer le non « bt_speaker », il faut juste que ce soit cohérent partout.
Vérification avec la commande aplay -L
La configuration créée « bt_speaker » doit apparaitre dans la liste
bt_speaker
Mon enceinte BT
Lecture du fichier audio avec MPlayer en sélectionnant la bonne sortie « bt_speaker »
Dans PlayTTS, il suffit de changer l’option pour mplayer avec -ao pulse::bluez_sink.12_34_56_78_90_12.a2dp_sink
Echec #5 : mplayer fonctionne en SSH, le script Jeedom fonctionne en SSH
Mais ni le plugin PlayTTS ni le script via le plugin Script ne fonctionnent dans Jeedom
Solution : pas encore trouvé
Il y a un problème de droits quelque part… En vain.
Avantage de la solution Pulse
On pourrait jouer plusieurs fichiers audio en simultané, c’est le flux global qui est envoyé vers la sortie BlueTooth (comme pour le Jack)
merci pour les informations.
Je confirme, il est possible de connecter une enceinte Bluetooth avec un peu de travail. J’ai une clé Bluetooth 4.0 (j’avais commandé sur domadoo réf. JEEDOM_USBBT) : la portée est bonne (autre pièce) vers mes enceintes Bluetooth (2 systèmes différents). Je me sers également de la clé Bluetooth pour piloter 2 Jardibric BL-PNR dans le jardin (avec BLEA). J’ai donc abandonné pulseaudio et suis parti avec Bluealsa.
Bluealsa non disponible pour une architecture 64 bits (j’ai une jeedom Smart avec Debian 9 stretch) , j’ai donc compilé en m’inspirant de ce post :
puis suivi la procédure en bas pour installer.
J’ai installé alsa-utils, aplay et mpg123 puis j’ai ajouté une interface sur le dashboard Jeedom pour connecter/déconnecter un système d’enceinte, choisir le système d’enceinte + musique, jouer, stop… (à base de script Bash et virtuel pour créer des listes déroulantes).
J’ai également ajouté PlayTTS : le son part sur l’enceinte par défaut.
J’ai perdu un peu de temps en voulant essayer avec bluealsa-aplay mais ça ne fonctionne pas comme expliqué dans le post armbian. Je suis donc reparti sur aplay et mpg123.
J’ai passé un peu de temps sur un problème de droits :
Bluealsa est prévu pour être utilisé par défaut avec root. Il faut modifier le fichier /etc/dbus-1/system.d/bluetooth.conf pour autoriser un autre utilisateur. Sur ma box Jeedom, l’utilisateur www-data (voir plugin jeedom Script) ne pouvait pas exécuter les scripts bash que j’avais testés en root, j’ai donc ajouté les balises allow own=« org.bluealsa » et allow send_destination=« org.bluealsa » pour le groupe bluetooth. J’ai ajouté www-data au groupe bluetooth.
Ça fonctionne et en bonus, en parallèle du plugin BLEA (alors que pulseaudio et BLEA )
Pour moi, les principaux intérêts d’envoyer du son de Jeedom vers enceinte par Bluetooth:
utilisation du matériel disponible sans acheter nouveau matériel (enceinte Bluetooth, clé Bluetooth Jeedom)
synchroniser son et lumière pour créer des effets (scénarios)
jeedom peut parler (TTS) et si l’enceinte est portable, on peut déplacer où on veut sans fil.
pas besoin d’un laptop ou autre pour envoyer du son sur les enceintes en Bluetooth (Jeedom connectée 24h/24)
je ne voulais pas passer par le wifi, ethernet, dlna…
Quel est la fréquence d’échange d’info ?
Avec des Nuts en BLEA, c’est +/- 30 secondes. J’ai peur que ça ne marche pas avec une enceinte qui doit streamer…