Zigbee2mqtt lernt nix an

Hallo,
habe nach Simons Tutorial Zigbee2mqtt auf den HA gebracht.
Nach der Intallation bzw. dem Start des Add-on ist das Protokoll nicht Fehlerfrei:

[19:44:54] INFO: Preparing to start...
[19:44:54] INFO: Socat not enabled
[19:44:54] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT without watchdog.
[2025-04-28 19:44:55] info: 	z2m: Logging to console, file (filename: log.log)
[2025-04-28 19:44:55] info: 	z2m: Starting Zigbee2MQTT version 2.2.1 (commit #unknown)
[2025-04-28 19:44:55] info: 	z2m: Starting zigbee-herdsman (3.4.11)
[2025-04-28 19:44:55] info: 	zh:adapter:discovery: Matched adapter: {"path":"/dev/ttyUSB0","manufacturer":"ITead","serialNumber":"8e88adc0ea4eef1181fc46b3174bec31","pnpId":"usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_8e88adc0ea4eef1181fc46b3174bec31-if00-port0","vendorId":"10c4","productId":"ea60"} => zstack: path=/dev/ttyUSB0, score=4
[2025-04-28 19:44:55] info: 	zh:zstack:znp: Opening SerialPort with {"path":"/dev/ttyUSB0","baudRate":115200,"rtscts":false,"autoOpen":false}
[2025-04-28 19:44:55] info: 	zh:zstack:znp: Serialport opened
[2025-04-28 19:44:56] info: 	z2m: zigbee-herdsman started (resumed)
[2025-04-28 19:44:56] info: 	z2m: Coordinator firmware version: '{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20210708,"transportrev":2},"type":"zStack3x0"}'
[2025-04-28 19:44:56] info: 	z2m: Currently 0 devices are joined.
[2025-04-28 19:44:56] info: 	z2m: Connecting to MQTT server at mqtt://core-mosquitto:1883
[2025-04-28 19:44:56] info: 	z2m: Connected to MQTT server
[2025-04-28 19:44:56] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"online"}'
[2025-04-28 19:44:56] error: 	z2m: Failed to start 'Bridge' (TypeError: Cannot read properties of undefined (reading 'getDevice')
    at Bridge.publishInfo (/app/lib/extension/bridge.ts:692:69)
    at Bridge.start (/app/lib/extension/bridge.ts:179:9)
    at Controller.startExtension (/app/lib/controller.ts:268:13)
    at Controller.start (/app/lib/controller.ts:148:13)
    at start (/app/index.js:149:5))
[2025-04-28 19:44:56] info: 	z2m: Started frontend on port 8099
[2025-04-28 19:44:56] error: 	z2m: Failed to start 'HomeAssistant' (TypeError: Cannot read properties of undefined (reading 'deviceIeeeAddress')
    at HomeAssistant.getBridgeEntity (/app/lib/extension/homeassistant.ts:1913:78)
    at HomeAssistant.start (/app/lib/extension/homeassistant.ts:410:28)
    at Controller.startExtension (/app/lib/controller.ts:268:13)
    at Controller.start (/app/lib/controller.ts:148:13)
    at start (/app/index.js:149:5))
[2025-04-28 19:44:56] info: 	z2m: Zigbee2MQTT started!
[2025-04-28 19:44:58] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"online"}'

Meine Konfiguration:

enabled: false
master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
options: "-d -d"
log: false

port: /dev/ttyUSB0

Wenn ich ein Gerät anmelden will passiert rein nichts wenn ich das im Dashbord aktiviere.

Bist du sicher, dass der Port richtig ist?
Schaue bitte unter Einstellungen->System->Hardware->gesamte Hardeware

bei mir sieht der Pfad so aus:
/dev/serial/by-id/usb-Itead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_V2_18fec562863aef118xxxxxxxxxxxxx-if00-port0
Und der “adapter”-Parameter fehlt auch in deiner Konfig.


So sieht die Konfiguration aus.
und so der Hardware eintrag:

Woe sollte denn der lange Pfad hin? in Simons Beschreibung war nur der kurze gefragt port: /dev/ttyUSB0
und wo muss der Adapterparametr hinein? und welcher?
In zigbee2mqtt wird auch nichts über den Stick angezeigt?
Habe auch schon vergeblich versucht die Firmware zu flashen…

