Cherche explication basique ZwaveJS2MQTT

Bonjour,

J’ai une installation plutôt « classique » d’un réseau Zwave sur Jeedom, avec une box DIY Rpi 4 et clef Aeotec Gen 5.

Je ne suis pas très satisfait du plugin officiel (globalement ça tourne bien mais ceux ou celles qui l’utilisent se reconnaîtront, je ne veux pas lancer le débat…) et je sais que certain(e)s ont tenté l’aventure via ZwaveJS2MQTT

J’ai suivi un peu le topic suivant :fire: mais je me suis vite trouvé largué :grin:

Aussi, j’aimerai une explication assez basique sur la différence de logique / pratique entre:

  1. Baser son réseau Zwave sur plugin officiel
  2. Déployer l’arsenal ZwaveJS2MQTT

Je n’y connais rien en MQTT (cela a l’air d’être encore une science à part entière…), je sais qu’on peut faire communiquer des device mais j’ai le sentiment que c’est peut-être une surcouche qui alourdit le système (surtout en gestion / exploitation et en cas de plantage).

Avant de creuser, et éventuellement de me lancer (sans trop d’infos sur une MAJ du plugin Zwave officiel), j’aimerai qu’on m’explique un peu les bases et différences de cette « 2eme école » :wink:

Merci à tou(te)s pour vos inputs

2 « J'aime »

Salut,

Mince c’est que c’est pas assez bien fait :frowning:

Je ne peux que remettre dans un premier temps ce que j’avais indiqué pour vulgarisé mais je vais essayer de compléter avec ce que tu n’as pas compris.

Mosquitto est un serveur MQTT (Message Queuing Telemetry Transport). Le MQTT est un protocole qui fonctionne sur un principe de souscription et de publication.
jMQTT est connecté à Mosquitto afin de recevoir les messages souscrits et publier ses propres messages.
ZWaveJS2MQTT interagi lui avec les équipements Zwave pour recevoir et envoyer les messages des équipements.

Il faut donc voir les communications sur ce principe, Mosquitto étant au centre du dispatching des messages:
Jeedom (jMQTT) <> Mosquitto <> ZWaveJS2MQTT <> Equipements ZWave

Donc basiquement la différence est que :

  • le plugin Zwave communique directement avec le contrôleur Zwave pour envoyer/recevoir les informations aux modules
  • le Plugin jMQTT envoi et reçoit les informations à un Broker qui les dispatch vers ZWaveJS2MQTT est c’est lui qui communique avec les modules

L’avantage du MQTT c’est qu’il est du coup possible d’envoyer et recevoir des informations au Broker depuis plusieurs appareils. On l’utilise depuis Jeedom et le plugin jMQTT mais tu pourrais très bien recevoir directement l’info depuis le Broker sur un autre appareil dès lors qu’il a souscrit aux topics que tu souhaites.

Dans le tuto je n’ai pas abordé cette partie car il était juste question de se passer du plugin Zwave.
J’avais trop de problèmes avec le plugin Zwave. Et pour le coup autant MQTT peut sembler une surcouche autant ça fonctionne bien mieux. Peut-être que plus tard le nouveau plugin officiel Zwave sera très performant mais pour l’heure c’est en changement mon fusil d’épaule que j’ai retrouvé le sourire :slight_smile:

Est-ce plus clair ?

3 « J'aime »

Non ton tuto est parfait et si je devais me lancer j’y parviendrai sans doute en le suivant à la lettre…

J’ai posé la question car j’essaye de faire la part des choses en amont pour cerner les contours de la solution, avant de prendre une décision.

C’est effectivement ton explication plus détaillée ici qui me permet d’y voir plus clair, merci pour ton temps !

A-t-on une roadmap ?

Je ne trouve que très peu d’infos et pas mal de gens pessimistes sur le forum pour une éventuelle MAJ.

Cela m’étonne, Zwave est un protocole stable tout de même et très fiable, cela me surprendrait qu’il soit délaissé… Beaucoup de gens l’utilisent.

OK content d’avoir trouver des mots plus clairs pour expliquer, je le reporterais d’une façon dans le tuto puisque je n’avais pas la prétention qu’il soit parfait mais juste de poser une base et de faire évoluer en fonction des retours.

Un retour « j’ai pas trop compris » c’est un retour :smile:

Si tu envisages et veux préparer une migration je te conseil alors d’utiliser au maximum des virtuels.

Une fois passé sur l’utilisation de MQTT il suffira de changer les commandes des virtuels pour utiliser celles des équipements jMQTT à la place des commandes des équipements Zwave.

C’est pour moi le plus rassurant car il devient plus simple de revenir en arrière si ça ne nous plait pas en remettant les commandes Zwave.

1 « J'aime »

Cela revient-il à rendre possible la lecture d’infos de capteurs Zwave sur 2 Jeedom en temps réel, jusque la impensable en config classique ? (Une box avec dongle USB Zwave + broker & l’autre qui communique avec le broker ?)

Une roadmap oui elle a été publiée pas Jeedom mais il n’y a jamais de date de sortie donc quand on pose la question on ne sais jamais

Oui ça doit fonctionner :
Les 2 Jeedom avec jMQTT souscrivent aux topics et le Broker orchestre les ordres en envoyant aux appareils (les 2 JMQTT) qui ont souscrit aux topics

Bonsoir @alexcrp
Pour en remettre une couche
2 3 4 jeedom peuvent souscrire aux même topic d’un broker
mais aussi d’autres plateformes domotique concurrentes sans perturbé le 1er …

Jeedom1 (jMQTT) <> Mosquitto <> ZWaveJS2MQTT <> Equipements ZWave
Jeedom2 (jMQTT) <>           <> Zigbee2MQTT  <> Equipements Zigbee
HA      ( MQTT) <>           <> xxxxxx2MQTT  <> Equipements xxx
1 « J'aime »

Je trouve cela intéressant au niveau d’une potentielle redondance hardware en cas de panne:

Si le Jeedom 1 plante, le Jeedom 2 prend la suite sans devoir tout réparametrer, juste en dialoguant avec le broker…

Mais ça ne marche que si le broker est installé sur une machine indépendante, et ça a sa limite: le broker lui aussi peut planter…

C’était une sorte de quête ultime / défi au début de mon intérêt pour Jeedom, trouver un moyen de faire de la redondance « automatique », et en fait… j’ai vite arrêté :grin:
Quand j’ai compris que tout passait par le contrôleur USB du protocole choisi.

1 « J'aime »

c’est plus sécure mais pas obligatoire

pas simple même les grands arrivent a planter (OVH)

Pas vraiment : la clé, le contrôleur, est toujours installé a un seul endroit et il ne peut y en avoir qu’un.

Donc en fait cette solution est en théorie plus fragile puisque simplement il y a un élément en plus dans la chaine: le broker mqtt

1 « J'aime »

J’aurais cité Facebook pour être plus dans l’actualité :sweat_smile:

3 « J'aime »