Zigbee - Firmware-Update von ezsp zu Ember

Fortsetzung des Gesprächs zur notwendigen Migration für die Zigbee-Dongles, die mit dem Treiber ezsp verbunden sind.

:warning: Ich denke, dass eine automatische Migration gefährlich ist, und ich bevorzuge es, wenn die Benutzer selbst wechseln, insbesondere wegen des zu aktualisierenden Firmwares.

Ich dachte daran, in der Zigbee2Mqtt-Konfigurationsseite von Gladys

  • ITead Sonoff Zigbee 3.0 USB Dongle Plus V2 Modell "ZBDongle-E" durch Sonoff Zigbee 3.0 USB Dongle Plus V2 Modell "ZBDongle-E" (veralteter Treiber ezsp) zu ersetzen
  • einen Eintrag Sonoff Zigbee 3.0 USB Dongle Plus V2 Modell "ZBDongle-E" (Treiber emberznet) hinzuzufügen
  • die auf dem Dongle installierte Firmware-Version zu überprüfen (zugänglich im Topic zigbee2mqtt/bridge/info)
  • wenn die Version < 7.4.x ist, die Option emberznet deaktivieren und eine Nachricht anzeigen, die besagt « Sie sollten das Firmware Ihres Zigbee-Dongles aktualisieren. Hier ist das Verfahren:  »
  • wenn die Version >= 7.4.x ist, die Nachricht « Sie sollten den von z2m verwendeten Treiber aktualisieren, indem Sie in der Liste oben Sonoff Zigbee 3.0 USB Dongle Plus V2 Modell "ZBDongle-E" (Treiber emberznet) auswählen » anzeigen, möglicherweise mit einem Link zu einer Gladys-Dokumentation, die den Grund und die Auswirkungen erklärt

Die Modelländerung und das Speichern durch den Benutzer aktualisiert die Konfiguration (ohne Auswirkungen auf das Netzwerk/Verbindung zu den Geräten) => zu überprüfen

:thinking: Problem, es gibt 6 Dongles in diesem Fall.

:thinking: Ich weiß nicht, wie ich den Fall für eine neue Installation handhaben soll, da die Firmware-Version nicht zugänglich ist.

Danke, dass du dich darum gekümmert hast, @cicoub13!

Ich bin einverstanden! Stabilität ist das Wichtigste.

Du kannst eine gelbe Meldung einfügen, die oben angezeigt wird, falls der Nutzer den Treiber « Ember » auswählt: „Achtung, Ihr Dongle muss eine Firmware-Version > XX haben. Hier ist die Anleitung, um die Firmware-Version zu überprüfen: XXXXXX"

@henrik_Jensen @Xenicle @Mastho @tellier Wäre das für euch okay?

Hallo @cicoub13,

Ja, das ist für mich eher klar!

Hallo, das wäre sehr gut!

Hallo,
Diese Firmware wurde am Ende doch nie ausgeliefert?
Ich weiß nicht, ob ich meinen ZBDONGLE-E flashen soll, ich habe Angst, dass er in Gladys nicht mehr erkannt wird.
Der Dongle verliert Geräte unter zigbee2mqtt ziemlich regelmäßig und es ist nervig, die Verbindung immer wieder neu herstellen zu müssen, besonders bei den ZBMINI-L2-Modulen, die in der Unterputzdose sind…
Ansonsten bleibt noch die Option, den ZBDONGLE-P zu kaufen, aber der ist nur noch gebraucht erhältlich.

Hallo. Tatsächlich habe ich die Entwicklung noch nicht abgeschlossen, weil alle Fälle berücksichtigt werden müssen, um den Treiber nicht zu aktualisieren, wenn das Firmware nicht aktuell ist.

Aber du kannst natürlich:

serial:
    adapter: ember

aktualisieren

  • den Zigbee-Container neu starten docker restart gladys-z2m-zigbee2mqtt

Okay, super, ich hatte da einen Zweifel. Dann versuche ich das mal. Vielen Dank.

