Aeotec Zi Stick Firmware Upgrade
Ich verwende einen Aeotec Zi-Stick an meinem Heimserver, um meine SmartHome-Geräte lokal zu steuern. Dazu reiche ich den Stick vom Heimserver in einen Docker-Container für Zigbee2Mqtt. Nach einem Update des Container Images und des Betriebssystems auf dem Host, funktionierte der Stick nicht mehr. Die Logs sagten:
[2025-12-02 08:48:29] warning: zh:ezsp: 'ezsp' driver is deprecated and will only remain to provide support for older firmware (pre 7.4.x). Migration to 'ember' is recommended. If using Zigbee2MQTT see https://github.com/Koenkk/zigbee2mqtt/discussions/21462
[2025-12-02 08:48:39] error: zh:ezsp:uart: --> Error: Error: {"sequence":-1} after 10000ms
[2025-12-02 08:48:39] error: zh:ezsp:ezsp: Connection attempt 1 error: Error: Failure to connect
Ein einfaches Ändern des Adaptertypens von ezsp zu ember brachte erstmal nur eine weitere Fehlermeldung:
[2025-12-02 08:52:23] error: z2m: Error: Adapter EZSP protocol version (8) is not supported by Host [13-18].
Also musste die Firmware für den Stick aktualisiert werden. Das war erstmal gar nicht so einfach, aber am Ende habe ich es wie folgt hinbekommen:
Schritt 1: Die passende Firmware finden.
Die offizielle Seite von Zigbee2Mqtt verweist auf mehrere Firmware Repositories. Schlussendlich bin ich bei @Nerivec fündig geworden.
Schritt 2: Das richtige Image wählen
Für den Aoetec Stick gibt es unterschiedliche Images. Am Ende habe ich mich für Network Co-Processor Image entschieden: aeotec_zga008_zigbee_ncp_8.2.2.0_115200_hw_flow.gbl
Schritt 3: Die richtige Flashing-Software finden
Nachdem ich mit dem offiziellen Simplicity Studio von Silabs gescheitert bin, habe ich den universal-silabs-flasher von NabuCasa gefunden. Diesen konnte ich lokal temporär einfach mit Python und pip installieren:
mkdir tmp
cd tmp
python -m venv venv
source ./venv/bin/activate
pip install universal-silabs-flasher
Schritt 4: Den Stick flashen
Ein simpler Befehl reichte:
sudo ./venv/bin/universal-silabs-flasher --device /dev/ttyUSB0 flash --firmware aeotec_zga008_zigbee_ncp_8.2.2.0_115200_hw_flow.gbl
Schritt 5: Ändern der Konfiguration
Nachdem der Stick nun die neueste Firmware hat, konnte ich die Konfiguration von Zigbee2Mqtt auf den ember Treiber umstellen:
serial:
port: /dev/ttyACM0
adapter: ember
baudrate: 115200
rtscts: false
Schritt 6: Great Success
Neustart des Docker-Containers und schon funktionierte wieder alles im SmartHome.