Bug v4.17.0 Zigbee2MQTT?

Une option serait d’activer la persistance dans Mosquitto :

Tu en penses quoi ?

ça me paraît faire sens !
J’espère juste qu’on ne va pas stocker trop.
Sinon il faut voir s’il n’y a pas le moyen de définir une taille maximale de stockage…

La persistence ne stocke que les messages retained (à vérifier), donc ça ne va pas trop stocker je pense :slight_smile:

1 « J'aime »

Je prends peut-être le problème à l’envers mais est-ce que ce ne serait pas à Gladys de stocker cette information ?

Effectivement c’est une option, après est-ce que c’est pas dommage de re-coder ce comportement qui est probablement utilisé par Zigbee2mqtt a plusieurs endroits, là ou Mosquitto le fait nativement ?

Je partirais plus sur l’activation de la persistence, ce qui nous évite d’autres bugs à l’avenir si Zigbee2mqtt se met à utiliser cette fonctionnalité à d’autres endroits.

Du coup j’ai commencé une PR sur le sujet :

J’en ai profité pour retirer le script shell qui lançait le container pour passer à du code Node. Au moins c’est testé du coup, et plus fiable.

J’en ai aussi profité pour traiter cette carte:

Ca accélère grandement les tests !

1 « J'aime »

Tu as généré une image de test ?

Yes, je l’ai testé partiellement pour l’instant mais ça a l’air de fonctionner !

Image Docker:

gladysassistant/gladys:fix-zigbee2mqtt-disconnect-bug

Testé en réel, la migration a fonctionné avec succès !

2023-04-07T04:20:42+0200 <info> init.js:38 (Zigbee2mqttManager.init) Zigbee2mqtt USB dongle attached to /dev/ttyUSB0
2023-04-07T04:20:42+0200 <info> checkForContainerUpdates.js:14 (Zigbee2mqttManager.checkForContainerUpdates) Checking for current installed versions and required updates...
2023-04-07T04:20:42+0200 <info> checkForContainerUpdates.js:18 (Zigbee2mqttManager.checkForContainerUpdates) MQTT container: update #3 of the container required...
2023-04-07T04:20:42+0200 <info> checkForContainerUpdates.js:35 (Zigbee2mqttManager.checkForContainerUpdates) MQTT container: update #3 of the container done
2023-04-07T04:20:42+0200 <info> checkForContainerUpdates.js:40 (Zigbee2mqttManager.checkForContainerUpdates) Z2M container: update #3 of the container required...
2023-04-07T04:20:43+0200 <info> checkForContainerUpdates.js:57 (Zigbee2mqttManager.checkForContainerUpdates) Z2M container: update #3 of the container done
2023-04-07T04:20:43+0200 <info> installMqttContainer.js:29 (Zigbee2mqttManager.installMqttContainer) MQTT broker is being installed as Docker container...
2023-04-07T04:20:43+0200 <info> installMqttContainer.js:30 (Zigbee2mqttManager.installMqttContainer) Pulling eclipse-mosquitto:2 image...
2023-04-07T04:20:46+0200 <info> installMqttContainer.js:34 (Zigbee2mqttManager.installMqttContainer) Preparing broker environment...
2023-04-07T04:20:46+0200 <info> installMqttContainer.js:41 (Zigbee2mqttManager.installMqttContainer) Writing Mosquitto config file in /var/lib/gladysassistant/zigbee2mqtt/mqtt/mosquitto.conf
2023-04-07T04:20:46+0200 <info> installMqttContainer.js:50 (Zigbee2mqttManager.installMqttContainer) Creating container with data in "/var/lib/gladysassistant" on host...
2023-04-07T04:20:47+0200 <info> installMqttContainer.js:64 (Zigbee2mqttManager.installMqttContainer) MQTT broker is restarting...
2023-04-07T04:20:52+0200 <info> installMqttContainer.js:72 (Zigbee2mqttManager.installMqttContainer) Creating user/pass...
2023-04-07T04:20:53+0200 <info> installMqttContainer.js:81 (Zigbee2mqttManager.installMqttContainer) MQTT broker is restarting...
2023-04-07T04:20:59+0200 <info> installMqttContainer.js:86 (Zigbee2mqttManager.installMqttContainer) MQTT broker container successfully started and configured
2023-04-07T04:20:59+0200 <info> installZ2mContainer.js:34 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt is being installed as Docker container...
2023-04-07T04:20:59+0200 <info> installZ2mContainer.js:35 (Zigbee2mqttManager.installZ2mContainer) Pulling koenkk/zigbee2mqtt:latest image...
2023-04-07T04:21:02+0200 <info> installZ2mContainer.js:38 (Zigbee2mqttManager.installZ2mContainer) Configuration of Device /dev/ttyUSB0
2023-04-07T04:21:02+0200 <info> installZ2mContainer.js:43 (Zigbee2mqttManager.installZ2mContainer) Creation of container...
2023-04-07T04:21:03+0200 <info> installZ2mContainer.js:46 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt successfully installed and configured as Docker container
2023-04-07T04:21:03+0200 <info> installZ2mContainer.js:59 (Zigbee2mqttManager.installZ2mContainer) Preparing Zigbee2mqtt environment...
2023-04-07T04:21:03+0200 <info> installZ2mContainer.js:72 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt container is starting...
2023-04-07T04:21:08+0200 <info> installZ2mContainer.js:78 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt container successfully started
2023-04-07T04:21:08+0200 <info> connect.js:14 (Zigbee2mqttManager.connect) Connecting Gladys to mqtt://localhost:1884 MQTT broker...
2023-04-07T04:21:09+0200 <info> connect.js:24 (MqttClient.<anonymous>) Connected to MQTT container mqtt://localhost:1884
2023-04-07T04:21:09+0200 <info> subscribe.js:12 (Zigbee2mqttManager.subscribe) Subscribing to MQTT topic zigbee2mqtt/#

Dossier /var/lib/gladysassistant/zigbee2mqtt/mqtt:

Redémarrer Mosquitto ne semble plus gêner Gladys ! :slight_smile:

3 « J'aime »

@AlexTrovato A priori pas de risque d’avoir un disque qui grossit à vue d’oeil :

On va aussi gagner en fiabilité vu que du coup si Mosquitto redémarre pendant que Gladys est offline et que des messages sont dans le broker, on ne les perdra pas :slight_smile:

7 « J'aime »

Bug corrigé dans Gladys Assistant v4.20 :

1 « J'aime »