Ich habe vor kurzem einen Dongle-P auf Amazon gekauft (zum Testen der Migration zu Zigbee2mqtt 2.x): Amazon.fr

Er scheint noch verfügbar zu sein :slight_smile:

Hallo,

Da viele Leute von dieser Verzögerung betroffen zu sein scheinen, habe ich die Entwicklung des z2m-Treibers ember abgeschlossen und das Docker-Image ist zum Testen hier verfügbar: docker pull cicoub13/gladys:z2m-ember

Details:

  • damit Leute, die nicht aktualisiert haben, ich habe die Option (Legacy) Treiber ezsp beibehalten
  • :warning: die Migration ist automatisch für Leute, die einen Dongle aus der Liste haben (ohne Firmware-Überprüfung). Ich denke, die meisten Leute werden keine Probleme haben, aber es könnte die Installation von Leuten brechen, die keine Firmware > 7.4.x haben. @pierre-gilles wir können über diese Wahl noch einmal reden
  • neue Installationen wählen ihren Dongle aus der Liste und haben den Treiber ember

Ich teste alle Szenarien heute oder morgen auf meinem RPI4 :construction:

PR = https://github.com/GladysAssistant/Gladys/pull/2435

Um das Firmware zu aktualisieren => Sonoff Dongle Flasher - SONOFF Dongle

Hallo @cicoub13 :slight_smile:

Vielen Dank für dieses PR!!

Meiner Meinung nach sollten wir die automatische Migration vergessen, denn sie wird Installationen kaputt machen, und Stabilität ist für mich ein sehr wichtiger Wert des Projekts :slight_smile:

Wenn das Update läuft, während ein Nutzer im Urlaub ist, wird seine Domotik in seiner Abwesenheit kaputt gehen, was in Zukunft das Gefühl erzeugen wird, dass Gladys-Updates « unsicher » sind, und Nutzer dazu bringen wird, automatische Updates zu deaktivieren, oder sogar Gladys zu verlassen.

Außerdem gibt es wenig Interesse daran, funktionierende Installationen zu ändern! :wink:

Ich verstehe den Ansatz vollkommen.

Ich schlage stattdessen Folgendes vor:

  • Neue Benutzer mit einem aktuellen Dongle wählen den Dongle und ember wird installiert
  • Neue Benutzer mit einem alten Dongle wählen den Dongle (Legacy) und ezsp wird installiert (um die Kompatibilität mit nicht aktuellen Dongles zu gewährleisten)
  • Alte Benutzer bleiben beim Treiber ezsp und können im Dongle-Auswahlmenü zu ember wechseln.

Genau das habe ich mir vorgestellt! Perfekt! :slight_smile:

Soll ich hier Informationen hinzufügen, um zu erklären Zigbee2MQTT avec Gladys : votre réseau Zigbee local, sans box | Gladys Assistant ?

Ja klar!

Vorschlag für die Dokumentation docs(z2m): Add warning about ember dongles by cicoub13 · Pull Request #333 · GladysAssistant/v4-website · GitHub

Das Docker-Image und der PR für den Entwicklungsbereich sind bereit (ohne automatische Migration)

Getestet heute Morgen auf RPI4

  • einer Originalinstallation mit Sonoff Dongle-E auf ezsp
  • Installation des neuen Images, das den Ember-Treiber verwaltet und Start :white_check_mark:
  • Datenmigration in die Datenbank (um den Treiber legacy ezsp beizubehalten) :white_check_mark:
  • In der UI Auswahl des neuen Treibers ember => Installation der Konfiguration und Neustart :white_check_mark:

Hallo @cicoub13 :slight_smile:

Heute Morgen getestet auf Beelink S13 + Sonoff ZBDongle-E!

Es war gut, dass wir das automatische Update nicht aktiviert haben, denn bei mir funktioniert der Wechsel zu Ember nicht (Firmware zu alt, sogar auf einem Dongle, der 2025 gekauft wurde!):

