Da mein bisheriges Setup mit RaspBee2 von Phoscon auf einem Raspberry Pi eher mässig funktionierte (es war „Glückssache“, ob ein neues Gerät gefunden wurde, oder nicht), habe ich mir nach dem Lesen des Artikels Zigbee2MQTT: Dein Smart Home unabhängiger machen den Sonoff Zigbee 3.0 USB Dongle Plus (ZBDongle-E) USB Adapter und ein passendes USB Verlängerungskabel gekauft.
Die Standard Firmware auf diesem Dongle war jedoch zu alt um mit Zigbee2MQTT zu funktionieren.
Das Flaschen mit passender Firmware war allerdings etwas tricky, auch weil viele Informationen und Links veraltet waren.
Hier der Weg wie es geklappt hat.
Es kam die Fehlermeldung:
error: z2m: Error: Adapter EZSP protocol version (8) is not supported by Host [13-17].
Das heisst, der Dongle meldet EZSP v8, aber Zigbee2MQTT (bzw. zigbee-herdsman
) unterstützt aktuell nur v13–v17.
Kurz: Firmware zu alt oder falsche Firmware auf dem Stick.
Das passiert fast ausschließlich mit dem ZBDongle-E, da der Silabs-Chip eine spezielle EmberZNet-Firmware benötigt.
Um die Firmware erfolgreich zu aktualisieren, muss man die Firmware Datei ncp-e-v7.4.5.0.gbl
von https://github.com/darkxst/silabs-firmware-builder/tree/main/firmware_builds/zbdonglee herunterladen.
Danach auf dem Raspberry Pi pyenv
und den Universal Silabs Flasher installieren:
apt install python3-venv python3-pip git
python3 -m venv ~/venv
source ~/venv/bin/activate
pip install --upgrade pip
pip install universal-silabs-flasher
Damit kann dann der USB Dongle geflashed werden:
curl -L -o /tmp/ncp-e-v7.4.5.0.gbl https://github.com/darkxst/silabs-firmware-builder/raw/main/firmware_builds/zbdonglee/ncp-uart-hw-v7.4.5.0-zbdonglee-115200.gbl
universal-silabs-flasher --device /dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20231219212946-if00 flash --firmware /root/firmware/ncp-e-v7.4.5.0.gbl