Bonjour à tous, c’est akenad ,
Aujourd’hui un petit retour d’expérience sur l’utilisation d’une Atlas avec des plugins zwave et zigbee officiels de Jeedom.
Ce sont les plugins Z-Wave JS (zwavejs) et JeeZigbee (z2m), qui nécessitent au préalable l’installation du plugin MQTT Manager (mqtt2).
Le choix ici a été de faire une installation la plus simple possible, à savoir de configurer mqtt2 pour installer le Broker MQTT Mosquitto sur l’Atlas (= mode local).
L’objectif ici n’est pas de décrire l’installation en détails (d’autre sujets le font déjà), mais juste de dire que ça fonctionne dans le contexte choisi :
Jeedom 4.3.23 ou 4.4.2
-ATLAS (passage en Bullseye par recovery, NodeJS 18)(l’Atlas est basée sur un RockPi4B+)
-(fonctionne aussi avec un Rock PI4B+ (en Armbian 11 Bullseye, NodeJS 18))
Après l’installation des 3 plugins :
(Aller dans Réglages > Système > Configuration > OS/DB > rétablissement des droits des dossiers et fichiers > Vérifier)
Plugins :
-MQTT Manager (mqtt2) 2024-03-26
-Z-Wave JS (zwavejs) 2024-02-27 (dépendances 26/12/2023 zwave-js-ui@9.6.2)
-JeeZigbee (z2m) 2024-03-27 (dépendances 01/04/2024 zigbee2mqtt@1.36.1)
/!\ ATTENTION : nécessite nodejs 18 depuis au moins zwave-js-ui@9.5.1 et Zigbee2mqtt@1.35.0.
Pour mettre à jour NodeJS :
-
à partir de Jeedom 4.3.21, faire :
Réglages > Système > Configuration > OS/DB > Vérification générale > Vérifier -
sinon, à partir de Jeedom 4.3, aller dans :
Réglages > Système > Configuration > OS/DB > Administration Système > Ouvrir
Taper commande :
sudo /var/www/html/resources/install_nodejs.sh
Clés USB (branchées sur les ports USB2 (ports noir à droite), avec des rallonges USB2) :
-zwave :
-Aeotec Z-Stick Gen7 (ZWA010-C)(SiliconLabs, firmware d’origine FW/SDK v7.11.0, mis a jour en v7.17.2)
-ou bien Aeotec Z-Stick Gen5 (ZW090-C (EU Frequency) V3) acheté en 2018 (AeonLabs, firmware d’origine : FW v1.1/SDK v6.51.10, mis a jour en firmware FW v1.2/SDK v6.81.6)
Nota : Pour voir la version firmware et SDK du contrôleur zwave,
dans Plugin zwavejs > Mes équipements Z-Wave
cliquer l’icone du controleur zwave
Cliquer le bouton « Noeud » puis onglet « Résumé »
-zigbee :
-Sonoff Zigbee 3.0 USB Dongle plus V2 (ZBDongle-E) (chip Silabs EFR32MG21)(coordinateur NCP EZSP) firmware d’origine : 6.10.3-297 (EZSP v8), mis à jour en 7.3.1-176 (EZSP v12) (avec https://darkxst.github.io/silabs-firmware-builder/
).
-ou bien Sonoff Zigbee 3.0 USB Dongle plus (ZBDongle-P) (chip TI CC2652P)(ZNP coordinateur zStack3) firmware d’origine v20210708, mis à jour en v20221226 (avec TI SmartRF Flash Programmer 2).
-ou bien Elelabs/Popp (chip Silabs EFR32MG13P)(coordinateur NCP EZSP v8) firmware d’origine : 6.7.0-149, mis à jour en 6.10.3-297 (avec Jeezigbee).
-ou bien ConBee3 (chip SiLabs EFR32MG21)(type de contrôleur Conbee 3) firmware d’origine version : 0x26450900.
Nota : Pour voir la version du firmware du coordinator (aka contrôleur, aka clé USB Zigbee),
dans Plugin JeeZigbee > Réseaux Zigbee > Informations brutes
(pour rechercher dans la page, presser touches CTRL et F, saisir « revision »)
Prises :
-zwave : Aeotec ZW175 - Smart Switch 7 (firmware v1.2)
-zigbee : Aqara SP-EUC01; Philips Hue smart plug bluetooth
Dans la configuration du plugin,
-avant Jeedom 4.3.20, le port du contrôleur se sélectionne sous la forme /dev/ttyXXXX
-à partir de Jeedom 4.3.20 le port du contrôleur se sélectionne sous la forme /dev/serial/by-id/XXXX
Pour voir sur quel port /dev/tty sont les clés USB :
Réglages > Système > Configuration > OS/DB > Administration Système
Taper commande :
ls -l /dev/serial/by-id
- usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_98f532ad3394eb11bc8f3a703d98b6d1-if00-port0 → …/…/ttyUSB0
- usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0 → …/…/ttyUSB1
- usb-0658_0200-if00 → …/…/ttyACM0
- usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20220712161403-if00 → …/…/ttyACM1
- usb-1a86_USB2.0-Serial-if00-port0 → …/…/ttyUSB2
- usb-dresden_elektronik_ConBee_III_DE03110781-if00-port0 → …/…/ttyUSB3
Avant Jeedom 4.3.20 :
=> Port du contrôleur zwave (Z-Stick Gen7) : /dev/ttyUSB0
=> Port du contrôleur zwave (Z-Stick Gen5) : /dev/ttyACM0
=> Port du contrôleur zigbee (ZBDongle-P) : /dev/ttyUSB1
=> Port du contrôleur zigbee (ZBDongle-E) : /dev/ttyACM1
=> Port du contrôleur zigbee (Elelabs/Popp) : /dev/ttyUSB2
=> Port du contrôleur zigbee (ConBee3) : /dev/ttyUSB3
A partir de Jeedom 4.3.20 :
Port du contrôleur Z-Wave :
- correspondant au Z-Stick Gen7 : /dev/serial/by-id/usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_98f532ad3394eb11bc8f3a703d98b6d1-if00-port0
- correspondant au Z-Stick Gen5 : /dev/serial/by-id/usb-0658_0200-if00
Port du contrôleur Zigbee :
- correspondant au ZBDongle-E : /dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20220712161403-if00
- correspondant au ZBDongle-P : /dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0
- correspondant à Elelabs/Popp : /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
- correspondant à ConBee3 : /dev/serial/by-id/usb-dresden_elektronik_ConBee_III_DE03110781-if00-port0
Configuration de mqtt2 :
Nota :
- Mode Broker local, installer Broker Mosquitto sur l’Atlas
- mqtt2 a généré automatiquement un username:password d’accès à Mosquitto. (Authentification : jeedom:xxxxxx).
- Plugins abonnés : Topic (plugin-id)
Z-Wave JS → zwave (zwavejs) ; Préfixe MQTT : zwave
JeeZigbee → zigbee2mqtt (z2m) ; Topic racine : zigbee2mqtt
autrement dit, zwavejs et z2m sont abonnées à mqtt2 sur les topics zwave et zigbe2mqtt.
La configuration de Mosquitto est dans /plugins/mqtt2/data/mosquitto.conf
Le mot de passe est chiffré dans /plugins/mqtt2/data/passwords
Configuration de zwavejs :
Nota : le port du contrôleur sélectionné est celui vu plus haut.
l’IHM Web de la passerelle Z-Wave-JS-UI est accessible par défaut sur le port TCP 8091 :
http://ipjeedom:8091
Username/Password (défaut) : admin/zwave
ou via le bouton "Interface ZwaveJs UI ici :
Configuration de z2m :
Nota :
- Mode local pour utiliser Mosquitto sur l’Atlas
- le type de contrôleur sélectionné ce n’est pas parce que c’est une Atlas mais parce que la clé zigbee est de type EZSP.
- interface z2m Ici : en cliquant sur « Ici » : Zigbee2MQTT est accessible :
http://ipjeedom:8080
« z2m admin token » = Identifiant dans la configuration du plugin JeeZigbee.
(version firmware contrôleur : Paramètres > A Propos > Révision du coordinateur) - La configuration de zigbee2mqtt se trouve dans : /var/www/html/plugins/z2m/data/configuration.yaml (remarque : conbee3 => baudrate: 115200)
Mode inclusion zwave validé avec une prise zwave Aeotec.
Mode inclusion zigbee validé avec une prise zigbee Aqara et Philips.
backup/restore (NVM) d’un contrôleur zwave vers un autre :
L’intérêt est de ne pas avoir à refaire les inclusions des équipements.
Aller dans l’IHM Web de la passerelle Z-Wave-JS-UI, cliquer sur le rond bleu en bas à droite, puis cliquer le rond mauve pour accéder à « Advanced Actions » :
Il est possible de sauvegarder/restaurer NVM d’un contrôleur zwave à un autre si le SDK des 2 contrôleurs est supérieur à v6.61.
(si les formats des fichiers .bin de sauvegarde/restauration sont différents, Z-Wave JS UI NVM opère automatiquement une conversion)
Ainsi, pour les contrôleurs zwave suivants :
- Razberry2 (Gen5, ship ZM5101 2018-2021)(FW v5.37/SDK v6.81.1)
- Z-Stick Gen5 (firmware d’origine FW v1.1/SDK v6.51.10)
- Z-Stick Gen5 (mis à jour en FW v1.2/SDK v6.81.6)
- Z-Stick Gen7 (FW v7.17.2/SDK SDK v7.17.2)
Il est possible de sauvegarder un :
- Razberry2 et le restaurer sur un Z-Stick Gen5 (SDK v6.81.6)
- Razberry2 et le restaurer sur un Z-Stick Gen7
- Z-Stick Gen5 (SDK v6.81.6) et le restaurer sur un Z-Stick Gen7
Le port du contrôleur zwave, carte GPIO interne (tel que Razberry2 ou Sigma Designs HUSBZB, est :
- sur une Smart, « Odroid C2 (/dev/ttyS1) »
- sur une Atlas, « Jeedom Atlas (/dev/ttyS2) »
- sur RPi3/RPi4, /dev/ttyAMA0
Mise à jour firmware :
Pour la mise à jour du Z-Stick Gen5, voir ici : Z-Stick Gen5+ V1.02 firmware update : Aeotec Help Desk
et si nécessaire, rétrograder la version du firmware Z-Stick Gen5 en V1.01 :
le firmware V1.01 n’est plus disponible chez Aeotec, il est disponible chez openhab ici :
Z_Stick_G5_EU_V1_01_DFU.pdf : https://community.openhab.org/uploads/short-url/Ad5BdFZUw0oE5iO2t19f6QmLJrU.pdf
(puis renommer le .pdf en .zip)
la doc pour flasher le firmware V1.01 est ici :
Z-Stick Gen5 V1.01 firmware update. _ Aeotec Group.pdf : https://community.openhab.org/uploads/short-url/suds1K7pNeysUiPxC3TO6BaRZzC.pdf
Pour la mise à jour du Z-Stick Gen7, voir ici : Update Z-Stick 7 with Z-WaveJS UI (V7.18.8 ->V7.20.2) : Aeotec Help Desk
(/!\ ATTENTION la suite, pour utilisateur averti)
et si nécessaire, rétrograder la version du firmware Z-Stick Gen7, voir ici : How to downgrade Z-Stick 7 with ZWaveJS UI : Aeotec Help Desk
En résumé :
-flasher un firmware Bootloader qui bascule la clé en mode Bootloader (/!\ATTENTION : en mode bootloader, la clé ne peut pas communiquer avec le réseau.)
-puis basculer Z-Wave-JS en mode Bootloader
-puis mettre à jour le firmware en v7.17.2
-puis désactiver le mode Bootloader de Z-Wave-JS
pour les différentes versions de Z-Stick Gen5, voir ici : Aeotec Z-Stick Gen5 V1.01 firmware update. (Z-Wave SDK version updated to V6.51.10 ) - #9 by Celaeno1 - Home Automation - openHAB Community
En résumé :
Selon toute vraisemblance la V3 existe depuis 2018 et la V4 depuis 2020.
V1 et V2 fonctionnent sur RPi4 via un Hub USB2 non alimenté.
Version de zwave-js-ui :
Il est possible d’installer la version zwave-js-ui que l’on souhaite.
Par exemple, avec le plugin zwavejs en version 2023-11-14, il a été possible de forcer la Version de zwave-js-ui de 8.26.0 à 9.1.2, et cela fonctionne aussi.
(vérifié pour le Rock PI4B+ (en Bullseye, NodeJS 18 et Z-Stick Gen5 (SDK v6.81.6))).
(Aller dans Réglages > Système > Editeur de fichiers)
Editer le fichier plugins/zwavejs/core/config/zwavejs.config.ini
remplacer
wantedVersion=8.26.0
par
wantedVersion=9.1.2
relancer les dépendances, quand statut OK, relancer le démon.
Compatibilité des contrôleurs et des équipements :
- contrôleurs zigbee : Supported Adapters | Zigbee2MQTT
- équipements zigbee : | Zigbee2MQTT
- équipements zwave : https://devices.zwave-js.io
Voir aussi :
- [RTEX] plugins basés sur MQTT
- [RTEX] migration d'une Smart ZWave avec plugin-openzwave vers une Atlas avec ZStick5 et plugin-zwavejs
Inclusion prise zigbee Philips :
Dans le plugin Jeezigbee, cliquer « Mode inclusion », puis bouton « Ok ».
S’affiche en bas à droite :
Sur la prise, maintenir enfoncé le bouton d’alimentation (côté de l’interrupteur) pendant environ 10 secondes, relâchez-le une fois qu’il clignote puis devient vert.
La page de l’équipement apparaît.
Voila j’espère que ce retour d’expérience sera utile aux membres Jeedom.
akenad