Das, was bei ID steht, kopieren und bei “port:” in der Konfiguration eintragen.
und dann zusätzlich “adapter: ember” einfügen.
Siehe Screenshot von meinen Einstellungen.

Ein Update auf die aktuelle Firmware hat der Stick bereits erhalten?

Ok, das versuche ich mal.
Und das mit dem Update habe ich versucht, doch ist mir das noch nicht gelungen.
Es gibt ja viele Anleitungen aber irgendwie habe ich da noch nichts gebacken bekommen.
Welche Methode ist denn die einfachste?

Zum Update kann ich dir ausm Stehgreif nicht helfen. Ich hatte das damals mit Unterstützung durch ein englischsprachiges Video (Youtube) gemacht.
War eigentlich simpel. Wichtig war nur, dass du dafür nicht den Firefox, sondern einen Chromium-basierenden Browser (z.B. Chrome oder Edge) benutzt.

Ohne ein Firmware-Update auf eine Version > 7.4 und den ember Eintrag brauchst Du da gar nichts weiter probieren, denn das wird nicht funktionieren.

Zu dem Firmware-Update bei einem Sonoff Dongle-E gibt es hier im Forum div. Beiträge und Postings und darin haben User auch beschrieben auf welchen Weg sie das Update durchgeführt haben und was für sie ggf. der beste oder einfachste Weg war. Also einmal mal hier ein wenig suchen und lesen.

VG JIm

Also zunächst habe ich den Dongle-P mit dem TI Chipsatz, insofern muss da bei “adapter: zstack” stehen oder?
Ansonsten habe schon mehrfach versucht meinen Stick Dongle-P zu flashen. Das wird weder mit dem Tool von Texasinstruments “Flash Programmer 2” noch “SMLIGHT” im Web etwas.
Bisher habe ich 1x irgendwo … weiß nicht wo, gelesen man muss den Stick auseinandernehmen und irgendwie in Flashmode versetzen, sonst geht da nichts…
Nur lese ich hier im Forum bisher nirgends, dass oder was da gemacht werden muss? Weiß da jemand genaues bevor ich das Ding zerschraube?

Ja. Ich bin da etwas durcheinander gekommen weil ich nur das erste Posting von @Radiocarbonat und seine Pfadangabe darin gesehen hatte. :laughing: Da darin der Dongle-E steht

bin ich davon ausgegangen das es hier um den Dongle-E geht. Sorry - hätte ich mir Dein Log genauer angeschaut hätte ich gesehen das es um einen Dongle-P geht. :slightly_smiling_face:

Nein. Ich habe hier u.a. auch noch einen Dongle-P und der kann ganz normal geflasht werden, sprich da muss nichts auseinander genommen werden. Ja das flashen kann auch mal etwas “zickig” sein, :laughing: aber bei mir ist das letzte flashen schon wieder so lange her das ich Dir nicht sagen kann welchen Weg man dafür aktuell am besten wählt. Ich habe das damals per entsprechenden Python Script unter Linux gemacht.

Edit: Nachdem ich mir noch einmal alle Postings kompl. durchgelesen habe :rofl: noch ein Nachtrag:

  1. Der Eintrag ember ist natürlich Quatsch und wie Du ja schon richtig geschrieben hast musst Du zstack benutzen.
  2. Der lange Pfad bei der Port-Angabe musst Du/man auch nicht unbedingt benutzen. Zumindest hat der keinen Einfluss auf Dein aktuelles Problem, sofern der Dongle an dem Port ttyUSB0 auch vorhanden ist und unter HA —> Einstellungen —> System —> Hardware —> Gesamte Hardware auch aufgelistet wird.
  3. Poste hier mal Deine /homeassistant/zigbee2mqtt/configuration.yaml. Aber bitte auch wieder als Code Forum_Code
    und nicht als Screenshot. Ich vermute das sich darin (noch) Fehler befinden, weil Daten nicht richtig übernommen wurden.

VG Jim

“Connecting over serial bootloader failed: No response from device. Device may not be in bootloader mode. Reset device and try again.
If problem persists, check connection and baud rate.
Failed to create device object.”

Das meldet “Flash Programmer 2”

