[Tuto] jMQTT + Mosquitto + ZWave-JS-UI (anciennement ZWaveJS2MQTT)

Je viens d’essayer (sans trop insister) le passage via ‹ sudo snap install zwave-js-ui ›, cela passe mais ne redémarre pas, il manque apparemment un paquet de json, qq sait il ‹ d’ou › et ‹ vers ou › il faut les copier et comment les modifier (la doc est assez flou la dessus)

Edit1 : je suis sous ‹ zwavejs2mqtt › actuellement

Je suis passé via docker pour le coup
et le changement c’est bien passé sans soucis

1 « J'aime »

Pas de pot, je suis encore avec snap sur une vm esxi

1 « J'aime »

Salut,

Je n’ai pas encore essayé la migration parce que c’était sur une branche edge de snap la semaine dernière.

Je voulais attendre la stable mais bon j’essaie demain pour voir si j’arrive à avancer.

1 « J'aime »

Perso, j’ai fait la mise à jour de mon docker et je suis passé de la version 7.x à 8.1.x

Antoine

Salut,

Bon alors voila ce que j’ai fais pour la mise à jour via snap (qui n’est pas vraiment une mise à jour puisque snap install une nouvelle arborescence).

  1. Faire un backup ou un snapshot de sa VM

  2. Backup du store :

  • Aller dans l’interface zwavejs2mqtt puis Store, cocher « store » puis en bas « Download selected »
  1. Installation de zwave-js-ui
  • Connection en SSH sur la VM qui héberge zwavejs2mqtt puis
sudo snap install zwave-js-ui

sudo snap connect  zwave-js-ui:raw-usb
sudo snap connect  zwave-js-ui:hardware-observe

sudo snap stop --disable  zwavejs2mqtt
sudo snap start --enable  zwave-js-ui

sudo snap set zwave-js-ui server.host=0.0.0.0
sudo snap set zwave-js-ui server.ssl=true

Dans le détail :

  • installation de zwave-js-ui qui est à présent en stable
  • Permissions d’accès sur le périphérique
  • Désactivation de zwavejs2mqtt et activation de zwave-js-ui
  • Autorisation de l’accès à l’interface et passage en ssl
  1. Accéder à l’interface de zwave-js-ui avec la même IP et le même port que zwavejs2mqtt
    Ouvrir le store puis roue crantée et restore
    image

Note : il n’y a pas besoin de restaurer autant de fichiers puisque seul settings.json et nodes.json sont important mais bon comme ça on conserve ses logs etc …

  1. Modifier le chemin « Config priority directory » le menu Settings puis Z-Wave : /var/snap/zwave-js-ui/current/config puis « Save » en bas

Vous devriez voir dans le control Panel que les modules sont bien là et un « Scan completed » ou « Driver ready » (le Scan completed arrivant bientôt).

EDIT du 22/10/2022 car zwave-js-ui est à présent sur la branche stable de snap et plus sur la branche edge

1 « J'aime »

Salut

Je viens de perdre 2h suite à la mise à jour de zwave-js-ui vers la version 8.2.0. Je suis redescendu vers la 8.1.0 et c’était à nouveau fonctionnel. Puis j’ai trouvé la solution:

En espérant que cela évitera à d’autres de galérer. L’avantage, je comprends mieux comment changer de version maintenant.

Tcho

Antoine

1 « J'aime »

Salut,

Merci pour l’info. Tu confirmes être sur Rpi ? Car apparemment le souci est identifié sur cette plateforme uniquement.

Oui un pi 3+

Antoine

Hello,
Même soucis sous un docker sur un pi4…
Plus de gestion du chauffage :man_facepalming::man_facepalming:
Heureusement j’ai pas tout les œufs dans le même panier !

J’ai remonté un container sur un docker sur une machine x86, et ça refonctionne…

J’avais pas trouvé l’erreur que @Tonio16 cite.

Hello,
Tu veux dire que le container Docker dont le host est avec une version debian buster est aussi impacté? Sans doute qu’il faut appliquer la solution sur l’host alors (installer la libseccomp2 sur l’host) Je croyais que grâce à Docker on était justement à l’abris de ce genre de déconvenue…
Je n’ai pas eu le problème car mon host est Debian 11 bullseye, et à priori le pb n’est que sur debian 10 buster.

Hello,

c’est ce que je pensais aussi

:thinking: :thinking: :thinking: par contre ce que je ne comprends pas, et tu viens de mettre la puce à l’oreille …

