J’héberge Jeedom ainsi que les différents services sur mon NAS Synology sur des container dockers.
Anciennement sur le plugin Zwave classique, j’essaie de migrer sur ZwaveJS avec le protocole MQTT.
J’ai monté un container docker Mosquitto et créé l’utilisateur « jeedom » avec lequel j’arrive à me connecter avec un client de type MQTT Explorer.
Salut
Une raison pour ne pas utiliser le plugin zwavejs officiel?
Sinon, je passerais plutôt par jmqtt, qui peut utiliser le mosquitto de mqtt2, à la place de mqtt2, qui n’est pas super adapté ici, à mon avis. Mqtt2 est plutôt une passerellle pour les plugins officiels à base de mqtt, et pas un client mqtt generaliste.
Antoine
PS: mais je suis pas sur d’avoir bien compris ce que tu voulais faire comme installation zwavejs.
Avant j’utilisais Abeille pour le protocole Zigbee et Zwave (module historique) mais standard pour le Zwave.
J’ai vu que le plugin Zwave historique est déprécié et qu’on nous encourage à passer sur ZwaveJS ce que j’essaie de faire. Mais il s’appuie lui-même sur le plugin MQTT Manager que je n’arrive pas à faire fonctionner en local. J’ai donc tenté de construire un broker Mosquitto dockerisé sur mon NAS et de brancher le plugin dessus. Pas mieux. Je suis un peu dépassé.
Par ailleurs en parallele je vais tenter de passer pour le zigbee sur le plugin standard Jeezigbee et pareil…MQTT…
Il y a quelques posts dans lequel j’explique que l’étiquette d’un plugin c’est son id et que l’id d’un plugin est visible dans la page de config entre parenthèse (en haut à gauche) => plugin-mqtt2
Revenons au problème: tu veux garder mosquitto en docker et t’y connecter à distance (ce qui est possible mais là je ne vois pas l’erreur perso, il faudra plus de logs et d’info) ou l’installer en local?
Je n’ai pas de religion sur la méthode.
Tu as raison je vais repartir du début, j’ai tout d’abord tenté le plus simple avec l’option broker local du plugin et l’installation par le bouton d’install Mosquitto.
Le daemon ne démarre pas.
Un netstat me confirme que le port 8883 n’est pas utilisé.
[2023-09-12 16:56:07][INFO] : Start mqtt2d
[2023-09-12 16:56:07][INFO] : Log level on : debug
[2023-09-12 16:56:07][INFO] : Socket port : 55035
[2023-09-12 16:56:07][INFO] : MQTT : mqtts://127.0.0.1:8883
[2023-09-12 16:56:07][INFO] : Username : jeedom
[2023-09-12 16:56:07][INFO] : Password : XXXXXXX
[2023-09-12 16:56:07][INFO] : PID file : /tmp/jeedom/mqtt2/deamon.pid
[2023-09-12 16:56:07][INFO] : Apikey : XXXXXXXXX
[2023-09-12 16:56:07][INFO] : Callback : http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php
[2023-09-12 16:56:07][INFO] : Cycle : 0.3
[2023-09-12 16:56:07][INFO] : Client key : /var/www/html/plugins/mqtt2/data/ssl/client.key
[2023-09-12 16:56:07][INFO] : Client crt : /var/www/html/plugins/mqtt2/data/ssl/client.crt
[2023-09-12 16:56:07][INFO] : CA : /var/www/html/plugins/mqtt2/data/ssl/ca.crt
[2023-09-12 16:56:08][INFO] : Connect to mqtt server
Tue, 12 Sep 2023 16:56:08 GMT body-parser deprecated undefined extended: provide extended option at jeedom/jeedom.js:165:31
[2023-09-12 16:56:08][DEBUG] : HTTP listen on 127.0.0.1 port : 55035 started
[2023-09-12 16:56:08][ERROR] : Error on connection to mqtt server : Error: connect ECONNREFUSED 127.0.0.1:8883`
Hello
Pas de religion non plus ni de solution mais une piste :
Je suis aussi sur un NAS et je cherche toujours à délester mon container Jeedom.
J’ai donc un container mosquitto à part et d’autres zwave-js-ui, zigbee2mqtt,…
Une différence possible : les réseaux docker (ou container manager si DSM7.2).
Jeedom et mosquitto sont en macvlan avec leurs ip dédiées, tous les autres sont en bridge.
Bonjour,
Pour avoir la meme configuration mosquitto en docker sur synology et jeedom en docker aussi sur synology et aucun soucis ca marche parfaitement. A mon avis tu as un soucis de configuration quelques part ou d’accès depuis jeedom a ton conteneur mosquitto.
Merci pour ton retour je suis moi aussi en 7.2 avec container manager. A la base j’ai la même stratégie que toi, j’essaie de dédier un container à chaque service pour éviter trop de dépendances dans le même container et simplifier la maintenance et les montées de version.
A la différence de toi, mon Jeedom est dans un container de type bridge là où par contre j’ai construit Mosquitto dans un macvlan (et oui, j’ai appris docker sur le tas, et donc découvert Macvlan tardivement).
J’ai pour projet de déplacer mon jeedom sur mon réseau macvlan pour avoir une IP dédiée et un modèle plus homogène.
Je profite du coup de ton expérience:
Lorsque tu as déployé Mosquitto dans le container et créé l’utilisateur pour l’interconnection avec Jeedom, quelles autres actions as-tu effectué côté Mosquitto ?
J’ai une clé Conbee2 à installer en remplacement d’une vieille Zigate, que me conseilles-tu de containeriser ? J’ai construit un container Deconz sur mon macvlan, il fonctionne mais n’ai pas lié à Jeedom encore.
Même config que toi pour Mosquitto.
Je vais construire mes container zgbee2mqtt et zwave2mqtt et migrer mon jeedom sur le macvlan.
Pour la construction de mon nouveau container Jeedom, un import de la config depuis mon container actuel + les quelques fichiers spécifiques hébergés te semble suffisant ? Tu t’y prendrais comment ? (ça m’inquiète un peu)
L’outil de backup/restore de Jeedom est redoutable.
Ca remonte cette migration pour moi mais j’ai surement utilisé cette merveille.
Il ne te restera plus qu’a recabler les plugins sur la nouvelle ip et idem dans Reglages / Système / Configuration / Réseaux.
Dans le doute met de coté les dossiers mapé, le tarball de sauvegarde et le yaml en mode bridge