Suite à un premier post ici,, j’ai fini par comprendre d’où venait le souci : j’avais deux instances jeedom qui utilisaient le meme broker mosquitto sur le lan et il y avait conflit sur le topic zwave.
En effet j’avais mal interprété le paramétrage de mqtt, je pensais que le « topic racine » chapeautait tous les topics mqtt de l’instance jeedom (donc avec « jeedom1 » comme topic racine d’une instance et « jeedom2 » comme topic racine de l’autre instance, je pensais pouvoir mettre « zwave » comme préfixe mqtt, mais je me suis aperçu avec mqtt Explorer que tous les éléments zwave transmis via mqtt de mes deux instances allaient dans un meme topic « zwave » directement à la racine du broker. Je pensais naïvement que j’aurais un « jeedom1/zwave » et un « jeedom2/zwave ».
J’ai donc tenté de configurer zwavejs avec un prefix mqtt directement (« jeedom1/zwave » et « jeedom2/zwave ») et après m’être assuré dans le plugin mqtt de chaque instance que zwavejs est bien abonné correctement, et bien zwavejs ne fonctionne pas correctement. En effet, cf post en lien, un autre membre de la communauté m’avait recommandé de laisser le préfixe par défaut. Ce qui contournait le problème rencontré sans le résoudre.
Concrètement, est-ce que quelqu’un a déjà réussi à faire fonctionner deux instances jeedom sur un broker mqtt distant (hébergé par un nas ou autre device sur le LAN) ? Je suis intéressé pour connaitre la configuration, puisqu’il y a peut-être quelque chose que je ne fais pas correctement ?
Tu peux sans problème utiliser la même instance MQTT, du moment que les topics ne rentrent pas en collision si tu veux utiliser 2 instances Jeedom indépendantes. Tu as 2 contrôleurs Zwave ? Si oui, alors tes topics racine zwave/ doivent être redéfinis au niveau de zwavejs2mqttt ET de Jeedom, ça ne devrait pas poser de problème ensuite.
je suis preneur d’un feedback si quelqu’un se sent de modifier le prefixe mqtt, juste pour tester , relancer le demon et voir si ca tourne correctement, sans erreur.
Parce que ça nécessite très peu d’actions utilisateurs pour un profil dev à tester (le champ préfixe mqtt à changer + redémarrer le démon) contre… beaucoup plus à les faire et rapporter ici mes observations sans garantie que je donne les bonnes billes car je ne vais pas forcément savoir où chercher. Enfin bref je vais tenter.
Pour commencer je suis à jour sous jeedom 4.4 sur un rpi 5 (même bug sous le rpi 3).
Avec le rpi5, voici ce que j’ai :
A noter : j’ai également personnalisé le topic racine sur le plugin z2m, aucun souci de cette nature, tout fonctionne avec la prise zigbee que j’utilise pour mon test. Il me semble donc que le problème soit localisé au plugin zwavejs.
Et pour info, même si ça parait évident, je l’indique tout de même pour être le plus exhaustif possible : en remettant le préfixe zwave à sa valeur par défaut « zwave », je redémarre le démon et hop, tout remarche nickel, plus de message comme quoi le driver n’est pas initialisé, les infos des noeuds zwave remontent bien. C’est à se demander s’il n’y a pas en dur dans le code quelque part le chemin « zwave » attendu avec mqtt. Serait-ce inenvisageable qu’il s’agisse d’un bug ?
Je commence par te remercier pour ton test, c’est sympa de ta part, j’apprécie
D’accord, donc ça fonctionne sans problème… avec une contrainte non documentée toutefois. Je vérifie ce soir ou demain ; ça vaudrait le coup de pousser à la team jeedom de spécifier les limites du préfixe.
C’est plutôt une contrainte zwavejs-ui à mon avis
Et pour moi c’est implicite lorsque le champ s’appelle « préfixe », c’est pas un chemin.
En français c’est pareil je pense: un mot peut avoir un préfixe… personne ne comprend qu’il peut en mettre deux
On est d’accord pour un mot en français, mais rien a voir ici
Pour Mqtt on l’interprète différemment c’est manifeste. Dans l’idée vu que Mqtt repose sur la notion de topic hiérarchisé, rien ne semble contraindre un prefixe à un trunk de chemin. Perso j’aurais aimé avoir justement les topics zwave et zigbee hierarchisés sous le « préfixe » correspondant à l’instance jeedom, ce que ne permet manifestement pas jeedom. Pas grave, je ferai avec cette limite maintenant que je la connais, merci de me l’avoir fait découvrir