Bonjour,
Je suis en train de tester zwavejs sur docker (image jeedom/jeedom:latest, debian 11)
Apres analyse, debug, modification, etc, jai le souci suivant:
KO: Démarrer|arrêter le démon mqtt manager via le plugin ou la cmd node
lancé par celui ci.
OK: Démarrer|arreter le demon mosquitto avec la conf du plugin par la commande system service
ou /etc/init.d/mosquitto
Dans le cas ou c’est OK, le process, port d’ecoute et pid file sont ok
Par contre rien n’a faire pour démarrer via l’interface du plugin mqtt_manager. Pas de pid, pas de process.
Mes questions:
Comme j’arrive à démarrer le service avec la conf du plugins, le pb se situe dans le démarrage avec node selon moi
- Est ce que ce plugin est compatible sous docker debian 11 / nodejs 16.20? Je vois compatible docker sur le market…
- Qq un l’utilise sous docker debian 11?
J’ai essayé:
- La commande fourni dans la log de mqtt mais elle ne démarre pas le démon et ne créé de pid file:
sudo /usr/bin/node /var/www/html/plugins/mqtt2/resources/mqtt2d/mqtt2d.js --loglevel debug --socketport 55035 --mqtt_server mqtts://127.0.0.1:8883 --client_key /var/www/html/plugins/mqtt2/data/ssl/client.key --client_crt /var/www/html/plugins/mqtt2/data/ssl/client.crt --ca /var/www/html/plugins/mqtt2/data/ssl/ca.crt --username jeedom --password xxxxx --callback http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php --apikey xxxxx --cycle 0.3 --pid /tmp/jeedom/mqtt2/deamon.pid
- essayer avec
node inspect
- modifié
/var/www/html/plugins/mqtt2/core/class/mqtt2.class.php
pour remplacersystemctl
parservice
- Le fichier pid n’est pas créé (le répertoire /tmp/jeedom/mqtt est en 777). C’est le même chemin que j’utilise qd j’arrive à le démarrer via la commande
service
, j’en ai essayé d’autre. - J’ai rejoué les dépendances. Elles semblent ok.
- reinstallation des plugins
- J’ai fait une update de npm comme proposé dans les logs des dépendances 8.19.4 → 9.6.7
- Pas plus de traces avec le mode debug.
- J’ai regardé mqtt2d.js, le démarrage semble être fait par: require (‹ mqtt ›)… enfin j’en sais rien, je ne suis pas dev nodejs
- je n’ai pas testé sous docker/debian 10 (j’utilise l’ancien plugin zwave que j’ai désactivé dans cette install)
- je n’ai pas testé ce plugin dans un environnement from scratch (mais depuis mon jeedom
4.3.17
validé sur docker/debian 10)
Environnement:
- docker version 24.0.2 (ubuntu 22.04)
- jeedom 4.3.17 (env perso fonctionnel sur docker/debian 10)
- image docker jeedom/jeedom:latest (debian 11) Modification apportée a l’image (apt update & upgrade)
- plugins: xiaomi Home, telegram, cloudsync pro
- dépendance OK
- conf MQTT: tt par défaut, j’ai juste précisé
Broker Local
et Port du contrôleur Z-Wave que j’utilse (dev/ttyACM0)
Log mqtt2
[2023-06-04 18:50:01][ERROR] : Attention je pense qu'il y a un soucis avec le démon que j'ai relancé plus de 3 fois consécutivement
[2023-06-04 18:50:02][INFO] : Démarrage du démon MQTT Manager : sudo /usr/bin/node /var/www/html/plugins/mqtt2/resources/mqtt2d/mqtt2d.js --loglevel debug --socketport 55035 --mqtt_server mqtts://127.0.0.1:8883 --client_key /var/www/html/plugins/mqtt2/data/ssl/client.key --client_crt /var/www/html/plugins/mqtt2/data/ssl/client.crt --ca /var/www/html/plugins/mqtt2/data/ssl/ca.crt --username jeedom --password xxx --callback http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php --apikey xxx --cycle 0.3 --pid /tmp/jeedom/mqtt2/deamon.pid
[2023-06-04 18:50:32][ERROR] : Impossible de démarrer le démon MQTT Manager, vérifiez les logs
Log mqttd
[2023-06-04 16:50:02][INFO] : Start mqtt2d
[2023-06-04 16:50:02][INFO] : Log level on : debug
[2023-06-04 16:50:02][INFO] : Socket port : 55035
[2023-06-04 16:50:02][INFO] : MQTT : mqtts://127.0.0.1:8883
[2023-06-04 16:50:02][INFO] : Username : jeedom
[2023-06-04 16:50:02][INFO] : Password : xxx
[2023-06-04 16:50:02][INFO] : PID file : /tmp/jeedom/mqtt2/deamon.pid
[2023-06-04 16:50:02][INFO] : Apikey : xxx
[2023-06-04 16:50:02][INFO] : Callback : http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php
[2023-06-04 16:50:02][INFO] : Cycle : 0.3
[2023-06-04 16:50:02][INFO] : Client key : /var/www/html/plugins/mqtt2/data/ssl/client.key
[2023-06-04 16:50:02][INFO] : Client crt : /var/www/html/plugins/mqtt2/data/ssl/client.crt
[2023-06-04 16:50:02][INFO] : CA : /var/www/html/plugins/mqtt2/data/ssl/ca.crt
[2023-06-04 16:50:02][INFO] : Connect to mqtt server
[2023-06-04 16:50:02][DEBUG] : HTTP listen on 127.0.0.1 port : 55035 started
[2023-06-04 16:50:02][ERROR] : Error on connection to mqtt server : Error: connect ECONNREFUSED 127.0.0.1:8883
Dépendances
mqtt2_packages.txt (4,9 Ko)