mon pi4 qui était ma chaîne complète mqtt, zigbee, zwave
→ HypriotOS 5.10.63-v7l+ (2021-10-06)

mon docker où j’ai redéployer mon container en mode « secours - rapide » avant que le waf ne s’en aperçoive… :sweat_smile: et que je me prenne un taquet !
→ Debian 5.10.106-1 (2022-03-17) (heu je viens faire un apt update et je suis en 11)

EDIT: pour bien faire, il faudrait que je repasse ma clé sur mon pi et reteste mais bof bof

Sous docker j’ai eu aucun soucis depuis la mise à jour !
Je suis sur VM debian 11 sous proxmox avec mon docker dessus

Le seul truc c’est que j’ai zwavejsUI et zigbee2mqtt et j’ai au redémarrage de la VM par exemple des conflits de port ttyACM0 et ttyACM1
Ces deux port changes parfois un coup pour le zigbee un coup pour le zwave c’est chiant ça d’autant plus que je ne sais pas fixer les ports directement sur debian

Au lieu d’utiliser /dev/ttyACM*, utilise les liens symboliques présents dans /dev/serial/by-id/ :

/dev/serial/by-id/usb-0658_0200-if00 -> ../../ttyACM0
/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018E20DB0-if00 -> ../../ttyACM1

Ou alors crée des udev rules, par exemple chez moi dans /etc/udev/rules.d/99-usb-devs.rules :

SUBSYSTEM=="tty",ATTRS{idVendor}=="0451",ATTRS{idProduct}=="16a8",GROUP="dialout",SYMLINK+="ttyZigbee"
SUBSYSTEM=="tty",ATTRS{idVendor}=="0658",ATTRS{idProduct}=="0200",GROUP="dialout",SYMLINK+="ttyZwave"

Et du coup j’ai ces 2 devices en plus dans /dev :

/dev/ttyZigbee -> ttyACM1
/dev/ttyZwave -> ttyACM0

Pour récupérer les idVendor et idProduct, tu peux faire un lsusb sur ton host docker :

bad@docker:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 006: ID 0451:16a8 Texas Instruments, Inc.
Bus 001 Device 004: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 003: ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB
Bus 001 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bad

3 « J'aime »

Alors au niveau de mon docker compose je suis bien avec ce type de déclaration

/dev/serial/by-id/usb-0658_0200-if00 -> ../../ttyACM0
/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018E20DB0-if00 -> ../../ttyACM1

mais je vais tester ceci au niveau de debian sur ma VM

J’ai oublié de faire un retour à @Bad
Cela semble bien fonctionner avec ces règles en tout cas j’ai pas relevé de soucis de démarrage mais d’un autre côté je ne redémarre pas tout les jours non plus :crazy_face:
Merci du coup de pouce
Je pense que ceci est faire de manière systématique quand on a les deux protocoles sur la même machine

1 « J'aime »

Bonjour à tous
J’ai un doute du coup. Parle t-on bien du plugin Jeedom ZwaveJS dispo en beta ? ou d’un autre plugin ?
Je m’aprettais à essayer de connecter ma clé dessus mais je ne retrouve aucune info dans les paramètres du plugin pour avoir accès à l’interface web Zwave-JS-UI…
Je suis du coup confu
Voici à quoi resemble l’interface ZWAVE-JS-UI dans HA qui est dispo sur une page web en fait. De la même façon que zigbee2mqtt.

Merci à vous

1 « J'aime »

Regarde la date des premiers posts et comprendras que ce n’est pas le plugin beta de jeedom.

Antoine

Oui en creusant je me rends compte que le projet global ZWAVE-JS-UI utilise plusieurs librairies dont ZWAVE-JS pour la partir pure zwave. Le plugin jeedom ne doit intégrer que celle ci. L’intégration de l’envoi vers MQTT est du pur jeedom à partir du plugin MQTT manager.
Du coup la plus simple pour migrer sur Jeedom de openzwave vers Zwave-js-ui ?
Je remonte ma clé dans zwave-js-ui ? Je synchroinise. Ensuite Avec quel plugin mqtt jeedom on peut récupérer tous les équipements ? est ce automatique ?

Tu peux reformuler, j’ai pas suivi ce que tu voulais.

Antoine

La solution la plus simple pour récupérer ses devices sous jeedom est du coup de suivre ce tuto je suppose ?