Gestion automatique indique faussement un statut NOK

Bonjour,

Après redémarrage du plugin Mqtt Manager, par exemple après une MAJ, en gestion automatique le démon se relance bien automatiquement d’après le log mqtt2d, mais Jeedom m’indique un statut NOK dans la page de configuration du plugin.

Il faut que je lance d’abord de démon en manuel (statut OK dans ce cas), pour ensuite basculer en gestion automatique.

Je suis avec un Broker Mosquitto déporté sur un container proxmox.

Bonjour,

Le problème semble être corrigé sur la dernière bêta 2022-05-17 01:16:52.

Merci pour le fix :pray::blush:

EDIT : normalement le fix de cette bêta ne concernait pas mon soucis .
Je refais des tests .

Non aucun rapport désolé, c’est juste un petit fix de fonctionnement pour le lien avec d’autres plugins mais qui n’a aucun impact sur la gestion du démon.

A mon avis il y a juste eu un petit délai sur le check par le core ou un problème de refresh de la page.

Merci pour le retour (il n’y a pas de changelog et je n’ai pas réussi à trouver le github du plugin ).

J’avais vérifié avec un refresh et en attendant 15 min : le statut est était toujours NOK y compris sur la page Santé .

Je re-ouvre le sujet, et je refais des tests pour voir si la magie de l’informatique a encore frappé :joy:

Bonjour,

Je me suis lancé dans la configuration MQTT pour un usage de Node-Red il y a 1 semaine et j’avais déjà remarqué ce soucis. Le statut indique bien NOK mais avec les logs en debug les topics s’échangent bel et bien. Le problème est toujours présent.
Après quelque temps le statut passe en OK donc surement un problème de délai sur le check comme dit précédemment.

1 « J'aime »

Afin de tester le plugin Zwavejs je viens de d’installer le plugin mqtt-manager en local (sans docker) sur un rpi 3 B. Jeedom en 4.2.14.

Même soucis du daemon en automatique qui reste sur NOK (plus de 15min) je l’ai donc mis en manuel pour pouvoir utiliser le plugin zwavejs.

Bonjour,

Avec les logs en debug tu verras que le démon est malgré tout lancé en mode auto.

Pour ma part j’ai refait des tests et je n’arrive plus à reproduire. Seule chose changée : la MAJ sur la dernière bêta (qui ne fix pas ce problème ).
Étrange …

Oui c’est pour cela que je l’ai passé en manuel, j’ai bien vu dans les logs qu’il était démarré mais tant qu’il est affiché en nok alors le plugin zwavejs lui ne peut pas être utilisé.

Je travaille avec ce plugin dans tous les sens depuis quelques jours, notamment pour zwavejs, et je n’ai jamais reproduit ce problème, c’est embêtant de ne pas pouvoir reproduire.

La vérification du démon est tout ce qui a de plus classique sous jeedom, énormément de plugin (pour ne pas dire tous) font pareil donc c’est du code éprouvé selon moi, c’est pas là qu’il faut chercher.

On est bien d’accord que c’est uniquement le statut qui était à NOK? la configuration était bien OK?

Déjà il faudrait vérifier que vous avez bien soit mosquitto en local, soit en docker mais pas les deux.

j’ai 3 jeedom sur lequel le plugin tourne, 2 avec mosquitto en local et un en docker local…

edit: et aviez-vous un message dans le centre de message ou un log du genre Impossible de lancer le démon mqtt2d ?
D’ailleurs, aucun log dispo tout court?

Je reproduit de nouveau le problème . Il avait disparu d’un coup.

De plus en mode auto il arrête pas de redémarrer le démon le coquin (alors qu’il est lancé ).

Pour ma part :

  • configuration OK / Status NOK en auto. En manuel cela fonctionne tout le temps.
  • Pas de mosquitto en local ni de docker. Uniquement sur un LXC (Jeedom sur VM sur le même proxmox).
  • tout fonctionne parfaitement sinon (Zwave JS sans problème).
  • rien de spécial dans les logs en debug (sauf un décalage de 2h :sweat_smile:. Extraits :
[2022-05-16 13:45:30]INFO : Start mqtt2d
[2022-05-16 13:45:30]INFO : Log level on  : debug
[2022-05-16 13:45:30]INFO : Socket port : 55035
[2022-05-16 13:45:30]INFO : MQTT : mqtt://192.168.1.94:1883
[2022-05-16 13:45:30]INFO : Username : pass
[2022-05-16 13:45:30]INFO : Password : word
[2022-05-16 13:45:30]INFO : PID file : /tmp/jeedom/mqtt2/deamon.pid
[2022-05-16 13:45:30]INFO : Apikey : BLABLABLA
[2022-05-16 13:45:30]INFO : Callback : http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php
[2022-05-16 13:45:30]INFO : Cycle : 0.3
[2022-05-16 13:45:30]INFO : Client key : undefined
[2022-05-16 13:45:30]INFO : Client crt : undefined
[2022-05-16 13:45:30]INFO : CA : undefined
[2022-05-16 13:45:30]INFO : Connect to mqtt server
[2022-05-16 13:45:30]DEBUG : HTTP listen on 127.0.0.1 port : 55035 started
[2022-05-16 13:45:30]INFO : Connection to mqtt server successfull
[2022-05-16 13:45:30]INFO : Subscription to all topics
[2022-05-16 13:45:30]INFO : Subscription to all topics succesfull
[2022-05-16 15:19:12]DEBUG : Publish message on topic : zwave/_CLIENTS/ZWAVE_GATEWAY-Jeedom/api/getNodes/set => {"type":"stats"}
[2022-05-16 15:19:12]DEBUG : Publish message on topic : zwave/_CLIENTS/ZWAVE_GATEWAY-Jeedom/api/getInfo/set => {"type":"getInfo"}
[2022-05-16 15:19:15]DEBUG : Publish message on topic : zwave/_CLIENTS/ZWAVE_GATEWAY-Jeedom/api/getNodes/set => {"type":"stats"}
[2022-05-16 15:19:15]DEBUG : Publish message on topic : zwave/_CLIENTS/ZWAVE_GATEWAY-Jeedom/api/getInfo/set => {"type":"getInfo"}
[2022-05-16 15:19:17]DEBUG : Publish message on topic : zwave/_CLIENTS/ZWAVE_GATEWAY-Jeedom/api/getNodes/set => {"type":"stats"}
  • Aucun message dans le centre de message ou dans les logs (sauf quand je n’attends pas 45 s entre 2 lancements parce que le mode auto spamme les redémarrages) :
[2022-05-17 21:52:11]INFO : Lancement démon mqtt2 : sudo  /usr/bin/node /var/www/html/plugins/mqtt2/resources/mqtt2d/mqtt2d.js --loglevel debug --socketport 55035 --mqtt_server mqtt://192.168.1.94:1883 --username pass --password word --callback http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php --apikey BLABLABLA --cycle 0.3 --pid /tmp/jeedom/mqtt2/deamon.pid
[2022-05-17 21:52:12]DEBUG : []
  • Aucun problème de ce genre sur mes autres plugins avec démons

Tu sais vérifier que t’as un fichier à cet endroit si je ne fait pas d’erreur /tmp/jeedom/mqtt2/deamon.pid ?

lance une vérification des droits sur les dossiers/fichiers aussi p-e

edit:
c’est bien le bon path, on le voit ici

et donc tu as « en boucle » (toutes les 5 min), la ligne Lancement démon mqtt2 : sudo /usr/bin/node /var/www... ?

  • oui j’ai le daemon.pid.
  • Oui il relance en boucle (je n’avais pas tilté tout de suite) :
[2022-05-17 19:35:08]INFO : Log level on  : debug
[2022-05-17 19:35:08]INFO : Socket port : 55035
[2022-05-17 19:35:08]INFO : MQTT : mqtt://192.168.1.94:1883
[2022-05-17 19:35:08]INFO : Username : 
[2022-05-17 19:35:08]INFO : Password : 
[2022-05-17 19:35:08]INFO : PID file : /tmp/jeedom/mqtt2/deamon.pid
[2022-05-17 19:35:08]INFO : Apikey : 
[2022-05-17 19:35:08]INFO : Callback : http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php
[2022-05-17 19:35:08]INFO : Cycle : 0.3
[2022-05-17 19:35:08]INFO : Client key : undefined
[2022-05-17 19:35:08]INFO : Client crt : undefined
[2022-05-17 19:35:08]INFO : CA : undefined
[2022-05-17 19:35:08]INFO : Connect to mqtt server
[2022-05-17 19:35:08]DEBUG : HTTP listen on 127.0.0.1 port : 55035 started
[2022-05-17 19:35:08]INFO : Connection to mqtt server successfull
[2022-05-17 19:35:08]INFO : Subscription to all topics
[2022-05-17 19:35:08]INFO : Subscription to all topics succesfull
[2022-05-17 19:40:09]INFO : Start mqtt2d
[2022-05-17 19:40:09]INFO : Log level on  : debug
[2022-05-17 19:40:09]INFO : Socket port : 55035
[2022-05-17 19:40:09]INFO : MQTT : mqtt://192.168.1.94:1883
[2022-05-17 19:40:09]INFO : Username : 
[2022-05-17 19:40:09]INFO : Password : 
[2022-05-17 19:40:09]INFO : PID file : /tmp/jeedom/mqtt2/deamon.pid
[2022-05-17 19:40:09]INFO : Apikey : 
[2022-05-17 19:40:09]INFO : Callback : http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php
[2022-05-17 19:40:09]INFO : Cycle : 0.3
[2022-05-17 19:40:09]INFO : Client key : undefined
[2022-05-17 19:40:09]INFO : Client crt : undefined
[2022-05-17 19:40:09]INFO : CA : undefined
[2022-05-17 19:40:10]INFO : Connect to mqtt server
[2022-05-17 19:40:10]DEBUG : HTTP listen on 127.0.0.1 port : 55035 started
[2022-05-17 19:40:10]INFO : Connection to mqtt server successfull
[2022-05-17 19:40:10]INFO : Subscription to all topics
[2022-05-17 19:40:10]INFO : Subscription to all topics succesfull
[2022-05-17 19:45:10]INFO : Start mqtt2d
[2022-05-17 19:45:10]INFO : Log level on  : debug
[2022-05-17 19:45:10]INFO : Socket port : 55035
[2022-05-17 19:45:10]INFO : MQTT : mqtt://192.168.1.94:1883
[2022-05-17 19:45:10]INFO : Username : 
[2022-05-17 19:45:10]INFO : Password : 
[2022-05-17 19:45:10]INFO : PID file : /tmp/jeedom/mqtt2/deamon.pid
[2022-05-17 19:45:10]INFO : Apikey : 
[2022-05-17 19:45:10]INFO : Callback : http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php
[2022-05-17 19:45:10]INFO : Cycle : 0.3
[2022-05-17 19:45:10]INFO : Client key : undefined
[2022-05-17 19:45:10]INFO : Client crt : undefined
[2022-05-17 19:45:10]INFO : CA : undefined
[2022-05-17 19:45:10]INFO : Connect to mqtt server
[2022-05-17 19:45:10]DEBUG : HTTP listen on 127.0.0.1 port : 55035 started
[2022-05-17 19:45:10]INFO : Connection to mqtt server successfull
[2022-05-17 19:45:10]INFO : Subscription to all topics
[2022-05-17 19:45:10]INFO : Subscription to all topics succesfull

Je regarde pour les droits.

RAS pour les droits :

0000|[START CONSISTENCY]
0001|[START CHECK AND FIX DB]
0002|[END CHECK AND FIX DB]
0003|Check jeedom package...
0004|OK
0005|Check jeedom database...OK
0006|Check filesystem right...
0007|OK
0008|[END CONSISTENCY]

tu sais vérifier si le pid qui est écrit dans ce fichier correspond à celui du process en train de tourner? (/usr/bin/node ... /mqtt2d.js
et si du coup il change toutes les 5min quand le core relance le démon?

edit: et si tu n’as bien qu’une seul instance du démon qui tourne?

Je peux essayer (je ne sais pas trop comment déjà que je pensais que /usr/bin/node était un dir :sweat_smile:), mais mon soucis actuel est que de nouveau je ne peux plus reproduire le problème … ??
Note que c’est après avoir rétabli les droits (mais rin n’a été fait d’après les logs)

En désactivant / réactivant le plugin je reproduis de nouveau le problème. J’avance :wink:

Le log dit que le démon est lancé, Jeedom dit statut NOK, et … pas de daemon.pid dans /tmp/jeedom/mqtt2 …

2022-05-17 20:40:25]INFO : Start mqtt2d
[2022-05-17 20:40:25]INFO : Log level on  : debug
[2022-05-17 20:40:25]INFO : Socket port : 55035
[2022-05-17 20:40:25]INFO : MQTT : mqtt://192.168.1.94:1883
[2022-05-17 20:40:25]INFO : Username : 
[2022-05-17 20:40:25]INFO : Password : 
[2022-05-17 20:40:25]INFO : PID file : /tmp/jeedom/mqtt2/deamon.pid
[2022-05-17 20:40:25]INFO : Apikey : 
[2022-05-17 20:40:25]INFO : Callback : http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php
[2022-05-17 20:40:25]INFO : Cycle : 0.3
[2022-05-17 20:40:25]INFO : Client key : undefined
[2022-05-17 20:40:25]INFO : Client crt : undefined
[2022-05-17 20:40:25]INFO : CA : undefined
[2022-05-17 20:40:25]INFO : Connect to mqtt server
[2022-05-17 20:40:25]DEBUG : HTTP listen on 127.0.0.1 port : 55035 started
[2022-05-17 20:40:25]INFO : Connection to mqtt server successfull
[2022-05-17 20:40:25]INFO : Subscription to all topics
[2022-05-17 20:40:25]INFO : Subscription to all topics succesfull
root@Debian10-KVM:~# ls -al /tmp/jeedom/mqtt2/
total 0
drwxr-xr-- 2 www-data www-data  40 mai   17 22:40 .
drwxrwxrwt 8 root     root     220 mai   17 22:29 ..

Il a fini par apparaître …

PID : 13496

Et en htop c’est le bazar :

Maintenant le status est passé en OK (après 2 redémarrage auto).

Edit : en fait après 1 redémarrage auto ,et je me demande si cela ne coïncide pas avec l’apparition du daemon.pid . Le log de 20h40 mentirait il ?

Si le fichier n’est pas écrit ou que le core ne le voit pas, c’est « normal » qu’il relance le démon puisque pour lui il ne tourne pas.
Par contre le démon est sensé écrire le fichier dès le lancement et s’il ne peut pas l’écrire il doit se couper…

donc je ne comprend pas… la nuit porte conseille :wink: