Configuration d'une antenne BLEA dans un Docker sur Synology

Tags: #<Tag:0x00007fcbc44dde50> #<Tag:0x00007fcbc44dd798>

A la base je ne comprend vraiment pas l’intérêt de faire tourner une antenne toute seule dans un container à tout ca sur le même syno à coté de jeedom… 0 gain.

Le script de base pour l’installation de l’antenne fonctionne sur un pi;
première chose à laquelle je pense par exemple c’est sudo, pas sur qu’il soit installé sur ton container…
on ne sait meme pas si l’accès ssh est opérationel

bref, si tu veux continuer dans la voie du container pour l’antenne, je te conseil de prendre le script et de le tourner à la main pour voir ce qu’il se passe

Je t’avoue que certaines choses sont floues pour moi (je ne suis qu’un newbie)

Si j’ai bien compris, dans le Docker Jeedom, la clé bluetooth n’est pas détectée, d’où l’intérêt de l’installation d’une antenne dans un autre Docker, peut-être pour mapper la clé USB non trouvée dans une config traditionnelle??

@Didier3L a adapté le script pour le faire fonctionner dans un container.

J’arrive à me connecter en ssh aux container.

bref, si tu veux continuer dans la voie du container pour l’antenne, je te conseil de prendre le script et de le tourner à la main pour voir ce qu’il se passe

Pas sûr que ce soit dans mes compétences.

*Edit : dans mon post précédent, j’ai rajouté un log.

Et pourquoi la clé bluetooth n’est pas détectée dans le container de jeedom?
et du coup, pourquoi serait-elle mieux détecté dans un autre container?

Honnêtement je ne sais même pas ce qu’il faut faire pour avoir accès à une ressources physique comme une clé bluetooth dans un container, je ne maitrise pas assez docker pour ca.

Alors, je me suis peut-être mal exprimé : c’est le plugin BLEA qui ne voit pas ma clé Bluetooth.
Dans le terminal, on peut voir que Jeedom « détecte » bien ma clé USB :
image

Par contre, dans le plugin BLEA, impossible de la sélectionner, d’où l’installation d’une antenne dans un Docker.
Mais ça, ce n’est que mon interprétation, la représentation d’un débutant.

En tout cas, merci d’avoir tenté de m’aider.

Ok, je pense qu’il manque le fait de « monter » ce device sur une interface utilisable (hcix) et ensuite cela devrait fonctionner.
De nouveua, je ne suis pas expert sur ce type de manip, surtout dans un container, mais il y a des postes sur le forum qui traitent de la question déjà je pense (au moins sur un machine classique)

Je viens de remarquer un truc, sur mon syno j’ai ça :
image

Alors que dans le tuto de @Didier3L, on voit clairement USB0 et USB1:
image.

Du coup, dans le fichier « docker-compose.yaml », pour créer l’image de Jeedom, je n’ai pas pu y faire apparaître:
image .

Ces ports ne sont alors pas montés et ce qui expliquerait que le plugin BLEA ne fonctionne pas?

Est-ce que ça tient la route?

(Pourtant sur mon Syno, ma clé bluetooth voit mes appareils bluetooth…)

Il faut suivre chaque tuto séparément et ne pas mélanger les deux

La clé Bluetooth ne sera vue qu avec ce conteneur

Dans Jeedom il faut suivre : Création de l’antenne dans le plugin

Tout d’abord merci pour ta réponse.

J’ai bien suivi les deux tutos séparément : d’abord la création du conteneur « jeedom-v4 » puis celui de « l’antenne BLEA ».

La clé Bluetooth ne sera vue qu avec ce conteneur

Il est là le problème, la clé n’est pas vue! (dans jeedom, j’ai bien créé l’antenne dans le plugin BLEA : tout est bien au vert ).

Dans mon dernier post, je dis juste que dans la création de mon image jeedom s’est faite sans les devices « ttyUSB ». La fonction « dmesg | grep tty » me renvoie aucun ttyUSB.
Je me demandais donc s’il n’y avait pas un lien.

Je viens de créer règle udev pour les faire apparaitre, ils n’apparaissent toujours pas avec « dmesg | grep tty » mais cette fois-ci j’ai pu rajouter les devices 'ttyUSB*" dans la création de l’image Jeedom.

Edit : Cela ne change rien, dans « port de la clé bluetooth », il n’y a toujours rien, et je ne peux pas utiliser le plugin.

Une idée?

Hello.
J’ai pas de syno mais à mon avis tu ne peux pas lier la même clé USB à 2 containers. Soit c’est accessible pour jeedom soit pour l’antenne.
(où alors j’ai pas compris que tu as 2 syno)
Dans tous les cas, le mapping est indispensable (déclaration des devises dans la ligne de commande ou dans le yaml du docker-compose) ainsi que les bons droits d’accès (uid, gid ou bien privilège).
L’ ajout à posteriori des devices n’a pas d’influence. Le contexte est chargé au lancement. S’il est corrigé il sera pris en compte au prochain up
Les règles udev n’ont pas d’effet à l’intérieur du container, il est de toute façon possible de mapper ttyUSBx (physique) avec ttyUSBy (dans le container)
Pour finir il faut se poser la question de l’intérêt de deux containers distincts sur le même host

Pour qu’un conteneur Docker puisse voir un périphérique Bluetooth, il faut que celui-ci soit exclusivement en mode réseau Host

Je n’ai pas encore trouvé de solution pour qu’un conteneur en mode réseau macvlan puisse voir un périphérique Bluetooth

Donc comme le tuto de l’installation de Jeedom tourne avec un réseau macvlan, le plugin BLEA ne verra pas de périphérique Bluetooth. Et même si le NAS le voit bien.

Enfin, c’est pour cela qu’un deuxième conteneur doit être créé en réseau HOST si on souhaite utiliser périphérique Bluetooth avec le plugin BLEA

Je vais éditer mon tuto pour que cela compris …

2 J'aimes

Merci @Didier3L pour ces explications.

Mais alors concrètement, que dois-je faire? Parce que le plugin BLEA ne voit toujours pas ma clé USB (je suis bien dans la configuration Jeedom dans un Docker sous un réseau Macvlan et Installation d’une antenne dans un Docker en réseau Host pour que ma clé Bluetooth soit visible par le plugin BLEA).
Voilà qq captures d’écran :
image
image
image
image
image
image

Et le log « BLEA » :

[2020-10-21 19:30:04][INFO] : Suppression de la log /var/www/html/plugins/blea/core/class/../../../../log/blea_Clé-Bluetooth
[2020-10-21 19:30:04][INFO] : Récupération de la log distante
[2020-10-21 19:30:04][INFO] : Arret du démon distant
[2020-10-21 19:30:04][INFO] : Récupération de fichier depuis 192.168.1.241
[2020-10-21 19:30:04][INFO] : Commande par SSH fuser -k 55008/tcp >> /dev/null 2>&1 & sur 192.168.1.241
[2020-10-21 19:30:04][INFO] : Compression du dossier local
[2020-10-21 19:30:04][INFO] : Commande par SSH cat /dev/null > /tmp/blea sur 192.168.1.241
[2020-10-21 19:30:05][INFO] : Envoie du fichier  /tmp/folder-blea.tar.gz
[2020-10-21 19:30:05][INFO] : Commande par SSH rm -Rf /home/blea/blead sur 192.168.1.241
[2020-10-21 19:30:05][INFO] : Commande par SSH mkdir -p /home/blea/blead sur 192.168.1.241
[2020-10-21 19:30:05][INFO] : Envoie de fichier sur 192.168.1.241
[2020-10-21 19:30:05][INFO] : Files successfully sent to 192.168.1.241
[2020-10-21 19:30:05][INFO] : Décompression du dossier distant
[2020-10-21 19:30:05][INFO] : Commande par SSH tar -zxf /home/blea/folder-blea.tar.gz -C /home/blea/blead sur 192.168.1.241
[2020-10-21 19:30:05][INFO] : Commande par SSH rm /home/blea/folder-blea.tar.gz sur 192.168.1.241
[2020-10-21 19:30:05][INFO] : Suppression du zip local
[2020-10-21 19:30:05][INFO] : Finie
[2020-10-21 19:30:09][INFO] : Arret du démon distant
[2020-10-21 19:30:10][INFO] : Commande par SSH fuser -k 55008/tcp >> /dev/null 2>&1 & sur 192.168.1.241
[2020-10-21 19:30:10][INFO] : Installation des dépendances
[2020-10-21 19:30:10][INFO] : Commande par SSH bash /home/blea/blead/resources/install_apt.sh  >> /tmp/blea_dependancy 2>&1 & sur 192.168.1.241

Et : image

Ton réseau Macvlan est toujours présent sur ton syno ?

ifconfig

Voilà

root@mon-serveur:~# ifconfig
docker0   Link encap:Ethernet  HWaddr 02:42:CC:37:21:73
          inet addr:172.17.0.1  Bcast:172.17.255.255  Mask:255.255.0.0
          inet6 addr: fe80::42:ccff:fe37:2173/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2123 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4725 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:87229 (85.1 KiB)  TX bytes:666513 (650.8 KiB)

docker46c Link encap:Ethernet  HWaddr D6:01:AF:11:65:C5
          inet6 addr: fe80::d401:afff:fe11:65c5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1929 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:493050 (481.4 KiB)

dockerf5a Link encap:Ethernet  HWaddr CE:D3:F6:DA:94:F9
          inet6 addr: fe80::ccd3:f6ff:feda:94f9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2123 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4731 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:116951 (114.2 KiB)  TX bytes:666981 (651.3 KiB)

