Zigbee2mqtt: Docker-Testimage basierend auf Gladys v4

Oui oui je sais, suis pas pressé :beer: :slight_smile: ( der Login ändert nichts )

Ich musste ein bisschen basteln, um die 3 Container zum Laufen zu bringen, es war unmöglich, den zigbee2mqtt-Container zu haben (ich musste die Passwörter in der MQTT-Konfiguration entfernen, um meinen alten Container verwenden zu können, kurz gesagt).

Also sollte es jetzt normal funktionieren, da der Status

Aber in den Logs:

Bearbeitung: Es hat schließlich funktioniert

Gut gemacht @Reno, ich war noch nie so glücklich, meine Sensoren im Dashboard zu sehen

Ich bekomme meinen Schlüssel morgen, kann es kaum erwarten, das alles zu testen :slight_smile:

Cool, dass es dir gefällt.
Ich hoffe, es funktioniert gleich beim ersten Mal mit den Standardinstallationen.

Ich muss einen PR für den atmosphärischen Druck machen, der in hPa angezeigt werden sollte.

Hallo @Reno und herzlichen Glückwunsch zu dieser großartigen Arbeit! :slight_smile:

Tatsächlich handelt es sich um eine Integration, die sehr erwartet wird und viele glücklich machen wird.

Toll, genau das Richtige. Gute Arbeit.

Klar. Das wird zukünftige Probleme vermeiden und vor allem ermöglicht es, Menschen zu unterstützen, die einen externen Broker für MQTT haben, aber nicht unbedingt für Zigbee2mqtt verwenden wollen (das hätte keinen Sinn).

Kleine Frage: Wie nennst du den Mosquitto-Container? Sein Name muss deutlich von dem des MQTT-Dienstes unterschieden werden.

Ich erlaube mir zu antworten:

z2m-mqtt für mqtt
zigbee2mqtt für z2m

Ich denke, man sollte eine Regel für die Gladys-Container aufstellen, zum Beispiel ein Präfix ga- (für Gladys Assistant).

Ich habe auch den Port für den Broker (1884) geändert, um die beiden parallel laufen zu haben.

Für den Zigbee2mqtt-Container wollte ich z2m-z2m verwenden, aber das sieht nicht sehr schön aus! :wink:
Nein, eigentlich habe ich es vergessen, so sehr war ich darauf bedacht, das Bild zu veröffentlichen…

echt gute Idee. Aber dann müssen wir sehen, wie wir mit dem Bestehenden umgehen, denn wir können nicht einfach so migrieren ^^

Ja, wichtig! Sehr gut.

Danke @Reno für all deine Arbeit!
Ich kann es kaum erwarten, das schnell zu testen!

Nur eine kleine Frage, ich habe einen RPi, der mit dem offiziellen Gladys-Image (v4) läuft
Kann ich dein Image parallel auf demselben RPi verwenden, ohne Konflikte zu verursachen (natürlich mit geänderten Ports für die UI)? Oder wäre es ratsam, Tests auf einer dafür dedizierten Karte durchzuführen?

Du kannst den Port und den Namen der DB ändern

Zum Beispiel

docker run -d \
--log-opt max-size=10m \
--restart=always \
--privileged \
--network=host \
--name gladys-zigbee2mqtt \
-e NODE_ENV=production \
-e SERVER_PORT=1080 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-zigbee2mqtt.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant:/var/lib/gladysassistant \
-v /dev:/dev \
-v /run/udev:/run/udev:ro \
r6n0/gladys-zigbee2mqtt:latest 

Super @VonOx! Ich mach das und gebe euch schnell Feedback mit meinem Xiaomi-Material (Türöffnung, Vibration, Helligkeit, Druckknopf, usw.)

Okay, ich bekomme das hier:

docker logs gladys-zigbee2mqtt

pi@gladys:~ $ docker logs gladys-zigbee2mqtt

gladys-server@ start:prod /src/server
cross-env NODE_ENV=production node index.js

Initialisiere OpenZWave 1.6.1051 Binary-Addon für Node.JS.
	OpenZWave Security API ist AKTIVIERT
	ZWave-Geräte-Datenbank: /usr/local/etc/openzwave
	Benutzereinstellungen-Pfad: /src/server/services/zwave/node_modules/openzwave-shared/build/Release/../../
	Optionen-Überschreibungen: --Logging false --ConsoleOutput false --SaveConfiguration true
2020-11-16T11:59:39+0100 <info> service.start.js:53 (Service.start) Der Dienst mqtt ist nicht konfiguriert, daher wurde er nicht gestartet.
2020-11-16T11:59:39+0100 <info> index.js:20 (Object.start) Start des Open Weather-Dienstes
2020-11-16T11:59:39+0100 <info> service.start.js:53 (Service.start) Der Dienst openweather ist nicht konfiguriert, daher wurde er nicht gestartet.
2020-11-16T11:59:39+0100 <info> init.js:38 (Zigbee2mqttManager.init) Zigbee2mqtt USB-Dongle nicht angeschlossen
2020-11-16T11:59:39+0100 <info> index.js:15 (Object.start) Start des Bluetooth-Dienstes
2020-11-16T11:59:40+0100 <info> index.js:16 (Object.start) Start des zwave-Dienstes
2020-11-16T11:59:40+0100 <info> service.start.js:53 (Service.start) Der Dienst zwave ist nicht konfiguriert, daher wurde er nicht gestartet.
2020-11-16T11:59:40+0100 <info> index.js:13 (Object.start) Start des USB-Dienstes
2020-11-16T11:59:40+0100 <info> index.js:19 (Object.start) Start des Telegram-Dienstes
2020-11-16T11:59:40+0100 <info> service.start.js:53 (Service.start) Der Dienst telegram ist nicht konfiguriert, daher wurde er nicht gestartet.
2020-11-16T11:59:40+0100 <info> index.js:63 (Server.<anonymous>) Server hört auf Port 1080
2020-11-16T12:02:59+0100 <info> init.js:49 () Zigbee2mqtt USB-Dongle an /dev/ttyACM0 angeschlossen
2020-11-16T12:03:10+0100 <info> init.js:49 () Zigbee2mqtt USB-Dongle an /dev/ttyACM0 angeschlossen
2020-11-16T12:03:10+0100 <info> installMqttContainer.js:30 (Zigbee2mqttManager.installMqttContainer) MQTT-Broker wird als Docker-Container installiert...
2020-11-16T12:03:10+0100 <info> installMqttContainer.js:31 (Zigbee2mqttManager.installMqttContainer) Pulling eclipse-mosquitto:latest-Image...
2020-11-16T12:03:21+0100 <info> installMqttContainer.js:34 (Zigbee2mqttManager.installMqttContainer) Vorbereitung der Broker-Umgebung...
2020-11-16T12:03:21+0100 <info> installMqttContainer.js:38 (Zigbee2mqttManager.installMqttContainer) Container wird erstellt...
2020-11-16T12:03:21+0100 <info> installMqttContainer.js:52 (Zigbee2mqttManager.installMqttContainer) Zigbee2MQTT MQTT-Broker startet...
2020-11-16T12:03:27+0100 <info> installMqttContainer.js:58 (Zigbee2mqttManager.installMqttContainer) Benutzer/Kennwort wird erstellt...
2020-11-16T12:03:27+0100 <info> installMqttContainer.js:69 (Zigbee2mqttManager.installMqttContainer) MQTT-Broker-Container erfolgreich gestartet
2020-11-16T12:03:27+0100 <info> installZ2mContainer.js:29 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt wird als Docker-Container installiert...
2020-11-16T12:03:27+0100 <info> installZ2mContainer.js:30 (Zigbee2mqttManager.installZ2mContainer) Pulling koenkk/zigbee2mqtt:latest-Image...
2020-11-16T12:04:10+0100 <info> installZ2mContainer.js:33 (Zigbee2mqttManager.installZ2mContainer) Vorbereitung der Zigbee2mqtt-Umgebung...
2020-11-16T12:04:10+0100 <info> installZ2mContainer.js:39 (Zigbee2mqttManager.installZ2mContainer) Container wird erstellt...
2020-11-16T12:04:14+0100 <info> installZ2mContainer.js:47 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt erfolgreich als Docker-Container installiert
2020-11-16T12:04:14+0100 <info> installZ2mContainer.js:59 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt startet...
2020-11-16T12:04:20+0100 <info> installZ2mContainer.js:71 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt erfolgreich gestartet
2020-11-16T12:04:20+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:04:20+0100 <warn> connect.js:41 (MqttClient.<anonymous>) Von MQTT-Server getrennt
2020-11-16T12:04:25+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:04:30+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:04:35+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:04:40+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:04:45+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:04:50+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:04:55+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:05:00+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:05:05+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:05:10+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:05:15+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:05:20+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:05:25+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:05:30+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:05:35+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:05:40+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:05:45+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:05:50+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:05:55+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:06:00+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:06:05+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:06:10+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:06:15+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:06:21+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:06:26+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:06:31+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:06:36+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:06:41+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:06:46+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:06:51+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:06:56+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:07:01+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:07:06+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:07:11+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:07:16+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:07:21+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:07:26+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:07:31+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:07:36+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:07:41+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:07:46+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:07:51+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:07:56+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:08:01+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:08:06+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:08:11+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:08:16+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:08:21+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:08:26+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:08:31+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:08:36+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:08:41+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:08:46+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:08:51+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:08:56+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:09:01+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:09:06+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:09:11+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:09:16+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:09:21+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:09:26+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2020-11-16T12:09:31+0100 <warn> connect.js:32 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert

Ich weiß warum

Führe diese 2 Befehle aus:

docker restart z2m-mqtt
docker restart zigbee2mqtt

Dann überprüfe es nochmal in Gladys

Alles ist grün! Danke @VonOx!

Ich hoffe, dass dieses Feedback hilft, eine einfachere Installation zu erstellen, die zumindest nicht solche Manipulationen erfordert. Haha

Das ist genau das Ziel!

Allerdings dachte ich, ich hätte das Problem bereits gelöst, weil es bei mir nicht mehr auftrat.
Eine andere Lösung besteht darin, den Dienst zu deaktivieren und ihn dann über die Oberfläche wieder zu aktivieren.

Laut meinen Beobachtungen wird die MQTT-Konfiguration nicht berücksichtigt und erfordert einen Neustart des Containers.

@Reno ich würde dir empfehlen, dir anzusehen, was beim MQTT-Service gemacht wurde. Hast du die letzten Änderungen überprüft? Es wurden einige Details implementiert, damit solche Fehler nicht auftreten. Insbesondere Zeitverzögerungen und Überprüfungen, um den Container nur zu starten, wenn er bereit ist.

Nach einigen schnellen Tests sind die Ergebnisse bisher vielversprechend!!
Ich habe vier Sensoren gefunden:

  • Türöffnung: OK
  • Ein-Taster-Schalter: OK
  • Vibrationssensor: OK
  • Helligkeitssensor: NICHT OK (aber ich glaube, die Batterie ist leer…)

Alles super bis jetzt!! Ich werde meine Tests später etwas weiter fortsetzen.

Vielen, vielen Dank @Reno!!