Eine Option wäre, die Persistenz in Mosquitto zu aktivieren:
https://stackoverflow.com/a/36126875
Was hältst du davon?
Eine Option wäre, die Persistenz in Mosquitto zu aktivieren:
https://stackoverflow.com/a/36126875
Was hältst du davon?
Das klingt sinnvoll!
Ich hoffe nur, dass wir nicht zu viel speichern.
Falls doch, sollten wir schauen, ob es nicht eine Möglichkeit gibt, eine maximale Speichergröße zu definieren…
Die Persistenz speichert nur die behaltenen (retained) Nachrichten (zu überprüfen), also wird das nicht zu viel speichern, denke ich ![]()
Vielleicht betrachte ich das Problem von der falschen Seite, aber sollte nicht Gladys diese Information speichern?
Das ist tatsächlich eine Option, aber ist es nicht schade, dieses Verhalten neu zu codieren, das wahrscheinlich von Zigbee2mqtt an mehreren Stellen verwendet wird, während Mosquitto dies nativ unterstützt?
Ich würde eher die Aktivierung der Persistenz vorschlagen, was uns vor weiteren Fehlern in der Zukunft bewahrt, falls Zigbee2mqtt diese Funktion an anderen Stellen verwenden sollte.
Daher habe ich einen PR zu diesem Thema gestartet:
Dabei habe ich das Shell-Skript entfernt, das den Container gestartet hat, um auf Node-Code umzustellen. Jetzt ist es zumindest getestet und zuverlässiger.
Dabei habe ich auch dieses Issue behandelt:
Das beschleunigt die Tests enorm!
Hast du ein Testbild generiert?
Ja, ich habe es bisher nur teilweise getestet, aber es scheint zu funktionieren!
Docker-Image:
gladysassistant/gladys:fix-zigbee2mqtt-disconnect-bug
Getestet in der Praxis, die Migration war erfolgreich!
2023-04-07T04:20:42+0200 <info> init.js:38 (Zigbee2mqttManager.init) Zigbee2mqtt USB Dongle an /dev/ttyUSB0 angeschlossen
2023-04-07T04:20:42+0200 <info> checkForContainerUpdates.js:14 (Zigbee2mqttManager.checkForContainerUpdates) Überprüfe auf aktuell installierte Versionen und erforderliche Updates...
2023-04-07T04:20:42+0200 <info> checkForContainerUpdates.js:18 (Zigbee2mqttManager.checkForContainerUpdates) MQTT-Container: Update #3 des Containers erforderlich...
2023-04-07T04:20:42+0200 <info> checkForContainerUpdates.js:35 (Zigbee2mqttManager.checkForContainerUpdates) MQTT-Container: Update #3 des Containers abgeschlossen
2023-04-07T04:20:42+0200 <info> checkForContainerUpdates.js:40 (Zigbee2mqttManager.checkForContainerUpdates) Z2M-Container: Update #3 des Containers erforderlich...
2023-04-07T04:20:43+0200 <info> checkForContainerUpdates.js:57 (Zigbee2mqttManager.checkForContainerUpdates) Z2M-Container: Update #3 des Containers abgeschlossen
2023-04-07T04:20:43+0200 <info> installMqttContainer.js:29 (Zigbee2mqttManager.installMqttContainer) MQTT-Broker wird als Docker-Container installiert...
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) Vorbereitung der Broker-Umgebung...
2023-04-07T04:20:46+0200 <info> installMqttContainer.js:41 (Zigbee2mqttManager.installMqttContainer) Schreibe Mosquitto-Konfigurationsdatei in /var/lib/gladysassistant/zigbee2mqtt/mqtt/mosquitto.conf
2023-04-07T04:20:46+0200 <info> installMqttContainer.js:50 (Zigbee2mqttManager.installMqttContainer) Erstellen eines Containers mit Daten in "/var/lib/gladysassistant" auf dem Host...
2023-04-07T04:20:47+0200 <info> installMqttContainer.js:64 (Zigbee2mqttManager.installMqttContainer) MQTT-Broker wird neu gestartet...
2023-04-07T04:20:52+0200 <info> installMqttContainer.js:72 (Zigbee2mqttManager.installMqttContainer) Erstellen von Benutzer/Kennwort...
2023-04-07T04:20:53+0200 <info> installMqttContainer.js:81 (Zigbee2mqttManager.installMqttContainer) MQTT-Broker wird neu gestartet...
2023-04-07T04:20:59+0200 <info> installMqttContainer.js:86 (Zigbee2mqttManager.installMqttContainer) MQTT-Broker-Container erfolgreich gestartet und konfiguriert
2023-04-07T04:20:59+0200 <info> installZ2mContainer.js:34 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt wird als Docker-Container installiert...
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) Konfiguration des Geräts /dev/ttyUSB0
2023-04-07T04:21:02+0200 <info> installZ2mContainer.js:43 (Zigbee2mqttManager.installZ2mContainer) Erstellung des Containers...
2023-04-07T04:21:03+0200 <info> installZ2mContainer.js:46 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt erfolgreich als Docker-Container installiert und konfiguriert
2023-04-07T04:21:03+0200 <info> installZ2mContainer.js:59 (Zigbee2mqttManager.installZ2mContainer) Vorbereitung der Zigbee2mqtt-Umgebung...
2023-04-07T04:21:03+0200 <info> installZ2mContainer.js:72 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt-Container wird gestartet...
2023-04-07T04:21:08+0200 <info> installZ2mContainer.js:78 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt-Container erfolgreich gestartet
2023-04-07T04:21:08+0200 <info> connect.js:14 (Zigbee2mqttManager.connect) Verbindung von Gladys mit dem MQTT-Broker mqtt://localhost:1884...
2023-04-07T04:21:09+0200 <info> connect.js:24 (MqttClient.<anonymous>) Verbunden mit MQTT-Container mqtt://localhost:1884
2023-04-07T04:21:09+0200 <info> subscribe.js:12 (Zigbee2mqttManager.subscribe) Abonnieren des MQTT-Themas zigbee2mqtt/#
Ordner /var/lib/gladysassistant/zigbee2mqtt/mqtt:
Mosquitto neu zu starten scheint Gladys nicht mehr zu stören! ![]()
@AlexTrovato Zunächst einmal besteht keine Gefahr, dass eine Festplatte plötzlich anwächst:
Wir gewinnen auch an Zuverlässigkeit, denn wenn Mosquitto neu startet, während Gladys offline ist und Nachrichten im Broker sind, gehen diese nicht verloren ![]()
Fehlerbehebung in Gladys Assistant v4.20: