Zigbee - Firmware-Update von ezsp zu Ember

Suite de la conversation liée à la migration nécessaire pour les dongle Zigbee liés au driver ezsp.

:warning: Je pense qu’une migration automatique est dangereuse et je préfère que les utilisateurs basculent par eux-même, notamment à cause du firmware à mettre à jour.

Je pensais faire dans la page de configuration ZIgbee2Mqtt de Gladys

  • remplacer ITead Sonoff Zigbee 3.0 USB Dongle Plus V2 model "ZBDongle-E"par Sonoff Zigbee 3.0 USB Dongle Plus V2 model "ZBDongle-E" (driver ezsp déprécié)
  • ajouter une entrée Sonoff Zigbee 3.0 USB Dongle Plus V2 model "ZBDongle-E" (driver emberznet)
  • vérifier la version du firmware installé sur le dongle (accessible dans le topic zigbee2mqtt/bridge/info)
  • si la version est < 7.4.x, désactiver l’option emberznet et afficher un message disant « Vous devriez mettre à jour le firmware de votre dongle Zigbee, voici la procédure à suivre :  »
  • si la version est >= 7.4.x, afficher le message « Vous devriez mettre à jour le driver utilisé par z2m en sélectionnant dans la liste ci-dessus Sonoff Zigbee 3.0 USB Dongle Plus V2 model "ZBDongle-E" (driver emberznet) » avec peut-être un lien vers une doc Gladys qui explique le pourquoi et impacts

Le changement de modèle et la sauvegarde par l’utilisateur met à jour la configuration (sans impact sur le réseau/lien avec les appareils) => à vérifier

:thinking: Problème, il y a 6 dongles dans ce cas.

:thinking: Je ne sais pas comment gérer le cas pour une nouvelle installation, l’information de la version du firmware n’étant pas accessible

Merci d’avoir investigué @cicoub13 !

Je suis d’accord! La stabilité c’est le plus important.

Tu peux mettre un message jaune qui s’affiche au dessus si jamais l’utilisateur sélectionne le driver « Ember »: Attention, il faut que votre dongle soit en version de firmware > XX, voilà la procédure pour vérifier la version de votre firmware: XXXXXX"

@henrik_Jensen @Xenicle @Mastho @tellier Est-ce que ça vous conviendrait ?

Salut @cicoub13,

Oui, c’est plutôt clair pour moi !

Bonjour, cela serai très bien !

Bonjour,
Cette évo n’a jamais été livrée finalement ?
Je ne sais pas si je dois flasher mon ZBDONGLE-E, j’ai peur qu’il ne soit plus reconnu dans Gladys.
Le dongle pert des devices sous zigbee2mqtt assez régulièrement et c’est pénible de devoir recommencer l’association, surtout avec les modules ZBMINI-L2 qui sont dans la boîte d’encastrement…
Sinon il reste l’option d’acheter le ZBDONGLE-P mais il n’est plus trouvable qu’en occasion

Bonjour. Effectivement, je n’ai pas fini le développement, car il faut prendre en compte tous les cas pour ne pas mettre à jour le driver alors que le firmware n’est pas à jour.

Mais tu peux tout à fait :

serial:
    adapter: ember
  • redémarrer le container zigbee docker restart gladys-z2m-zigbee2mqtt

Ok super, j’avais un doute. Je tente ça alors merci beaucoup

J’ai acheté un dongle-P assez récemment sur Amazon (pour tester la migration à Zigbee2mqtt 2.x) : Amazon.fr

Il a l’air toujours dispo :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: