Gestion de l'arrêt du daemon zigbee2mqtt

Bonjour

La gestion de l’arrêt du daemon zigbee2mqtt me semble pas fonctionner tout le temps (à minima sur mon jeedom running in docker)

> ps -aef
root      251825       1  0 13:12 ?        00:00:00 sudo ZIGBEE2MQTT_DATA=/var/www/html/plugins/z2m/core/class/../../data npm start --prefix /var/www/html/plugins/z2m/resources/zigbee2mqtt
root      251834  251825  0 13:12 ?        00:00:01 npm start
root      251874  251834  0 13:12 ?        00:00:00 sh -c node index.js
root      251875  251874  1 13:12 ?        00:00:08 node index.js

> lsof -t -i:8080
251875

Je préconiserais la modification suivante dans le fichier /var/www/html/plugins/z2m/core/class/z2m.class.php dans la fonction deamon_stop :

-    $cmd = "(ps ax || ps w) | grep -ie 'zigbee2mqtt' | grep -v grep | awk '{print $1}' | xargs " . system::getCmdSudo() . " kill -15 > /dev/null 2>&1";
+    $cmd = system::getCmdSudo() . " lsof -t -i:" . config::byKey('z2m_listen_port','z2m','8080') . " | head -n 1 | xargs " . system::getCmdSudo() . " kill -15 > /dev/null 2>&1";

En effet j’observe qu’il faut tuer le dernier processus node lancé pour couper proprement zigbee2mqtt et tous les processus parents s’arrêteront proprement.

Merci de votre aide

Bonjour,
Merci pour le changement ca sera disponible demain en beta du plugin

1 « J'aime »

Bonjour,

Je l’ai en effet constaté aussi. Cela explique certains zigbee2mqtt error, que l’on voit dans les logs publiées ces derniers temps.

akenad :slight_smile:

Bonjour,
Oui j’avais aussi vu le soucis sans pour autant trouver l’origine. Une nouvelle version sera disponible dans quelques minutes et corrigera le soucis

1 « J'aime »

Merci Loic pour l’intégration de la correction. c’est parfait, plus de soucis maintenant.

Sinon dans la série de gestion des daemon j’ai poussé un 2nd PR sur mqtt2 improve mosquitto running in same jeedom docker by jlayec · Pull Request #24 · jeedom/plugin-mqtt2 · GitHub pour améliorer dans le cas ou il s’execute dans le même docker que jeedom. Plus de problème ainsi pour moi dans ma configuration jeedom+mqtt2+z2m dans un unique conteneur docker.
Merci au passage pour le 1er PR approuvé allow local mosquitto working on jeedom running inside docker by jlayec · Pull Request #23 · jeedom/plugin-mqtt2 · GitHub

Un grand merci Loic.

1 « J'aime »

Bonjour
Je regarde ton pr a mon retour de vacances car faut je vois si ca pose pas soucis avec la 4.4 qui change pas mal la gestion pour docker justement histoire de mieux le supporter

Bonjour,
Merci pour le PR je viens de le valider, de mon coté ca semble bon a voir sur les different type de jeedom si ca pose pas de soucis.

Nickel. Un grand merci. :slight_smile: