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.4.19
-ATLAS (passage en Bullseye par recovery, NodeJS 20.18)(l’Atlas est basée sur un RockPi4B+)
-(fonctionne aussi avec un Rock PI4B+ (en Armbian 11 Bullseye, NodeJS 20.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-11-26, mode broker local (par défaut)
-Z-Wave JS (zwavejs) 2024-11-16 (dépendances wave-js-ui@9.20.0)
-JeeZigbee (z2m) 2024-09-27 (dépendances zigbee2mqtt@1.42.0)
Nota : A partir de Zigbee2MQTT@1.37.0, il est possible pour les contrôleurs ZBDongle-E, SkyConnect et Elelabs-ELx0x3, de mettre à jour en firmware EmberZNet 7.4.x et de sélectionner le driver « ember » en remplacement de « ezsp ». Certains équipements peuvent nécessiter une réinclusion.
Plus de détails : 1.37.0 EZSP déprécié au profit de ember? - #2 par akenad
Pour mettre à jour NodeJS (de version 18. à 20. , à partir de Debian 11 et Jeedom4.4, mais en principe le core le fait tout seul) :
-
faire :
Réglages > Système > Configuration > OS/DB > Vérification générale > Vérifier -
ou manuellement, aller dans :
Réglages > Système > Configuration > OS/DB > Administration Système > Ouvrir
Taper commande :
sudo /var/www/html/resources/install_nodejs.sh
Pour mettre à jour NodeJS (de version X.y à X.z) : Depuis derniere MAJ zigbee2mqtt - #64 par akenad
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), puis 7.4.3.0 (EZSP v13) (baudrate 115200, avec https://darkxst.github.io/silabs-firmware-builder/
et https://github.com/darkxst/silabs-firmware-builder/tree/main/firmware_builds
).
Plus de détails : Temps de changer de clef : Sonoff E sous Ember ou P pour un reseau fiable? - #14 par akenad
-ou bien (Sky) Connect ZBT-1 (Nabu Casa Home Assistant) (chip Silabs EFR32MG21)(coordinateur NCP EZSP) firmware d’origine 7.1.1.0 build 273, mis à jour en 7.4.3.0 (EZSP v13) (baudrate 115200, avec https://skyconnect.home-assistant.io/firmware-update/
et https://github.com/darkxst/silabs-firmware-builder/tree/main/firmware_builds
)
-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 ELU013 (chip Silabs EFR32MG13P)(coordinateur NCP EZSP) firmware d’origine : 6.7.0-149, mis à jour en 6.10.3-297 (avec Jeezigbee), puis 7.4.3.0 avec https://github.com/NabuCasa/universal-silabs-flasher
et https://github.com/darkxst/silabs-firmware-builder/tree/main/firmware_builds
.
-ou bien Atlas (/dev/ttyS2) Elelabs ELR023 (chip Silabs EFR32MG13P)(coordinateur NCP EZSP) firmware d’origine : 6.10.0.0 build 169, mis à jour en 7.4.3.0 build 0 avec https://github.com/NabuCasa/universal-silabs-flasher
et https://github.com/darkxst/silabs-firmware-builder/tree/main/firmware_builds
.
Plus de détails : 1.37.0 EZSP déprécié au profit de ember? - #85 par akenad
(Pour Atlas et Elelabs (aka Silicon Labs, aka Silabs) voir la méthode officielle expérimentale ici : 1.37.0 EZSP déprécié au profit de ember? - #141 par akenad)
-ou bien ConBee3 (chip SiLabs EFR32MG21)(type de contrôleur Conbee 3) firmware d’origine version : 0x26450900.
-ou bien SMLIGHT SLZB-06M, en mode Ethernet POE. Mise à jour firmwares (Core et zigbee) via IHM web avec Edge (http://<adresseIP>
).
Mise à jour core firmware en v2.5.8.
Mise à jour zigbee firmware en v20240510 (= 7.4.1 Ember)
débrancher rebrancher le câble Ethernet POE après mise à jour des firmwares.
Port du contrôleur : Passerelle distante
Passerelle distante (IP:PORT) : <adresseIP>:6638
Type de contrôleur Ember
Baudrate : 115200
Nota : pour l’utilisation de universal-silabs-flasher, bien télécharger le firmware gbl en binaire (raw) et désactiver le démon jeezigbee.
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 »)
Pour valider le fonctionnement des contrôleurs et des plugins, j’utilise les prises suivantes :
-zwave : Aeotec ZW175 - Smart Switch 7 (firmware v1.2)
-zigbee : Aqara SP-EUC01; Philips Hue smart plug bluetooth; Nous A1Z TS011F
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-Nabu_Casa_SkyConnect_v1.0_1638af041892ed118e6bcbd13b20a988-if00-port0 → …/…/ttyUSB4
- 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
=> Port du contrôleur zigbee (SkyConnect) : /dev/ttyUSB4
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 SkyConnect : /dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_1638af041892ed118e6bcbd13b20a988-if00-port0
- 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
- Type de contrôleur : Ember (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 : pour 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 en firmware V1.02 (SDK 6.81.6), 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 (SDK 6.51.10) :
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.21.5) : 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