[2026-02-20 09:00:00] info: 	z2m: Starting zigbee-herdsman (7.0.4)
[2026-02-20 09:00:00] info: 	zh:ember: Using default stack config.
[2026-02-20 09:00:00] info: 	zh:ember: ======== Ember Adapter Starting ========
[2026-02-20 09:00:00] info: 	zh:ember:ezsp: ======== EZSP starting ========
[2026-02-20 09:00:00] info: 	zh:ember:uart:ash: ======== ASH Adapter reset ========
[2026-02-20 09:00:00] info: 	zh:ember:uart:ash: RTS/CTS config is off, enabling software flow control.
[2026-02-20 09:00:00] info: 	zh:ember:uart:ash: Serial port opened
[2026-02-20 09:00:00] info: 	zh:ember:uart:ash: ======== ASH starting ========
[2026-02-20 09:00:01] info: 	zh:ember:uart:ash: ======== ASH connected ========
[2026-02-20 09:00:01] info: 	zh:ember:uart:ash: ======== ASH started ========
[2026-02-20 09:00:01] info: 	zh:ember:ezsp: ======== EZSP started ========
[2026-02-20 09:00:01] error: 	z2m: Error while starting zigbee-herdsman
[2026-02-20 09:00:01] error: 	z2m: Failed to start zigbee-herdsman
[2026-02-20 09:00:01] error: 	z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start_crashes-runtime.html for possible solutions
[2026-02-20 09:00:01] error: 	z2m: Exiting...
[2026-02-20 09:00:01] error: 	z2m: Error: Adapter EZSP protocol version (12) is not supported by Host [13-18].
    at EmberAdapter.emberVersion (/app/node_modules/.pnpm/zigbee-herdsman@7.0.4/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:1408:19)
    at EmberAdapter.initEzsp (/app/node_modules/.pnpm/zigbee-herdsman@7.0.4/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:670:9)
    at EmberAdapter.start (/app/node_modules/.pnpm/zigbee-herdsman@7.0.4/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:1539:24)
    at Controller.start (/app/node_modules/.pnpm/zigbee-herdsman@7.0.4/node_modules/zigbee-herdsman/src/controller/controller.ts:143:29)
    at Zigbee.start (/app/lib/zigbee.ts:70:27)
    at Controller.start (/app/lib/controller.ts:101:13)
    at start (/app/index.js:149:5)
Using '/app/data' as data directory

Ansonsten funktioniert das PR wie gewünscht, das Update war nicht automatisch, ich musste es manuell testen!

Allerdings frage ich mich, ob das Update-Erlebnis nicht verbessert werden könnte, denn im Moment gibt es keine Möglichkeit, das Update zu testen, ohne auf die Logs zuzugreifen, das ist für den Benutzer sehr undurchsichtig.

Ich frage mich, ob wir auf diesen Fehler zugreifen könnten, um ihn in der UI anzuzeigen?

Error: Adapter EZSP protocol version (12) is not supported by Host [13-18].

Die Lösung könnte sein, die Z2M-Logs beim Start zu überwachen, wie wir es z. B. mit Watchtower für Updates tun (Gladys/server/lib/system/system.installUpgrade.js at master · GladysAssistant/Gladys · GitHub), und die Logs zu parsen, um die Fehler anzuzeigen.

Was denkst du dazu? :slight_smile:

Nochmals vielen Dank für das PR, es funktioniert perfekt :raising_hands:

Zur Erinnerung, man kann die Firmware-Version in zigbee2mqtt/bridge/info abrufen.

Man könnte also die Version überprüfen und eine Warnmeldung anzeigen oder sogar die Auswahl des ember-Treibers blockieren.

Ich schaue mir die möglichen Optionen an.

Ich habe einen etwas umfangreicheren commit durchgeführt, um:

  • Firmware-Informationen abzurufen
  • diese im Frontend-Status zurückzugeben
  • eine Überprüfung im Frontend hinzuzufügen (Treiber = ember + Firmware < 7.4.X)
  • eine Warnmeldung anzuzeigen, die zum Aktualisieren des Firmwares auffordert (ich kann die Nachricht bei Bedarf ändern)

Docker-Image wird gerade gebaut :hourglass_not_done: