(Entschuldigung für mein schlechtes Französisch, ich benutze Google Translate.)
Ich verwende docker-compose, um Gladys auszuführen. Ich habe Zigbee2MQTT konfiguriert und es funktioniert manchmal. Aber jedes Mal, wenn der Container neu gestartet wird, ist der USB-Dongle nicht mehr verbunden. Die Meldung lautet: „Kein Zigbee2mqtt-USB-Dongle ist an Gladys angeschlossen“.
Zwei Geräte sind immer aufgelistet: /dev/ttyUSB0 und /dev/AMA0. Was das Problem normalerweise löst, ist die Auswahl eines Geräts, das nicht ausgewählt ist, und das Klicken auf „Speichern“. Es ist egal, welches der beiden ausgewählt wird.
Ich muss in der Lage sein, die Container ohne Überwachung neu zu starten, ohne die Benutzeroberfläche zu verwenden, um die Konfiguration jedes Mal zu ändern. Kann mir jemand helfen zu verstehen, was nicht stimmt? Danke.
Der zigbee2mqtt-Container läuft und funktioniert weiterhin einwandfrei. Ich kann auf http://gladys-ip:8080/#/dashboard zugreifen und die Geräte sehen. Aber Gladys erkennt nicht, dass er läuft. Es zeigt « Kein USB-Zigbee2mqtt-Dongle konfiguriert, bitte gehen Sie zu… » Dann klicke ich auf „Speichern“ und es funktioniert wieder.
Das sind die laufenden Container:
$ docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
eb14c756a72c gladysassistant/gladys:v4 "docker-entrypoint.s…" 6 minutes ago Up 6 minutes myhub_gladys_1
abcc0834603d containrrr/watchtower "/watchtower --clean…" 6 minutes ago Up 6 minutes 8080/tcp myhub_watchtower_1
322d22c2fa6a koenkk/zigbee2mqtt:latest "docker-entrypoint.s…" 3 days ago Up 3 days gladys-z2m-zigbee2mqtt
eb10f041a2a2 eclipse-mosquitto:2 "/docker-entrypoint.…" 8 days ago Up 8 days gladys-z2m-mqtt
Ich konnte das Problem nicht debuggen. @pierre-gilles, hast du Vorschläge?
Watchtower hat meinen Container « myhub_gladys_1 » heute neu gestartet, danach waren alle Geräte verschwunden.
Damit es funktioniert, musste ich zu /dashboard/integration/device/zigbee2mqtt/setup gehen und « Zigbee2MQTT aktivieren » ausschalten und wieder einschalten. Dadurch wurden « gladys-z2m-mqtt » und « gladys-z2m-zigbee2mqtt » neu gestartet und alles funktionierte wieder.
Wenn Gladys so versagt, kann ich immer noch auf http://:8080/#/dashboard zugreifen und alle Geräte ordnungsgemäß funktionieren sehen, also liegt das Problem nicht am Dongle oder am Mückchen/Zigbee2MQTT. Was kann ich tun, um Gladys stabiler zu machen?
Ich kann dir vorschlagen, nicht Compose zu verwenden und der Dokumentation zu folgen. MQTT und Zigbee2mqtt werden außerhalb des Stacks erstellt (ich weiß nicht, ob das die Ursache ist). Compose hat hier keinen Mehrwert.
Der zigbee2mqtt-Dienst startet nicht, wenn der Container neu gestartet wird, da er als „manuell gestoppt“ markiert ist.
$ journalctl CONTAINER_NAME=gladys | grep -i zigbee2m
Oct 12 21:40:06 dpi02 b2c767401a3d[724]: 2022-10-12T21:40:06+0100 <info> service.startAll.js:30 () Service zigbee2mqtt wurde manuell gestoppt, daher wird es beim Start ignoriert
Oct 12 21:42:40 dpi02 b2c767401a3d[724]: 2022-10-12T21:42:40+0100 <info> init.js:47 () Zigbee2mqtt USB-Dongle an /dev/ttyUSB0 angeschlossen
Oct 12 21:42:40 dpi02 b2c767401a3d[724]: 2022-10-12T21:42:40+0100 <info> installMqttContainer.js:105 (Zigbee2mqttManager.installMqttContainer) MQTT-Broker-Container erfolgreich gestartet
Oct 12 21:42:40 dpi02 b2c767401a3d[724]: 2022-10-12T21:42:40+0100 <info> installZ2mContainer.js:73 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt-Container erfolgreich gestartet
Oct 12 21:42:40 dpi02 b2c767401a3d[724]: 2022-10-12T21:42:40+0100 <info> subscribe.js:12 (Zigbee2mqttManager.subscribe) Abonnieren des MQTT-Themas zigbee2mqtt/#
Der Log-Eintrag von init.js:47 erfolgt erst, wenn ich in der UI auf Einstellungen speichern klicke, was zwei Minuten nach dem Start des Containers erfolgt.
[edit] Die Plattform ist Raspberry Pi OS auf einem Pi v4
[edit2] Es scheint, dass die Service-Tabelle in der Datenbank seit langer Zeit nicht mehr aktualisiert wurde:
$ echo "select enabled, updated_at, status from t_service where name = 'zigbee2mqtt';"|sqlite3 gladys-production.db
1|2022-09-18 23:17:48.594 +00:00|STOPPED
Also, ich habe die Seite /dashboard/settings/service gefunden und alle Dienste waren auf Gestoppt eingestellt. Ich verstehe nicht, warum überhaupt etwas funktioniert hat, aber egal. Ich habe Zigbee2mqtt auf Läuft geändert und jetzt startet der Dienst wie erwartet, wenn der Container neu startet.
mein Fehler. Mir war nicht klar, dass der Dienst etwas anderes ist als die Option „Zigbee2mqtt aktivieren“ auf der Zigbee2mqtt-Konfigurationsseite. Ich habe eine ganze Weile Zigbee-Geräte in Gladys verwendet, ohne dass der Dienst lief!