Avoir le plugin Zigbee + plugin Deconz

Bonjour @HugoVal11 , je souhaite figer le port tty de ma clef Conbee2 déjà installée sur mon Rpi et pilotée par le plug-in Deconz sous Jeedom.

Ainsi, j’escompte installer ma seconde clef Conbee2 sur ce même Rpi, puis installer le plugin Zigbee et faire pointer celui-ci sur la nouvelle clef (puisque j’ai aussi compris que le plug-in Zigbee, lui, permettait de choisir la clef à piloter).

L’idée est d’être sûr qu’après un redémarrage du Rpi le plug-in Deconz pointe bien sur la bonne clef Conbee2.

Je n’ai que cette piste pour le moment pour essayer de faire fonctionner 2 clef Conbee2 sur un même serveur piloté par 2 plug-ins différents…

Dites-moi si vous pensez que je me fourvoie complètement…

Merci @Yves19, mais cela ne dit pas si il est possible d’avoir 2 coupleurs identiques pilotés par 2 applications ou plug-ins différents sur Jeedom, non?
C’est bien mon cas de figure (celui que j’aimerai tester).

Sommes-nous d’accord sur la compréhension du message de Loic?

La réponse est non (cf plus haut). Deux coupleurs identiques posent pb quelle que soit l’appli ou les applis Jeedom qui les pilotent

Oui je suis comme toi, j’aimerai bien comprendre pourquoi, s’il n’y a aucune ressource partagé sur le système, de la clef jusqu’au plug-in Jeedom…

@Yves19

en lisant cela:
Ce qui est impossible c’est d’avoir deux coupleurs identiques pilotés par une application (ou plug-in) sur Jeedom…
Je pensais que tu disais ‹ par une « seule » application ›… donc je me posais la question pour 2 applications différentes… (c’est subtil, mais autant être le plus précis possible)
Ce que disais Loic ne me semblait pas si clair justement. Et dans ce même thread j’ai cru comprendre que quelqu’un pensait que c’était possible (ok ce n’était qu’une supposition sans preuve etayée).
C’est pour cela que j’ai eu espoir que cela serait possible, mais si personne n’a vraiment testé cette configuration… j’ai l’impression excepté peut-être Loic et ce n’est pas clair si @choupfamily63 a pu le tester sur un seul système.
Je ferai bien un schéma, mais ce que j’aimerai faire ressemble à cela:
Système 1 (Rpi) ==> Clef Conbee2 n°1=>Port tty1=>Process (deconz)1 ==>port API XXX =>plug-in deconz =>Jeedom 1
Système 1 (Rpi) ==> Clef Conbee2 n°2==>Port tty2=>Process ??? (via lib zigpy) ==>port API YYY==>plugin Zigbee ==> Jeedom 1

Bonjour @BeauFort9476,

Il a doit y avoir confusion car je n’ai jamais écrit que je faisais tourner les deux plugins avec la même clé.
J’utilise uniquement le plugin Zigbee avec une clé par deamon, soit 3 clés au total. Une clé est en local, branchée directement sur un port USB de mon NUC, et les deux autres clés sont en déporté, chacune branchée sur un PI3 avec le logiciel USB Redirector for Linux pour les virtualiser en USB sur mon jeedom hébergé par le NUC.
Je n’utilise plus le plugin Deconz depuis que j’ai tout basculé sur Zigbee.

Bonjour @choupfamily63

Je reprends ton texte précédent pour être sûr de bien comprendre (message 16 de ce thread de mai 2021) :
"Dans mon cas je n’utilise pas la même clé pour le demon Zigbee et le demon Deconz. J’utilise une clé par demon, donc 2 clés pour le plugin Zigbee, et 1 clé pour le plugin Deconz.
Le lien de la réponse de Loic évoque le cas où la même clé est utilisé pour les deux plugin, c’est donc différent de mon utilisation.

