[Zigbee2mqtt] Service kann nicht konfiguriert werden

Hallo zusammen.

Ich habe ein Problem mit der Konfiguration des Zigbee-Moduls.

Meine Installation (vor einigen Minuten neu aufgesetzt):

Ein Intel NUC unter Ubuntu 22.04.2 LTS

Ein Zigbee-Dongle von Sonoff (ZBDongle-P)

Gladys auf Docker, basierend auf dem Tutorial von Pierre Gilles

Im Modul „Zigbee2mqtt-Integration“, wenn ich den Dienst starte, werden die Verzeichnisse mosquitto und die Konfigurationsdateien nicht im Verzeichnis gladysassistant erstellt.

Wenn ich docker ps ausführe, ist der Status des Containers gladys-z2m-mqtt auf „Restarting (13)“.

anthony@NUC-Anthony:/var/lib/gladysassistant$ docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS                         PORTS     NAMES
9445326db9de   eclipse-mosquitto:2         "/docker-entrypoint.…"   12 seconds ago   Restarting (13) 1 second ago             gladys-z2m-mqtt
d7e3301030ba   gladysassistant/gladys:v4   "docker-entrypoint.s…"   7 minutes ago    Up 7 minutes                             gladys

Ich habe versucht, die Berechtigungen des Verzeichnisses /var/lib/gladysassistant auf 775 zu erzwingen, aber es ändert nichts, die Verzeichnisse und Dateien werden nicht erstellt:

anthony@NUC-Anthony:/var/lib/gladysassistant$ ls -lh
total 2,8M
-rwxrwxr-x 1 root root 4,0K April 25 22:08 gladys-production.db
-rwxrwxr-x 1 root root  32K April 25 22:14 gladys-production.db-shm
-rwxrwxr-x 1 root root 2,7M April 25 22:14 gladys-production.db-wal
drwxrwxr-x 2 root root 4,0K April 25 22:08 homekit
drwxr-xr-x 3 root root 4,0K April 25 22:14 zigbee2mqtt

Ich gestehe, ich bin ratlos.

Vielen Dank im Voraus für eure Hilfe.

Hättest du zufällig die Logs des Containers gladys-z2m-mqtt?

docker logs gladys-z2m-mqtt

Ja, hier sind sie:

1682454363: mosquitto version 2.0.15 starting
1682454363: Config loaded from /mosquitto/config/mosquitto.conf.
1682454363: Error: Unable to open pwfile "/mosquitto/config/mosquitto.passwd".
1682454363: Error opening password file "/mosquitto/config/mosquitto.passwd".

Sie sind ziemlich logisch, da das Verzeichnis /mosquitto nicht erstellt wurde.

Hier sind die Logs des Gladys-Containers:

2023-04-25T22:14:54+0200 <info> init.js:38 (Zigbee2mqttManager.init) Zigbee2mqtt USB dongle attached to /dev/ttyUSB0
2023-04-25T22:14:54+0200 <info> checkForContainerUpdates.js:14 (Zigbee2mqttManager.checkForContainerUpdates) Checking for current installed versions and required updates...
2023-04-25T22:14:54+0200 <info> checkForContainerUpdates.js:18 (Zigbee2mqttManager.checkForContainerUpdates) MQTT container: update #3 of the container required...
2023-04-25T22:14:54+0200 <info> checkForContainerUpdates.js:35 (Zigbee2mqttManager.checkForContainerUpdates) MQTT container: update #3 of the container done
2023-04-25T22:14:54+0200 <info> checkForContainerUpdates.js:40 (Zigbee2mqttManager.checkForContainerUpdates) Z2M container: update #3 of the container required...
2023-04-25T22:14:54+0200 <info> checkForContainerUpdates.js:57 (Zigbee2mqttManager.checkForContainerUpdates) Z2M container: update #3 of the container done
2023-04-25T22:14:54+0200 <info> installMqttContainer.js:29 (Zigbee2mqttManager.installMqttContainer) MQTT broker is being installed as Docker container...
2023-04-25T22:14:54+0200 <info> installMqttContainer.js:30 (Zigbee2mqttManager.installMqttContainer) Pulling eclipse-mosquitto:2 image...
2023-04-25T22:14:56+0200 <info> installMqttContainer.js:34 (Zigbee2mqttManager.installMqttContainer) Preparing broker environment...
2023-04-25T22:14:56+0200 <info> installMqttContainer.js:41 (Zigbee2mqttManager.installMqttContainer) Writing Mosquitto config file in /var/lib/gladysassistant/zigbee2mqtt/mqtt/mosquitto.conf
2023-04-25T22:14:56+0200 <info> installMqttContainer.js:50 (Zigbee2mqttManager.installMqttContainer) Creating container with data in "/var/lib/gladysassistant" on host...
2023-04-25T22:14:57+0200 <info> installMqttContainer.js:64 (Zigbee2mqttManager.installMqttContainer) MQTT broker is restarting...
2023-04-25T22:15:00+0200 <info> scene.checkCalendarTriggers.js:24 (SceneManager.checkCalendarTriggers) Checking calendar triggers at Tue, 25 Apr 2023 20:15:00 GMT
2023-04-25T22:15:03+0200 <info> installMqttContainer.js:72 (Zigbee2mqttManager.installMqttContainer) Creating user/pass...
2023-04-25T22:15:05+0200 <error> installMqttContainer.js:94 (Zigbee2mqttManager.installMqttContainer) MQTT broker container failed to start: Error: (HTTP code 409) container stopped/paused - Container 9445326db9de3007d75ba1408e7004302a0d15e8994d0647f4abb7fa68b7c7d9 is restarting, wait until the container is running