Also irgendwie muss das Ding in den Bootloadermode?
Das zigbee2mqtt habe ich erstmal wieder komplett herunter genommen und alle Ordner gelöscht. Will es neu intallieren, denn der Stick die neueste Firmware hat. Dann poste ich mal die konfiguration wenn das Problem weiterhin besteht.

Wenn ich es mit dem Tuto von Simon versuche:

➜  ~ python3 -m venv venv
➜  ~ source venv/bin/activate
(venv) ➜  ~ pip install pyserial intelhex
Looking in indexes: https://pypi.org/simple, https://wheels.home-assistant.io/musllinux-index/
Collecting pyserial
  Downloading https://wheels.home-assistant.io/musllinux-index/pyserial-3.5-py2.py3-none-any.whl.metadata (1.6 kB)
Collecting intelhex
  Downloading https://wheels.home-assistant.io/musllinux-index/intelhex-2.3.0-py2.py3-none-any.whl.metadata (2.7 kB)
Downloading https://wheels.home-assistant.io/musllinux-index/pyserial-3.5-py2.py3-none-any.whl (90 kB)
Downloading https://wheels.home-assistant.io/musllinux-index/intelhex-2.3.0-py2.py3-none-any.whl (50 kB)
Installing collected packages: pyserial, intelhex
Successfully installed intelhex-2.3.0 pyserial-3.5
(venv) ➜  ~ mkdir cc2538-bsl
(venv) ➜  ~ cd cc2538-bsl
(venv) ➜  cc2538-bsl curl -sSL https://github.com/JelmerT/cc2538-bsl... | tar xz --strip 1
tar: invalid magic
tar: short read
curl: (23) Failure writing output to destination, passed 1370 returned 0
(venv) ➜  cc2538-bsl 

Ich meine das dieser Ablauf von dem im Video abweicht, allerdings keine Ahnung warum?

Ich habe es auch mit dem HA Addon probiert…

Add-on: ZigStar TI CC2652P/P7 FW Flasher
ZigStar TI CC2652P/P7 firmware flasher add-on
-----------------------------------------------------------
Add-on version: 0.4.1
You are running the latest version of this add-on.
System: Home Assistant OS 15.2 (amd64 / generic-x86-64)
Home Assistant Core: 2025.4.4
Home Assistant Supervisor: 2025.04.1
-----------------------------------------------------------
Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service banner successfully started
s6-rc: info: service cc2652-flasher: starting
[15:15:29] INFO: Triggering Bootloader mode on /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_986dac942e6cef11952a9dadc169b110-if00-
[15:15:32] INFO: cc2652-flasher-up script exited with code 6
s6-rc: warning: unable to start service cc2652-flasher: command exited 6
s6-rc: info: service banner: stopping
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
s6-rc: info: service banner successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

Ich habe ein ähnliches Problem.
Ich wollte meinen Billig-Zigbee-3.0 ohne externe Antenne durch einen Sonoff E ersetzen. Zuerst musste ich auf die aktuelle Version flaschen, damit er ember kann. Das hat auch alles geklappt, bis auf eine kleine Hürde, da ich aufschrauben und die ganze Zeit die Boot-Taste drücken musste… Z2M startet auch korrekt. Aber es werden keine Geräte erkannt, weder Aqara, noch die selbst gebauten mit einem ESP32-C6.
ZHA hat zumindest auf Anhieb die Aqara erkannt, aber nicht die ESP32-C6.
Also kann es nicht am Sonoff direkt liegen.
Ich vermute mal, es klemmt irgendwas in der Kommunikation zwischen dem Sonoff und Z2M.
Ich habe erstmal wieder meinen kleinen USB-Dongle mit Mäander-Antenne auf der Platine am Laufen, auch wenn die Reichweite nicht so toll ist.

Thomas

Willst du ZHA und Z2M zugleich mit dem Sonoff-E betreiben?

Selbstverständlich nicht. Es geht ja nur eines von beiden.
Ich nutze Z2M. ZHA erkennt keine DIY auf Basis des ESP32-C6 und die sind bei mir weit in der Überzahl.
Ich habe bisher einen kleinen Stick der ZIGATE kann.
Da die Reichweite nicht so groß ist und ZIGATE wohl auch im Sterben liegt, wollte ich ihn durch den Sonoff ersetzen.

Da das Anlernen nicht funktioniert hat, habe ich kurzerhand Z2M gestoppt und ZHA aktiviert und sofort waren meine 2 Aqara und die Paulmann-Glühbirne da.
Daher gehe ich davon aus, dass das Dongle funktionieren muss. ZHA habe ich wieder entfernt und Z2M aktiviert. Wenn ich nun den alten Stick anstecke und Anlernen aktivieren ist innerhalb von 1 Minute alles wieder da.

So sieht die Konfiguration aus:

data_path: /config/zigbee2mqtt
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: "-d -d"
  log: false
mqtt: {}
serial:
  port: /dev/ttyUSB0
  protocol: ember

Und das sind die Versionsangaben zu Z2M und zum Dongle:

Zigbee2MQTT-Version  2.3.0 commit: unknown
Coordinator-Typ EmberZNet
Coordinator-Version  7.4.4 [GA]
Coordinator IEEE Adresse  0x1cc089fffecdda26
Frontend-Version  0.9.10
Zigbee Herdsman Konverter Version  23.36.0
Zigbee Herdsman Version  4.0.0

Den Dongle habe ich erst neu flashen müssen, damit er ember kann. Vorher hatte er auch schon das Problem, dass er nichts gefunden hat.
Zum Flashen musste ich ihn öffnen und den Boot-Button die ganze Zeit gedrückt halten.

:crayon:by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)

Also ohne öffnen ging nichts? Ich habe den Dongle-P und werde das mit dem Knopf drücken auch mal probieren und dann mal schauen…

Ja, ohne Öffnen ging nichts.Der Dongle wurde zwar erkannt, aber das wars dann auch.
Ich hatte 2 Seiten gefunden, über die man den Dongle flashen kann. Die eine geht gar nicht und über die andere kann ich nur die vorgegebenen Varianten flashen.
Die ging bei mir gar nicht:
https://dongle.sonoff.tech/sonoff-dongle-flasher/
Diese Seite bringt den Verbindungsdialog zweimal hintereinander und dann nach einem ewigen Versuch zu Verbinden eine Meldung, dass eine andere Software den Dongle im Zugriff hat. Da ich aber unter Windows geflasht habe, kann das definitiv nicht sein.

Hier hat es auf Anhieb geklappt:

Der kann aber keinen Sonoff P.

Soooo…
Flashprogrammer 2 hat zwar mit Drücken der Flashtaste etwas mehr unternommen aber nichts geflast.
Erfolgreich war ich am Ende mit dieser Seite SMLIGHT Flasher V1. Brav den Flashknopf drücken. Der Bootknopp ist der vordere, habe mal ein Bild dazu.
Nun bin ich gespannt, was meine zigbee2mqtt installation dazu sagt.
Andere Frage, hat schon mal jemand diesen Dongle ausprobiert?

Warum sollte man das wachen Geistes machen? Auf der Z2M Seite wird von dem Teil abgeraten:

Auch das hier scheint mir keine Verkaufsfördernde Maßnahme seitens Amazon:

Dass die Firmware schon länger (ca. 4 Jahre) nicht mehr aktualisiert wurde, erscheint vor diesem Hintergrund fast nebensächlich.

Gut, richtig. Ist also ausprobiert und allgemein für unwürdig befunden.

Also die Firmware wurde aufgespielt.
Doch es funktioniert nicht
Bad Gateway 502
Habe hier schon alles durchgemacht, aber nichts half.

> [19:39:32] INFO: Preparing to start...
> [19:39:32] INFO: Socat not enabled
> [19:39:32] INFO: Starting Zigbee2MQTT...
> Starting Zigbee2MQTT without watchdog.
> [2025-05-03 19:39:33] info: 	z2m: Logging to console, file (filename: log.log)
> [2025-05-03 19:39:33] info: 	z2m: Starting Zigbee2MQTT version 2.3.0 (commit #unknown)
> [2025-05-03 19:39:33] info: 	z2m: Starting zigbee-herdsman (4.0.0)
> [2025-05-03 19:39:33] info: 	zh:zstack:znp: Opening SerialPort with {"path":"/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_8e88adc0ea4eef1181fc46b3174bec31-if00-port0","baudRate":115200,"rtscts":false,"autoOpen":false}
> [2025-05-03 19:39:33] info: 	zh:zstack:znp: Serialport opened
> [2025-05-03 19:39:33] info: 	zh:zstack:znp: Writing CC2530/CC2531 skip bootloader payload
> [2025-05-03 19:39:34] info: 	zh:zstack:znp: Skip bootloader for CC2652/CC1352
> [2025-05-03 19:39:53] error: 	z2m: Error while starting zigbee-herdsman
> [2025-05-03 19:39:53] error: 	z2m: Failed to start zigbee-herdsman
> [2025-05-03 19:39:53] error: 	z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start_crashes-runtime.html for possible solutions
> [2025-05-03 19:39:53] error: 	z2m: Exiting...
> [2025-05-03 19:39:53] error: 	z2m: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
>     at ZStackAdapter.start (/app/node_modules/.pnpm/zigbee-herdsman@4.0.0/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:114:27)
>     at Controller.start (/app/node_modules/.pnpm/zigbee-herdsman@4.0.0/node_modules/zigbee-herdsman/src/controller/controller.ts:133:29)
>     at Zigbee.start (/app/lib/zigbee.ts:70:27)
>     at Controller.start (/app/lib/controller.ts:104:13)
>     at start (/app/index.js:149:5)
> [19:42:50] INFO: Preparing to start...
> [19:42:50] INFO: Socat not enabled
> [19:42:50] INFO: Starting Zigbee2MQTT...
> Starting Zigbee2MQTT without watchdog.
> [2025-05-03 19:42:51] info: 	z2m: Logging to console, file (filename: log.log)
> [2025-05-03 19:42:51] info: 	z2m: Starting Zigbee2MQTT version 2.3.0 (commit #unknown)
> [2025-05-03 19:42:51] info: 	z2m: Starting zigbee-herdsman (4.0.0)
> [2025-05-03 19:42:51] info: 	zh:zstack:znp: Opening SerialPort with {"path":"/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_8e88adc0ea4eef1181fc46b3174bec31-if00-port0","baudRate":115200,"rtscts":false,"autoOpen":false}
> [2025-05-03 19:42:51] info: 	zh:zstack:znp: Serialport opened
> [2025-05-03 19:42:51] info: 	zh:zstack:znp: Writing CC2530/CC2531 skip bootloader payload
> [2025-05-03 19:42:53] info: 	zh:zstack:znp: Skip bootloader for CC2652/CC1352
> [2025-05-03 19:43:11] error: 	z2m: Error while starting zigbee-herdsman
> [2025-05-03 19:43:11] error: 	z2m: Failed to start zigbee-herdsman
> [2025-05-03 19:43:11] error: 	z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start_crashes-runtime.html for possible solutions
> [2025-05-03 19:43:11] error: 	z2m: Exiting...
> [2025-05-03 19:43:11] error: 	z2m: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
>     at ZStackAdapter.start (/app/node_modules/.pnpm/zigbee-herdsman@4.0.0/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:114:27)
>     at Controller.start (/app/node_modules/.pnpm/zigbee-herdsman@4.0.0/node_modules/zigbee-herdsman/src/controller/controller.ts:133:29)
>     at Zigbee.start (/app/lib/zigbee.ts:70:27)
>     at Controller.start (/app/lib/controller.ts:104:13)
>     at start (/app/index.js:149:5)

So, ich habe neue Erkennnisse zu meinem Sonoff-E-Problem.
Anscheinend kann der sich nicht mit Endgeräten verbinden, sondern nur mit Routern, warum auch immer.
Ich habe jetzt meinen ZIGATE-Stick als Router geflasht und an ein USB-Netzteil gesteckt.
Kaum hatte ich im Z2M das Anlernen aktiviert, war der Router da. Und auf einmal konnte ich auch wieder alle Endgeräte anlernen, bis auf die Paulmann-Glülampe.
Mit der Erkenntnis, habe ich am C+±Programm für einen ESP32-C6 herumexperimentiert und ihn von Endpoint auf Router umgeflasht unter Beibehaltung der angeschlossenen Sensoren. Und auch er wurde wieder erkannt und spannt das ZIgbee-Netz mit auf.
Kein Endgerät hängt am Koordinator direkt. alle sind über die Router im Netz.
Ist das eine Besonderheit der Sonoff-E-Firmware, dass der Koordinator keine Endgeräte direkt findet, sondern nur Router oder liegt das am verbauten Chip?