Les deux plugins cohabitent donc sans problème ensemble à condition d’utiliser des clés différentes.
"
Note que je ne parle pas moi non plus d’utiliser 2 plug-ins avec la même clef, mais bien 2 plug-ins avec 2 clefs différentes! Mais sur le même système (i.e. un Rpi).
Je voulais savoir si, à l’époque, quand tu avais écrit ce texte, tu étais bien dans ce cas de figure ou si tu utilisais les 2 clefs avec 2 plug-ins différents sur 2 systèmes différents (par exemple 2 Rpi, ou un Rp et une VM peu importe…)

Merci pour tes éclaircissements! :wink:
Car là j’avais fondé beaucoup d’espoir sur ce que tu disais à l’époque pour essayer de le reproduire…

J’en profite aussi pour reperende le message de @Loic dans l’autre Thread (Le maillage zigbee - #53 par olive) :
"La règle est simple une clef ne peut être utilisé par les 2 plugins en même temps.

Après avoir le plugin deconz et zigbee avec 2 clef différentes c’est en théorie possible en pratique moins a cause delà détection auto de deconz (dans le plugin zigbee on peut forcer un port).

Donc en gros si c’est une clef conbee et une autre type ezsp pas de soucis mais si c’est 2 conbee pas possible"

Si je décortique:
La règle est simple une clef ne peut être utilisé par les 2 plugins en même temps. ==>ok pas de soucis, ce n’est pas ce que je cherche à faire

Après avoir le plugin deconz et zigbee avec 2 clef différentes c’est en théorie possible en pratique moins a cause delà détection auto de deconz (dans le plugin zigbee on peut forcer un port). ==>
Le 2 clefs différentes peut être là interprétée comme juste 2 clefs et pas une seule, ou comme 2 types de clefs différentes. Je pense que Loic pensait au second point, mais je l’ai lu comme le premier point

D’où ma confusion…

Le message de @loic69 dans ce même thread a renforcé mon espoir:
« Il y a possibilité sur deconz de forcer le port USB de la conbee2 mais seulement en ligne de commande.
Donc pour moi deconz et zigbee doivent pouvoir cohabiter sur la même machine.
Mais ca reste effectivement du non standard »

L’illustration de @choupfamily63 avait renforcé cet espoir, mais je comprend que les clefs n’étaient pas toutes sur le même système, mais certaines déportées, d’où ma confusion.

Désolé pour tous ces messages, mais je souhaitais vraiment aller au bout de ce sujet pour bien comprendre, car je pense que je suis pas le seul à me poser ces questions et que l’ensemble des messages prétaient potentiellement à confusion.
Si j’ai le temps j’essaierai de faire un eptit récapitulatif des cas de figures possibles ou pas pour les prochains…

Merci de votre aide et de votre patience.

J’en profite pour remonter, il me semble, une petite coquille dans la documentation officielle, au niveau de la présentation du plug-in Zigbee, car comme je le dit, autant éviter toute confusion possible et être le plus clair sur les termes employés:

Le plugin Zigbee pour Jeedom se base sur l’excellent travail effectué autour de la librairie open-source Zigpy pour offrir une compatibilité généralisée avec les différents matériels Zigbee. Il permet de communiquer avec les contrôleurs Zigbee suivants :

  • deCONZ : Testé et validé par l’équipe Jeedom. (Il n’est pas nécessaire d’installer l’application deCONZ)

@Loic : Ne faudrait-il pas plutôt parler du contrôleur Conbee2 plutôt que DeConz, puisque justement, de ce que je comprend, il n’y a pas besoin d’installer l’application deConz pour le piloter, puisque justement le pilotage de la clef se fait via la lib Open-Source Zigpy?

Oui ça serait plus clair pour éviter toutes confusions.

1 « J'aime »

Ou au moins type de contrôleur « deConz » correspondant aux produits : clefs Conbee2, Raspbee2, … ?

Pour moi utiliser 1 conbee pour un plugin et une seconde conbee pour le second devrait marcher.
Chaque application verrouille sa clé donc ne gêne pas la seconde. Le seul probleme vient de la détection des clés, mais si comme tu dit tu signales toi même le port a utiliser, je vois pas pourquoi ça marcherait pas.

1 « J'aime »

4 jours a se poser la question ? le plus simple est de testé et de voir au final.

1 « J'aime »

Yes, c’est ce que je suis en train de faire! :wink:
Mais avant de me lancer je voulais comprendre les tenants et aboutissants, surtout pour ne pas casser ma config de production…
Seconde clef branchée sur le Raspberry PI sur un nouveau port USB, elle apparait bien au niveau système à côté de l’autre :

ls -la /dev/serial/by-id/
total 0
drwxr-xr-x 2 root root 80 janv. 29 12:41 .
drwxr-xr-x 4 root root 80 janv. 24 08:55 ..
lrwxrwxrwx 1 root root 13 janv. 24 08:55 usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2254887-if00 -> ../../ttyACM0
lrwxrwxrwx 1 root root 13 janv. 29 12:41 usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2474544-if00 -> ../../ttyACM1

Plug-in en cours d’installation (les dépendances prennent du temps):

1 « J'aime »

Premières logs après lancement du daemon:

[2022-01-29 12:53:47][INFO] : Lancement démon zigbeed : /usr/bin/python3 /var/www/html/plugins/zigbee/resources/zigbeed/zigbeed.py --device /dev/ttyACM1 --loglevel debug --socketport 8089 --callback http://127.0.0.1:80/plugins/zigbee/core/php/jeeZigbee.php --apikey h2Qwl2GBsuqVEVT4fkNEFZkNOTCtq7bQ --cycle 0.3 --pid /tmp/jeedom/zigbee/deamon_1.pid --data_folder /var/www/html/plugins/zigbee/data/1 --device_folder /var/www/html/plugins/zigbee/data/device --controller deconz --sub_controller auto --channel 20
[2022-01-29 12:53:48][DEBUG] : null
[2022-01-29 12:53:50][DEBUG] : {"device_initialized":"00:21:2e:ff:ff:07:de:5f"}

Statut ok pour le moment:

Je tenterai un premier appairage cet aprem…

Je confirme, cela fonctionne bien.
Premier appairage réussi:

Test concluant.

Merci à tous pour votre aide.
Par contre, le firmware n’étant pas à jour, j’ai tenté de le mettre à jour.
Pour cela j’ai arrêté le démon du plug-in Zigbee
Puis lancé la commande:

sudo GCFFlasher_internal -t 60 -x 3 -d /dev/ttyACM1 -f deCONZ_ConBeeII_0x26720700.bin.GCF

flashing 164227 bytes: |=error: timeout flashing firmware after 3006 ms

18:25:59:264 retry, elapsed 59 seconds
18:25:59:370 parse commands: /usr/bin/GCFFlasher_internal.bin -t 60 -x 3 -d /dev/ttyACM1 -f deCONZ_ConBeeII_0x26720700.bin.GCF

18:25:59:370 using firmware file: deCONZ_ConBeeII_0x26720700.bin.GCF 
18:25:59:427 ls dev: /dev/ttyACM1 (0x1CF1/0x0030) sn: DE2474544
18:25:59:427 ls dev: /dev/ttyACM0 (0x1CF1/0x0030) sn: DE2254887
18:25:59:427 ls dev: /dev/ttyAMA0 (0x0000/0x0000) sn: 
Reboot device /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2474544-if00 (ConBee II)
18:25:59:434 query bootloader v1 ID after 5 ms
18:25:59:935 close serial after 505
18:26:00:941 query bootloader v3 ID after 1511 ms
18:26:00:941 TX c081027dffc0
18:26:01:441 close serial after 2012
18:26:01:446 query deCONZ firmware version
retry, failed

2408: Error: uart reset failed, check retry

Cela ne sent pas très bon…
Le plug-in ne redémarre plus
Et j’ai les traces suivantes dans le fichier zigbeed_1 :

ValueError: Data is too short to contain 4 bytes
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/zigpy/ota/provider.py", line 414, in scan_image
parsed_image, _ = parse_ota_image(f.read())
File "/usr/local/lib/python3.7/dist-packages/zigpy/ota/image.py", line 264, in parse_ota_image
return OTAImage.deserialize(data)
File "/usr/local/lib/python3.7/dist-packages/zigpy/ota/image.py", line 162, in deserialize
hdr, data = OTAImageHeader.deserialize(data)
File "/usr/local/lib/python3.7/dist-packages/zigpy/ota/image.py", line 110, in deserialize
hdr, data = super().deserialize(data)
File "/usr/local/lib/python3.7/dist-packages/zigpy/types/struct.py", line 249, in deserialize
value, data = field.type.deserialize(data)
File "/usr/local/lib/python3.7/dist-packages/zigpy/types/basic.py", line 140, in deserialize
raise ValueError(f"Data is too short to contain {byte_size} bytes")
ValueError: Data is too short to contain 4 bytes
[2022-01-29 18:28:26][DEBUG] : Ledvance: Finished downloading firmware update list
[2022-01-29 18:28:27][DEBUG] : Trådfri: Finished downloading firmware update list
[2022-01-29 18:28:27][ERROR] : Couldn't start application
[2022-01-29 18:28:27][DEBUG] : executing functools.partial(<built-in method close of sqlite3.Connection object at 0x7f7dfdb8f0>)
[2022-01-29 18:28:27][DEBUG] : operation functools.partial(<built-in method close of sqlite3.Connection object at 0x7f7dfdb8f0>) completed
[2022-01-29 18:28:27][ERROR] : [start_zigbee] Fatal error : [Errno 2] could not open port /dev/ttyACM1: [Errno 2] No such file or directory: '/dev/ttyACM1'
[2022-01-29 18:28:27][INFO] : Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/serial/serialposix.py", line 322, in open
self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
FileNotFoundError: [Errno 2] No such file or directory: '/dev/ttyACM1'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/var/www/html/plugins/zigbee/resources/zigbeed/zigbeed.py", line 102, in start_zigbee
start_radio=True,
File "/usr/local/lib/python3.7/dist-packages/zigpy/application.py", line 69, in new
await app.startup(auto_form)
File "/usr/local/lib/python3.7/dist-packages/zigpy_deconz/zigbee/application.py", line 66, in startup
await self._api.connect()
File "/usr/local/lib/python3.7/dist-packages/zigpy_deconz/api.py", line 253, in connect
self._uart = await zigpy_deconz.uart.connect(self._config, self)
File "/usr/local/lib/python3.7/dist-packages/zigpy_deconz/uart.py", line 149, in connect
xonxoff=False,
File "/usr/local/lib/python3.7/dist-packages/serial_asyncio/__init__.py", line 448, in create_serial_connection
serial_instance = serial.serial_for_url(*args, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/serial/__init__.py", line 90, in serial_for_url
instance.open()
File "/usr/local/lib/python3.7/dist-packages/serial/serialposix.py", line 325, in open
raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
serial.serialutil.SerialException: [Errno 2] could not open port /dev/ttyACM1: [Errno 2] No such file or directory: '/dev/ttyACM1'
[2022-01-29 18:28:27][INFO] : Shutdown
[2022-01-29 18:28:27][INFO] : Removing PID file /tmp/jeedom/zigbee/deamon_1.pid
[2022-01-29 18:28:27][INFO] : Exit 0

Si jamais cela dit quelquechose à quelqu’un?

Ensuite elle apparait puis disparait quand on fait un ls sur les tty
En la pluggant sur un Deconz sous Windows elle est détectée puis déconnectée:

18:41:32:242 COM: \\.\COM5 : P�riph�rique s�rie USB (0x1CF1/0x0030)

18:41:32:243 GW firmware update select USB device

18:41:32:258 wait reconnect 6 seconds

18:41:32:264 GW update firmware not found: deCONZ_ConBeeII_0x26660700.bin.GCF

18:41:33:047 failed to reconnect to network try=8

18:41:33:258 wait reconnect 5 seconds

18:41:34:261 wait reconnect 4 seconds

18:41:35:264 wait reconnect 3 seconds

18:41:36:013 Daylight now: dusk, status: 210, daylight: 0, dark: 1

18:41:36:260 wait reconnect 2 seconds

18:41:37:257 wait reconnect 1 seconds

18:41:38:041 failed to reconnect to network try=9

Pour m’en sortir j’ai reflashé la clef sous Windows en ligne de commande:

C:\Users\cedri\AppData\Local\deCONZ\bin>GCFFlasher -d COM5 -t 60 -f ../firmware/deCONZ_ConBeeII_0x26720700.bin.GCF
GCFFlasher V3_17 (c) dresden elektronik ingenieurtechnik gmbh
Reboot device COM5 (ConBee II)
R21B18 Bootloader
Vers: 2.07
build: Jun 17 2019
flashing 164227 bytes: |==============================|
verify: .
SUCCESS
Wait 10 seconds until application starts

Oui, de passer par windows est une bonne idée.
Du coup ça remarche ?

1 « J'aime »

Yes!!
Je me suis fait une frayeur avec cette mise à jour de firmware, mais in fine, en repassant par Windows, cela a fonctionné.
Ce sera le bémol de ce mode de fonctionnement.
J’ai réussi à appairer déjà une demi-douzaine de devices qui n’attendaient que cela…
Pas encore vu de perturbation entre les 2 réseaux Zigbee (il faut dire que j’en ai déjà 3 autres de plus avec celui de la Gateway Tradfri, ma passerelle Tuya/Zigbee et mon Contacteur connecté DRIVIA with Netatmo) et les 2 plug-ins.
La visualisation du réseau Zigbee dans l’interface du plug-in est sympa.
Et en plus, la bonne surprise, c’est que j’avais déjà dû acheter le plug-in Zigbee il y a quelques temps, je ne m’en souvenais plus… :wink:

PI, suite à un redémarrage du Rpi4, le port tty des 2 clefs Conbee2 a été inversé, j’ai dû le modifier dans la conf du plug-in zigbee pour que tout rentre dans l’ordre.
Vigilance donc…

Bonjour.

Pour ma part je déconseille d’installer deux coordinateurs identiques sur la même machine car effectivement la reconnaissance des ports au redémarrage peut être aléatoire.

Merci @Yves19 là c’est un argument probant.
En conclusion, techniquement cela fonctionne et donc est possible, mais on prend des risques au niveau de la robustesse de cette solution à chaque redémarrage du système donc pas conseillé.
Pour ma part, maintenant que je suis engagé, n’ayant pas trop le choix, je vais continuer de creuser… :wink:
Pour aller plus loin dans la bidouille tant qu’on y est, quelqu’un sait-il si au niveau du BIOS du Raspberry PI on peut fixer/forcer les ports tty? Ou c’est au niveau système (Raspian) que cela est géré?

Bonjour @BeauFort9476,
Un retour sur ta solution après quelques semaines ?
Je me pose sensiblement la même question, à savoir faire cohabiter un plugin deCONZ avec ConBee II et un plugin Zigbee avec Popp ZB Stick sur un même Jeedom.
Je suis satisfait du plugin deCONZ mais je souhaite ajouter des modules qui ne sont pas gérés par ce plugin. Pour autant, je crains un peu le temps à passer sur la migration et surtout la récupération de l’historique des capteurs. Cette solution me permettrait de migrer en douceur mes équipements voir de les répartir sur chaque plugin/clé ce qui peut être intéressant du point de vue « robustesse » du système.

1 « J'aime »