So, nachdem ich gestern einen Großteil meiner Zeit damit verbracht habe meine Zigbee-Geräte “umzuziehen” geht es nun leider an die Fehlersuche.
Es lief meiner Meinung nach erst mal alles gut, aber plötzlich wollten sich keine Geräte mehr anlernen lassen.
Ich habe keine Ahnung, warum.
Wie bin ich vorgegangen?
Nativ-HAOS (NUC) lief mit Z2M-Addon und Mosquitto Addon
HAOS-VM (Dell) lief nicht
Die (neuen) Container für Z2M und MQTT liefen (Dell).
Ich habe parallel auf dem Tablet die Geräte aus dem Nativ-HA OS-Add-on gelöscht, wo möglich und parallel auf dem Zigbee2MQTT LXC-Container angelernt, mit demselben Entitätsnamen.
Ich habe dann mal die VM (HAOS) und die Container (MQTT, Z2M) neu gestartet, den SLZB-06 von PoE getrennt und neu verbunden.
Irgendwann hatte es (kurzzeitig) wieder funktioniert.
Nachdem ich so weit “alle” Geräte in den Container umgezogen hatte, habe ich den NUC ausgeschaltet und die IP vom NUC in der F!B dem Dell gegeben.
Geräte ließen sich schalten und wurden auf dem Dashboard korrekt angezeigt.
Irgendwann aber nicht mehr.
Irgendwie geht der SLZB-06-Adapter nicht mehr “online” was auch daran zu erkennen ist, dass die grüne LED nicht mehr leuchtet.
Verwirrung pur, aber ich versuche mal da durchzusteigen.
Fangen wir mal damit an, den Ping machst Du auf ein Gerät mit der Endziffer 253 im Bild zeigst Du aber mqtt mit der Endziffer 223, das passt nicht zusammen.
Dann solltest Du in Deinem Heimnetzwerk Fritz!Box Repeater oder ein Mesh haben, dann ist das normal, dass Geräte, die mit einem anderen Mesh verbunden sind, nicht in der Fritz!Box auftauchen
So nun zum Problem Zigbee2MQTT, was steht denn in den Logs von Z2M?
Was zeigt Dir denn der Status von systemd? Dazu musst Du dich per Konsole im Z2M Container anmelden und das Ausführen
# sudo systemctl status zigbee2mqtt.service
Und
# sudo journalctl -g zigbee
Oder, am Speicherort der Z2M Logs, kann bei Dir woanders sein
sudo more /var/lib/zigbee2mqtt/log/aktuelles.log
VG
Bernd
P.S.: das die grüne LED nicht leuchtet, kann auch an einer Einstellung ligen.
Da sehe ich schon ein Problem. Seltsam finde ich, dass er nichts “verliert”, obwohl das Ziel nicht erreichbar ist. Aber das spielt eigentlich keine Rolle, ist nur in meinem Hirn unlogisch, aber egal.
root@zigbee2mqtt:~# sudo systemctl status zigbee2mqtt.service
* zigbee2mqtt.service - zigbee2mqtt
Loaded: loaded (/etc/systemd/system/zigbee2mqtt.service; enabled; preset: enabled)
Active: active (running) since Sun 2024-05-26 10:15:21 CEST; 14s ago
Main PID: 4987 (npm start)
Tasks: 23 (limit: 18977)
Memory: 85.2M
CPU: 2.553s
CGroup: /system.slice/zigbee2mqtt.service
|-4987 "npm start"
|-4998 sh -c "node index.js"
`-4999 node index.js
May 26 10:15:23 zigbee2mqtt npm[4999]: [2024-05-26 10:15:23] info: z2m: bew_hobby (0xa4c138e740bb52e2): ZG-204ZL - TuYa Luminance motion sensor (EndDevice)
May 26 10:15:23 zigbee2mqtt npm[4999]: [2024-05-26 10:15:23] info: z2m: Steckdose Trockner (0xa4c138b007c3c4ed): Not supported (Unknown)
May 26 10:15:23 zigbee2mqtt npm[4999]: [2024-05-26 10:15:23] info: z2m: 0xa4c1381fb7fcf7dc (0xa4c1381fb7fcf7dc): Not supported (Unknown)
May 26 10:15:23 zigbee2mqtt npm[4999]: [2024-05-26 10:15:23] info: z2m: Zigbee: disabling joining new devices.
May 26 10:15:23 zigbee2mqtt npm[4999]: [2024-05-26 10:15:23] info: z2m: Connecting to MQTT server at mqtt://192.168.115.223:1883
May 26 10:15:27 zigbee2mqtt npm[4999]: [2024-05-26 10:15:27] error: z2m: MQTT error: connect EHOSTUNREACH 192.168.115.223:1883
May 26 10:15:27 zigbee2mqtt npm[4999]: [2024-05-26 10:15:27] error: z2m: MQTT failed to connect, exiting...
May 26 10:15:27 zigbee2mqtt npm[4999]: [2024-05-26 10:15:27] info: z2m: Stopping zigbee-herdsman...
May 26 10:15:31 zigbee2mqtt npm[4999]: [2024-05-26 10:15:31] error: z2m: MQTT error: connect EHOSTUNREACH 192.168.115.223:1883
May 26 10:15:35 zigbee2mqtt npm[4999]: [2024-05-26 10:15:35] error: z2m: MQTT error: connect EHOSTUNREACH 192.168.115.223:1883
root@zigbee2mqtt:~# ^C
root@zigbee2mqtt:~# ^C
root@zigbee2mqtt:~#
May 26 10:16:27 zigbee2mqtt systemd[1]: zigbee2mqtt.service: Scheduled restart job, restart counter is at 154.
May 26 10:16:27 zigbee2mqtt systemd[1]: Stopped zigbee2mqtt.service - zigbee2mqtt.
May 26 10:16:27 zigbee2mqtt systemd[1]: zigbee2mqtt.service: Consumed 2.660s CPU time.
May 26 10:16:27 zigbee2mqtt systemd[1]: Started zigbee2mqtt.service - zigbee2mqtt.
May 26 10:16:27 zigbee2mqtt npm[5115]: > zigbee2mqtt@1.37.1 start
May 26 10:16:28 zigbee2mqtt npm[5127]: [2024-05-26 10:16:28] info: z2m: Starting Zigbee2MQTT version 1.37.1 (commit #c02c61d)
May 26 10:16:28 zigbee2mqtt npm[5127]: [2024-05-26 10:16:28] info: z2m: Starting zigbee-herdsman (0.46.6)
May 26 10:16:29 zigbee2mqtt npm[5127]: [2024-05-26 10:16:29] info: z2m: zigbee-herdsman started (resumed)
May 26 10:16:29 zigbee2mqtt npm[5127]: [2024-05-26 10:16:29] info: z2m: Zigbee: disabling joining new devices.
May 26 10:16:33 zigbee2mqtt npm[5127]: [2024-05-26 10:16:33] info: z2m: Stopping zigbee-herdsman...
May 26 10:16:43 zigbee2mqtt npm[5127]: [2024-05-26 10:16:43] info: zh:controller: Wrote coordinator backup to '/opt/zigbee2mqtt/data/coordinator_backup.json'
May 26 10:16:43 zigbee2mqtt npm[5127]: [2024-05-26 10:16:43] info: z2m: Stopped zigbee-herdsman
May 26 10:16:43 zigbee2mqtt npm[5127]: /opt/zigbee2mqtt/node_modules/winston/node_modules/readable-stream/lib/_stream_writable.js:264
May 26 10:16:43 zigbee2mqtt npm[5127]: at writeAfterEnd (/opt/zigbee2mqtt/node_modules/winston/node_modules/readable-stream/lib/_stream_writable.js:264:12)
May 26 10:16:43 zigbee2mqtt npm[5127]: at DerivedLogger.Writable.write (/opt/zigbee2mqtt/node_modules/winston/node_modules/readable-stream/lib/_stream_writable.js:300:21)
May 26 10:16:43 zigbee2mqtt npm[5127]: at DerivedLogger.log (/opt/zigbee2mqtt/node_modules/winston/lib/winston/logger.js:252:14)
May 26 10:16:43 zigbee2mqtt npm[5127]: at DerivedLogger.<computed> [as info] (/opt/zigbee2mqtt/node_modules/winston/lib/winston/create-logger.js:95:19)
May 26 10:16:43 zigbee2mqtt npm[5127]: at Logger.info (/opt/zigbee2mqtt/lib/util/logger.ts:169:21)
May 26 10:16:43 zigbee2mqtt npm[5127]: at Znp.onPortClose (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/adapter/z-stack/znp/znp.ts:113:16)
May 26 10:16:43 zigbee2mqtt systemd[1]: zigbee2mqtt.service: Main process exited, code=exited, status=1/FAILURE
May 26 10:16:43 zigbee2mqtt systemd[1]: zigbee2mqtt.service: Failed with result 'exit-code'.
May 26 10:16:43 zigbee2mqtt systemd[1]: zigbee2mqtt.service: Consumed 2.696s CPU time.
May 26 10:16:43 zigbee2mqtt systemd[1]: zigbee2mqtt.service: Scheduled restart job, restart counter is at 155.
May 26 10:16:43 zigbee2mqtt systemd[1]: Stopped zigbee2mqtt.service - zigbee2mqtt.
May 26 10:16:43 zigbee2mqtt systemd[1]: zigbee2mqtt.service: Consumed 2.696s CPU time.
May 26 10:16:43 zigbee2mqtt systemd[1]: Started zigbee2mqtt.service - zigbee2mqtt.
May 26 10:16:43 zigbee2mqtt npm[5146]: > zigbee2mqtt@1.37.1 start
May 26 10:16:44 zigbee2mqtt npm[5158]: [2024-05-26 10:16:44] info: z2m: Starting Zigbee2MQTT version 1.37.1 (commit #c02c61d)
May 26 10:16:44 zigbee2mqtt npm[5158]: [2024-05-26 10:16:44] info: z2m: Starting zigbee-herdsman (0.46.6)
May 26 10:16:46 zigbee2mqtt npm[5158]: [2024-05-26 10:16:46] info: z2m: zigbee-herdsman started (resumed)
May 26 10:16:46 zigbee2mqtt npm[5158]: [2024-05-26 10:16:46] info: z2m: Zigbee: disabling joining new devices.
May 26 10:16:49 zigbee2mqtt npm[5158]: [2024-05-26 10:16:49] info: z2m: Stopping zigbee-herdsman...
May 26 10:16:53 zigbee2mqtt sudo[5177]: root : TTY=pts/1 ; PWD=/root ; USER=root ; COMMAND=/usr/bin/journalctl -g zigbee
May 26 10:16:59 zigbee2mqtt npm[5158]: [2024-05-26 10:16:59] info: zh:controller: Wrote coordinator backup to '/opt/zigbee2mqtt/data/coordinator_backup.json'
May 26 10:16:59 zigbee2mqtt npm[5158]: [2024-05-26 10:16:59] info: z2m: Stopped zigbee-herdsman
May 26 10:16:59 zigbee2mqtt npm[5158]: /opt/zigbee2mqtt/node_modules/winston/node_modules/readable-stream/lib/_stream_writable.js:264
May 26 10:16:59 zigbee2mqtt npm[5158]: at writeAfterEnd (/opt/zigbee2mqtt/node_modules/winston/node_modules/readable-stream/lib/_stream_writable.js:264:12)
May 26 10:16:59 zigbee2mqtt npm[5158]: at DerivedLogger.Writable.write (/opt/zigbee2mqtt/node_modules/winston/node_modules/readable-stream/lib/_stream_writable.js:300:21)
May 26 10:16:59 zigbee2mqtt npm[5158]: at DerivedLogger.log (/opt/zigbee2mqtt/node_modules/winston/lib/winston/logger.js:252:14)
May 26 10:16:59 zigbee2mqtt npm[5158]: at DerivedLogger.<computed> [as info] (/opt/zigbee2mqtt/node_modules/winston/lib/winston/create-logger.js:95:19)
May 26 10:16:59 zigbee2mqtt npm[5158]: at Logger.info (/opt/zigbee2mqtt/lib/util/logger.ts:169:21)
May 26 10:16:59 zigbee2mqtt npm[5158]: at Znp.onPortClose (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/adapter/z-stack/znp/znp.ts:113:16)
May 26 10:16:59 zigbee2mqtt systemd[1]: zigbee2mqtt.service: Main process exited, code=exited, status=1/FAILURE
May 26 10:16:59 zigbee2mqtt systemd[1]: zigbee2mqtt.service: Failed with result 'exit-code'.
May 26 10:16:59 zigbee2mqtt systemd[1]: zigbee2mqtt.service: Consumed 2.662s CPU time.
May 26 10:17:00 zigbee2mqtt systemd[1]: zigbee2mqtt.service: Scheduled restart job, restart counter is at 156.
May 26 10:17:00 zigbee2mqtt systemd[1]: Stopped zigbee2mqtt.service - zigbee2mqtt.
May 26 10:17:00 zigbee2mqtt systemd[1]: zigbee2mqtt.service: Consumed 2.662s CPU time.
May 26 10:17:00 zigbee2mqtt systemd[1]: Started zigbee2mqtt.service - zigbee2mqtt.
May 26 10:17:00 zigbee2mqtt npm[5181]: > zigbee2mqtt@1.37.1 start
May 26 10:17:01 zigbee2mqtt npm[5193]: [2024-05-26 10:17:01] info: z2m: Starting Zigbee2MQTT version 1.37.1 (commit #c02c61d)
May 26 10:17:01 zigbee2mqtt npm[5193]: [2024-05-26 10:17:01] info: z2m: Starting zigbee-herdsman (0.46.6)
May 26 10:17:02 zigbee2mqtt npm[5193]: [2024-05-26 10:17:02] info: z2m: zigbee-herdsman started (resumed)
May 26 10:17:02 zigbee2mqtt npm[5193]: [2024-05-26 10:17:02] info: z2m: Zigbee: disabling joining new devices.
May 26 10:17:06 zigbee2mqtt npm[5193]: [2024-05-26 10:17:06] info: z2m: Stopping zigbee-herdsman...
lines 4897-4951/4951 (END)
Ich bin mir grade nicht mehr sicher, wie ich den MQTT eingerichtet hatte, da das noch mit der “alten” Helper-Skript Seite war und die “neue” Seite mit Post-Install für mich nicht bekannt aussieht.
Wie überprüfe ich den Besitzer? Bzw. welchen muss ich hier eintragen?
Ensure that the file is managed by the appropriate user and group.
chown mosquitto:mosquitto /etc/mosquitto/passwd
Ok, das kann ich nicht beurteilen, der Moaquitto MQTT Broker läuft auch in einem LX Container?
Wenn ja, dann auch mal dort mal einloggen und den Status anschauen, ich habe kein Mosquitto, daher kann ich Dir nicht sagen wie der Service genau heißt, dass unten ist nur eine Vermutung
# sudo systemctl status mosquitto.service
Auch da mal schauen, was da so in den Logs steht.
# sudo journalctl -g mqtt
Hier steht ja eindeutig, dass Z2M seinen Broker nicht erreicht.
Im LOG steht das dann halt auch, in anderer Form, aber Z2M stoppt, weil etwas nicht stimmt.
Da hat sich doch nur die Seite geänder, nicht das Skript, oder?
Da müsste ich schauen was sich da geänder hat, denke aber nichts.
Ich habe nun mal Dell komplett heruntergefahren und neu gestartet. Das hatte ich mich bisher nicht getraut, da ich Proxmox nicht “abwürgen” wollte und keinen Knopf gefunden habe, wo ich die physische Hardware neu starten kann.
Aktuell ist MQTT wieder erreichbar per Ping und es scheint aktuell so weit zu funktionieren. Grüne LED ist aber immer noch aus.
Edit:
Auf einmal leuchtet auch die grüne LED!!!
Edit 2: Und als ich es schreibe, ist sie wieder aus
Würde EMQX auch 100 mal den Mosquito vorziehen. Einfach viel performanter als der Mosquito und die komplette Konfiguration und User Management erfolgt über die sehr aufgeräumte und intuitive Web UI.
@silberfuxx wenn Du ohnehin schon beim neu einrichten bist, tue Dir den Mosquito nicht mehr an.
Als ich anfing, kannte ich auch nur Mosquitto, erst als ich mich mit der Materie anfing auseinander zu setzen, stieß ich auf EMQX, und seit dem bin ich dabei geblieben.
So sieht die WEB-UI aus
Kann ich den einfach so ersetzen? Oder muss ich da dann wieder alles “händisch” neu machen?
Und wie muss ich den konfigurieren?
Den LX Container hab ich per Helper-Skript hinbekommen, aber nun komme ich beim Z2M mit der einrichtung nicht weiter.
Ich wollte den MQTT server entsprechend auf
Was genau meinst Du damit?
Der EMQX ist auch mittels Helfer Skript als LXC zu installieren!
Von welchem sprichst Du,
vom Zigbee2MQTT?
vom MQTT Broker?
Du kannst Dir doch einfach einen EMQX als LXC erstellen, das ist doch der riesengroße Vorteil bei Proxmox.
In Zigbee2MQTT musst Du in der Konfiguration, dann nur die korrekte IP-Adresse vom Broker eintragen, Du kannst auch erst einmal ohne User und Passwort anfangen.
Um welche IP geht es denn hier schon wieder?
Und wieso ist der Port 18083, Standard ist 1883
Grundlagen:
Zigbee2MQTT = Empfängt die daten über Zigbee und bereitet die Daten so auf um sie an einen MQTT Broker zu verschicken, Publishing
MQTT Broker = Das Bindeglied, empfängt die Daten und hält sie auf Vorrat, bis ein Empfänger (Subscriber) abholt
HA Integration = ist einer der Empfänger (Subscriber) der dann die Daten beim MQTT Broker abholt
HA Integration = ist auch ein Publisher, denn er sagt via MQTT schalte das Licht XYZ ein, das geht an den MQTT Broker, der
MQTT Broker = published das dann zum Zigbee2MQTT
Zigbee2MQTT = sendet das empfangene Datenpaket an das Device Licht XYZ, das dann angeht.
Die Installation Zigbee2MQTT und MQTT Broker kannst Du austauschen, ohne neu anzulernen, denn Du lernst ja am Zigbee2MQTT an, nicht am MQTT Broker.
Den hab ich gemacht. Der hat nun (erst einmal) die IP 192.168.115.55 erhalten. Sollte der Übersichtlichkeit halber später die .223 bekommen (vom Mosquitto)
192.168.115.55:18083 hat mir die Shell als IP nach der Installation mitgeteilt und damit komme ich auch auf die GUI und habe dort einen User angelegt.
1883 funktioniert nicht. Liegt vielleicht daran, dass da noch der Mosquitto liegt? Allerdings hat der ja eine andere IP.
Wie gesagt, wenn ich hier “nur” die IP ändere, bekomme ich den Fehler.
Benutzer und Passwort habe ich mit den gleichen Informationen erstellt, wie im Mosquitto.
P.s. wie starte ich die pysische Hardwere, auf der Proxmox läuft am besten neu, wenn nötig bzw. zu Sicherheit, fals etwas nicht funktioniert?
Ok, verstehe, das ist aber nur der Port, den man zum Einstieg in die WEB-UI braucht, MQTT ist weiterhin der Port 1883 und muss auch so in Z2M eingetragen werden.
Genau so ist das Falsch
Sorry, hab ich bei Deinen ganzen hilfreichen Informationen übersehen.
Danke für Deine Geduld. Ich glaube, in der Theorie hab ich es verstanden, nur Z2M sieht das anders. Nein, Spaß beiseite, ich muss noch einen anderen Fehler haben, denn auch mit Port 1883 kann ich nicht “submiten”
Ich hatte das erst mal “nur” im Z2M LX-Container geändert. Muss das im MQTT auch direkt geändert werden?
Um das über HA zu steuern usw. muss es klar geändert werden, aber die Verbindung zwischen Z2M und EMQX sollte doch grundsätzlich auch ohne Änderung in HA gehen, oder?
Edit:
ich hab das nun mal in der HA-Integration auch auf die .55 geändert, und das scheint zu funktionieren.
Die Namen sind nur etwas kryptisch … aber über die Ip ja erkennbar.
Danke nochmal für die großartige Unterstützung.
Aber ich muss mich jetzt erst mal um meine Gäste kümmern.
Aber ich befürchte, ich werde mich nochmals melden. z.B. downgrade von Z2M auf 1.36.x wegen der nervigen Meldungen.
Ist aber auch erst einmal völlig schnurtz
Wenn man einen MQTT Broker im Industriellen Umfeld nutzt, mit 1000den Clients, dann sollte man schon sprechende Namen nutzen, hier reden wir vielleicht von einer Handvoll
VG
Bernd
P.S.: die, mit einem einigermaßen lesbaren Namen, kommen aus Tasmota, die zwei anderen sind Z2M und Home Assistant
So, nachdem ich einige Geräte und Automationen angepasst haben, scheint grundsätzlich das Meiste zu funktionieren.
Aber eine Frage hätte ich grade noch.
Bevor ich mich mit den automatischen (Cloud-) Backups beschäftige, würde ich gerne die Backups lokal auf meinen PC (oder einem USB-Gerät) sichern.
Wie kann ich die Proxmox_Backups herunterladen?
Super, vielen Dank mal wieder.
Ich habe mich jetzt erst mal jeweils die 3 Dateien für Home Assistant, Z2M und EMQX auf meinen PC geladen.
Nochmal um für mich zur Sicherheit.
Ich könnte nun, wenn nötig, einfach per (Helfer-Skript) neue VM/LXC erstellen, die 3 gesicherten Dateien (*.log, *.tar.zst und *.tar.zst.notes) per FileZilla wieder nach Proxmox (u.U. frisch installiert auf anderer Hardware) hochladen, und dann die Backups auf die frischen VM/LXC aufspielen und alles ist so wie zur Zeit des Backups?
Wobei vermutlich nur die jeweilige *.tar.zst reichen würden?