Naja, ich bin am Limit meines Wissens (das ist nicht besonders groß), also kann ich dir nicht weiterhelfen.
Hast du versucht, Gladys neu zu starten?
Oder sogar deinen NUC?

Ich bin genau in derselben Situation. Seit einem Stromausfall startete mein PI, aber schaltete sich sofort wieder aus. Ich wollte mit einer sauberen Konfiguration neu beginnen, aber am Ende lag es an der Stromversorgung, die den Geist aufgegeben hatte.

Ich befinde mich in derselben Situation wie du und ich gebe zu, ich reiße mir die Haare aus. Egal, ob bei einer neuen Konfiguration oder einer Wiederherstellung über Gladys Plus.

Und von Node-Red mit dem Problem des seriellen Ports rede ich gar nicht erst.

Falls es Lösungen gibt, bin ich ebenfalls interessiert.

Aus Neugier, haben Sie versucht, eine saubere Installation eines neuen Betriebssystems durchzuführen und dann Docker / Gladys neu zu installieren?
Denn was überraschend ist, ist festzustellen, dass es eine ganz frische Installation ist… Alles sollte laufen :thinking:

Ich habe es mit einem alten und dem ganz neuen Bild 4.21 getestet.

Selbes Ergebnis.

Ja entschuldige, ich wollte eigentlich über das Testen von Gladys auf einem anderen Betriebssystem sprechen. Auf dem PC könnte es Debian / Ubuntu / oder ein anderes sein.

Auf dem Raspberry könnte es Raspbian / DietPi / oder ein anderes sein.

Habe es von meiner Seite aus nicht getestet

Nur auf dieser Ubuntu-Version getestet. Ich bin bei meiner vierten Neuinstallation (ich kenne die Ubuntu-Installationsschritte langsam auswendig :slight_smile: )

Hallo @TriBeCa!

Welchen docker run-Befehl hast du verwendet? Genau denselben wie auf der Website oder hast du Änderungen daran vorgenommen?

Der Ordner, den du zeigst, scheint in Ordnung zu sein, es wurde tatsächlich ein Ordner „zigbee2mqtt“ erstellt. Kannst du in diesen Ordner gehen und seinen Inhalt zeigen? Wenn er einen Ordner „mqtt“ enthält, kannst du in den Ordner „mqtt“ gehen und uns seinen Inhalt zeigen?

Dieser „Pfad“ ist der interne Pfad im Container, in Gladys werden diese Ordner auf das Volume /var/lib/gladysassistant/zigbee2mqtt/mqtt gelegt.

Die Logs, die du uns zeigst, enthalten jedoch einen Fehler:

MQTT-Broker-Container konnte nicht gestartet werden:
Fehler: (HTTP-Code 409) Container gestoppt/gepauset - Container 9445326db9de3007d75ba1408e7004302a0d15e8994d0647f4abb7fa68b7c7d9 wird neu gestartet, warten Sie, bis der Container läuft

Allerdings ist dieser Fehler nicht unbedingt der erste Fehler, den du hattest, du befindest dich in einer etwas unglücklichen Situation, in der du einen Container hast, der nicht aufhört neu zu starten, und Gladys ihn daher möglicherweise nicht sieht.

Kannst du diesen Container stoppen und dann löschen:

docker stop 9445326db9de3007d75ba1408e7004302a0d15e8994d0647f4abb7fa68b7c7d9
docker rm 9445326db9de3007d75ba1408e7004302a0d15e8994d0647f4abb7fa68b7c7d9

Dann Gladys neu starten:

docker restart gladys

@TriBeCa @jerome Eigentlich glaube ich, dass es seit 3 Wochen ein Problem gibt, das auf diesen PR zurückzuführen ist: Activate persistence in Zigbee2mqtt mosquitto to avoid losing devices on MQTT restart by Pierre-Gilles · Pull Request #1731 · GladysAssistant/Gladys · GitHub

Das Problem kommt nicht von euch, ich muss einen Fix machen.

In der Zwischenzeit, wenn du folgendes ausführst:

touch /var/lib/gladysassistant/zigbee2mqtt/mqtt/mosquitto.passwd

Dann starte Gladys neu (docker restart gladys), denke ich, dass das das Problem vorerst beheben sollte, bis ich den Bug korrigiere.

Danke an alle für eure Antworten.

Das funktioniert, indem die Datei mosquitto.conf erstellt wird:

CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS              PORTS     NAMES
61f274b22beb   koenkk/zigbee2mqtt:latest   "docker-entrypoint.s…"   15 seconds ago   Up 10 seconds                 gladys-z2m-zigbee2mqtt
89c67dfdb09f   eclipse-mosquitto:2         "/docker-entrypoint.…"   50 seconds ago   Up 38 seconds                 gladys-z2m-mqtt
d7e3301030ba   gladysassistant/gladys:v4   "docker-entrypoint.s…"   12 hours ago     Up About a minute             gladys

Top!

Da es sich um einen recht kritischen Bug handelt, habe ich hier eine PR in Eile erstellt:

Ich habe einen Docker-Build gestartet, werde Tests durchführen, und wenn alles gut geht, bringe ich das in die Produktion.

Danke für das Feedback :folded_hands:

Super Danke

Funktioniert jetzt auch bei mir und mit der Wiederherstellung von Gladys ist es einfach nur top. Keine Notwendigkeit, alles neu zu parametrieren.

Der Fix ist in Gladys Assistant v4.21.1 verfügbar: