Comment flasher et utiliser le SONOFF Zigbee Dongle Plus avec Home Assistant
Si vous construisez une maison connectée locale, sans cloud, avec Home Assistant, le SONOFF ZBDongle-E est l’un des coordinateurs Zigbee les plus abordables que vous puissiez acheter en ce moment. Je l’utilise depuis plus d’un an et il gère un réseau de plus de 40 appareils sans aucun problème. Dans ce guide, je vous explique ce qu’est ce dongle, pourquoi vous pourriez vouloir mettre à jour son firmware, comment le flasher sans matériel spécial, et comment le connecter à ZHA ou Zigbee2MQTT.
Qu’est-ce que le SONOFF ZBDongle-E ?
Le SONOFF ZBDongle-E (également appelé ZigBee Dongle Plus V2) est un coordinateur Zigbee USB basé sur la puce EFR32MG21 de Silicon Labs. C’est un détail important : contrairement à son prédécesseur (le ZBDongle-P, qui utilisait une puce Texas Instruments CC2652), le ZBDongle-E utilise un SoC Silicon Labs. Cette distinction est essentielle car les deux puces utilisent des piles firmware complètement différentes et sont supportées différemment par les intégrations Home Assistant.
La puce EFR32MG21 supporte deux variantes principales de firmware :
| Firmware | Pile | Recommandé pour |
|---|---|---|
| EmberZNet NCP (Ember) | Silicon Labs EmberZNet | ZHA, Zigbee2MQTT avec adapter: ember |
| Z-Stack (non applicable) | TI Z-Stack | Uniquement pour ZBDongle-P (CC2652), pas ZBDongle-E |
Le dongle est livré avec le firmware officiel SONOFF basé sur le SDK Silicon Labs. Pour la plupart des utilisateurs, cela fonctionne très bien. Mais la communauté maintient des builds EmberZNet NCP non officiels qui sont souvent plus récents, plus stables, et mieux testés avec les dernières versions de ZHA et Z2M. Passer à ces versions est la recommandation standard dans la communauté Home Assistant.
Pourquoi flasher le firmware ?
Il y a trois raisons pratiques de reflasher :
- Version EmberZNet plus récente. Le firmware livré peut avoir plusieurs versions de retard. Les nouvelles builds incluent des correctifs pour les instabilités réseau et une meilleure gestion des grands nombres d’appareils.
- Alignement de pile. ZHA et Zigbee2MQTT ont chacun des versions de firmware recommandées. Utiliser une version obsolète ou inadaptée peut provoquer des déconnexions inexplicables d’appareils.
- Remise à zéro propre. Si vous migrez depuis un autre coordinateur ou récupérez d’un réseau corrompu, repartir d’un flash propre garantit qu’il n’y a pas d’état obsolète sur la puce.
Le flash n’efface pas votre réseau Zigbee si le coordinateur reste le même matériel. Cependant, je recommande toujours d’effectuer une sauvegarde du coordinateur avant de procéder.
Avant de flasher : effectuez une sauvegarde
Si vous utilisez déjà HA avec ZHA et le ZBDongle-E :
- Allez dans Paramètres → Appareils & Services → ZHA.
- Cliquez sur votre coordinateur.
- Cliquez sur “Télécharger la sauvegarde du coordinateur” et enregistrez le fichier
.json.
Cette sauvegarde contient votre PAN ID, Extended PAN ID, clé réseau et canal. En cas de problème pendant le flash, vous pourrez la restaurer.
Étape par étape : flasher le firmware EmberZNet NCP via le flasheur web
La méthode la plus simple ne nécessite rien d’autre qu’un navigateur Chrome ou Edge. Pas de pilotes, pas d’outils en ligne de commande, pas de matériel spécial.
Étape 1 — Télécharger le firmware
Rendez-vous sur le dépôt du builder de firmware communautaire :
https://github.com/darkxst/silabs-firmware-builder
Naviguez dans le dossier firmware_builds et trouvez le fichier correspondant à votre appareil. Pour le ZBDongle-E, cherchez un fichier nommé comme :
ncp-uart-hw-v7.4.4.0-zbdonglee-115200.gbl
Le préfixe ncp-uart-hw désigne EmberZNet NCP avec contrôle de flux matériel. Téléchargez le dernier fichier .gbl stable sur votre ordinateur.
Étape 2 — Ouvrir le flasheur web
Ouvrez Chrome ou Edge (les autres navigateurs ne supportent pas WebSerial) et naviguez vers :
https://darkxst.github.io/silabs-firmware-builder/
C’est le SL Web Flasher — un outil basé navigateur qui communique directement avec le dongle via USB sans nécessiter de pilotes ni de logiciel installé.
Étape 3 — Connecter le dongle
Branchez le ZBDongle-E sur un port USB de l’ordinateur que vous utilisez pour le flash. Si vous exécutez HA dans une VM ou sur un appareil séparé, branchez physiquement le dongle sur la machine qui fait tourner le navigateur.
Important : Assurez-vous que ZHA et Zigbee2MQTT sont tous les deux arrêtés avant de continuer. Si quoi que ce soit garde le port série ouvert, le flasheur ne pourra pas se connecter.
Étape 4 — Sélectionner l’appareil dans le navigateur
Sur la page du flasheur web :
- Cliquez sur “Connect” ou l’invite de port série.
- Une fenêtre de dialogue apparaîtra listant les ports série disponibles.
- Sélectionnez le port correspondant au ZBDongle-E. Il apparaîtra comme
USB Single SerialouCP2102N USB to UART Bridge. - Cliquez sur Connect.
La page affichera la version de firmware actuellement détectée sur le dongle.
Étape 5 — Flasher le firmware
- Cliquez sur “Upload firmware” ou “Flash” (le libellé exact dépend de la version du flasheur).
- Sélectionnez le fichier
.gbltéléchargé à l’étape 1. - Le flasheur effacera la puce et écrira le nouveau firmware. Cela prend 30 à 90 secondes.
- Une fois terminé, vous verrez une confirmation de succès et la nouvelle version du firmware.
Ne débranchez pas le dongle pendant le flash. Si le processus se bloque pendant plus de 2 minutes, débranchez et réessayez — le bootloader est robuste et un flash raté ne brique pas l’appareil.
Intégrer le ZBDongle-E avec Home Assistant
Une fois flashé, branchez le dongle sur l’hôte Home Assistant (Raspberry Pi, NUC, etc.) et procédez avec l’intégration de votre choix.
Option A : ZHA (Zigbee Home Automation)
ZHA est l’intégration HA intégrée — aucun add-on requis.
- Allez dans Paramètres → Appareils & Services → + Ajouter une intégration.
- Recherchez ZHA et sélectionnez-le.
- Quand on vous demande un appareil série, choisissez votre dongle. Il apparaîtra par son chemin USB, par exemple :
/dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_<serial>-if00-port0 - Sélectionnez EZSP comme type de radio (c’est le protocole Silicon Labs, correct pour le firmware EmberZNet).
- ZHA initialisera la radio et mettra en place un nouveau réseau Zigbee.
- Commencez à appairer des appareils : Paramètres → Appareils & Services → ZHA → + Ajouter un appareil.
Option B : Zigbee2MQTT
Z2M offre plus de contrôle, une interface web riche et un support d’appareils plus large.
- Installez d’abord l’add-on Mosquitto broker (Add-on Store → Mosquitto broker → Installer → Démarrer).
- Ajoutez le dépôt Z2M au Add-on Store :
https://github.com/zigbee2mqtt/hassio-zigbee2mqtt - Installez Zigbee2MQTT depuis le store.
- Dans l’onglet Configuration de l’add-on, définissez :
serial:
port: /dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_<serial>-if00-port0
adapter: ember
mqtt:
server: mqtt://core-mosquitto:1883
user: homeassistant
password: <votre_mot_de_passe_mqtt>
- Démarrez l’add-on et ouvrez l’interface web. Vous devriez voir
Zigbee2MQTT started!dans les logs. - Cliquez sur Permit join dans l’interface web et commencez à appairer des appareils.
Pourquoi
adapter: ember? Parce que vous avez flashé le firmware EmberZNet NCP. Si vous utilisiez l’ancien firmware Z-Stack (ou le ZBDongle-P), vous utiliseriezadapter: zstackà la place.
Dépannage
Le flasheur web ne peut pas se connecter au dongle.
- Assurez-vous d’utiliser Chrome ou Edge — Firefox ne supporte pas WebSerial.
- Arrêtez tout processus qui garde le port série ouvert (ZHA, Z2M, ou toute session terminal).
- Essayez un autre port USB ou câble. Certains câbles sont uniquement pour la charge.
Z2M démarre mais affiche immédiatement “Failed to connect to the adapter.”
- Vérifiez le chemin du port dans la configuration. Utilisez le chemin
/dev/serial/by-id/, pas/dev/ttyUSB0qui peut changer entre les redémarrages. - Confirmez que
adapter: embercorrespond à votre firmware. Si vous n’avez pas reflashé, le firmware d’origine peut nécessiteradapter: ezspou un autre paramètre.
Les appareils se déconnectent du réseau après le flash.
- C’est normal pendant les premières 24 heures, le temps que les appareils rétablissent leurs chemins de routage.
- Pour les appareils sur batterie, appuyez sur un bouton pour les réveiller et forcer une reconnexion.
ZHA affiche un avertissement “EZSP version mismatch”.
- La version de votre firmware EmberZNet peut ne pas correspondre à ce que ZHA attend. Mettez à jour ZHA (mise à jour du core HA) ou flashez un fichier
.gblde firmware plus récent.
Conclusion
Le ZBDongle-E est un coordinateur capable et bien supporté à un prix qui est difficile à contester. Maintenir le firmware à jour est un travail de 5 minutes une fois que vous savez utiliser le flasheur web, et cela se traduit par une stabilité réseau améliorée. Que vous optiez pour ZHA pour sa simplicité ou Zigbee2MQTT pour son contrôle, le processus décrit ci-dessus vous permettra de fonctionner avec une base firmware propre et à jour.
Si vous migrez de ZHA vers Zigbee2MQTT, consultez le guide complet sur le processus de migration — y compris comment gérer les changements de nom d’entités et les mises à jour d’automatisation qui accompagnent le passage. Voir le guide de migration ZHA vers Zigbee2MQTT (à venir).