eth0      Link encap:Ethernet  HWaddr 00:24:81:7D:85:6F
          inet6 addr: fe80::224:81ff:fe7d:856f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:929545 errors:0 dropped:0 overruns:0 frame:0
          TX packets:293986 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:791526777 (754.8 MiB)  TX bytes:47652744 (45.4 MiB)
          Interrupt:18 memory 0xfe9e0000-fea00000

eth1      Link encap:Ethernet  HWaddr 00:24:81:7D:85:6F
          inet6 addr: fe80::224:81ff:fe7d:856f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1611289 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1017629 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:661133099 (630.5 MiB)  TX bytes:219340986 (209.1 MiB)
          Interrupt:19 memory 0xfe980000-fe9a0000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:104579 errors:0 dropped:0 overruns:0 frame:0
          TX packets:104579 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:28884062 (27.5 MiB)  TX bytes:28884062 (27.5 MiB)

macvlan-b Link encap:Ethernet  HWaddr 00:01:02:03:04:05
          inet addr:192.168.1.241  Bcast:0.0.0.0  Mask:255.255.255.255
          inet6 addr: fe80::201:2ff:fe03:405/64 Scope:Link
          inet6 addr: 2a01:e34:ee62:17c0:201:2ff:fe03:405/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:356790 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19600 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:61027736 (58.2 MiB)  TX bytes:3092763 (2.9 MiB)

ovs_bond0 Link encap:Ethernet  HWaddr 00:24:81:7D:85:6F
          inet addr:192.168.1.194  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::224:81ff:fe7d:856f/64 Scope:Link
          inet6 addr: 2a01:e34:ee62:17c0:224:81ff:fe7d:856f/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2120542 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1282124 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1403798046 (1.3 GiB)  TX bytes:259430271 (247.4 MiB)

Tu as bien cliqué sur lancer le demon de l’antenne ?

Je viens de le faire ; voilà les log :

[2020-10-21 21:41:09][INFO] : Lancement du démon distant
[2020-10-21 21:41:09][INFO] : Arret du démon distant
[2020-10-21 21:41:09][INFO] : Commande par SSH fuser -k 55008/tcp >> /dev/null 2>&1 & sur 192.168.1.241
[2020-10-21 21:41:14][INFO] : Lancement du démon distant /usr/bin/python3 /home/blea/blead/resources/blead/blead.py --loglevel debug --device hci0 --socketport 55008 --sockethost "" --callback http://192.168.1.243/plugins/blea/core/php/jeeBlea.php --apikey GU7JZWxYa8fA1MQtSd2tITb3HTGDjg2J --daemonname "Clé Bluetooth" --noseeninterval 4 --scaninterval 29 --scanmode passive >> /tmp/blea 2>&1 &
[2020-10-21 21:41:14][INFO] : Commande par SSH /usr/bin/python3 /home/blea/blead/resources/blead/blead.py --loglevel debug --device hci0 --socketport 55008 --sockethost "" --callback http://192.168.1.243/plugins/blea/core/php/jeeBlea.php --apikey GU7JZWxYa8fA1MQtSd2tITb3HTGDjg2J --daemonname "Clé Bluetooth" --noseeninterval 4 --scaninterval 29 --scanmode passive >> /tmp/blea 2>&1 & sur 192.168.1.241
[2020-10-21 21:41:31][INFO] : Suppression de la log /var/www/html/plugins/blea/core/class/../../../../log/blea_Clé-Bluetooth
[2020-10-21 21:41:31][INFO] : Récupération de la log distante
[2020-10-21 21:41:31][INFO] : Récupération de fichier depuis 192.168.1.241
[2020-10-21 21:41:32][INFO] : Commande par SSH cat /dev/null > /tmp/blea sur 192.168.1.241
[2020-10-21 21:45:03][INFO] : Suppression de la log /var/www/html/plugins/blea/core/class/../../../../log/blea_Clé-Bluetooth
[2020-10-21 21:45:03][INFO] : Récupération de la log distante
[2020-10-21 21:45:03][INFO] : Récupération de fichier depuis 192.168.1.241
[2020-10-21 21:45:03][INFO] : Commande par SSH cat /dev/null > /tmp/blea sur 192.168.1.241

Je sèche désolé

Tout est ok dans ce que j’ai affiché?

Dans « configuration - > port de la clé Bluetooth », je devrais trouver ma clé, c’est bien ça?

Non car comme j’ai dit plus haut si tu installes ta clé en mode antenne (autre container) cela ne sera pas visible dans la config du plug-in qui ne concerne que les clés branchées en local sur jeedom

Comment je sais que mon antenne est ok alors (dans cette configuration) ?
Juste en lançant un scan?

Dans l’écran des antennes, elle passera au vert si elle répond.
exemple:
image

1 J'aime