Mises à jour Zigbee OTA
Ce guide explique comment effectuer des mises à jour de firmware OTA (Over-the-air) sur des appareils Zigbee : soit directement dans le navigateur web avec l’outil de mise à jour OTA en ligne (avec ConBee II ou ConBee III), soit avec le logiciel « deCONZ » (avec ConBee II, ConBee III ou RaspBee II).
Mise à jour OTA via navigateur web
Prérequis
- ConBee II ou ConBee III
- Une connexion Internet active pour démarrer l’outil de mise à jour OTA (OTA Updater)
- Navigateur web Chrome, Edge, Opera ou Firefox (version 151 ou ultérieure)
Le protocole Web Serial API requis pour la mise à jour est pris en charge par Chrome, Edge, Opera et Firefox à partir de la version 151 (version de bureau uniquement, pas Firefox pour Android). Vous trouverez une vue d’ensemble des navigateurs compatibles ici : https://developer.mozilla.org
Effectuer la mise à jour OTA
Dès que le ConBee est connecté, l’outil de mise à jour OTA signale la connexion par l’indicateur Link au vert. La liste des appareils est d’abord vide.
Ouvrir le site web https://phoscon.de/ota/.
Établir la connexion : cliquer sur le bouton « Connect » et connecter le ConBee II ou ConBee III branché.
Appairer un appareil Zigbee (uniquement nécessaire pour les nouveaux appareils) : cliquer sur le bouton « Pair a device » pour lancer le mode d’appairage. Mettre également l’appareil Zigbee à mettre à jour en mode d’appairage. Les appareils déjà intégrés à un réseau Zigbee apparaissent automatiquement dans la liste dès la connexion établie.
Sélectionner l’appareil : une fois l’appairage réussi, l’appareil apparaît dans la liste « Devices ». Cliquer sur l’appareil correspondant pour ouvrir la vue détaillée et l’état de la mise à jour.
La liste des appareils indique l’état du firmware de chaque appareil :
- Update available : un firmware plus récent est disponible pour l’appareil.
- Up to date : l’appareil dispose déjà du dernier firmware connu. Une réinstallation (reflash) est possible.
- No firmware : aucun firmware n’a été trouvé pour cet appareil.
Effectuer la mise à jour du firmware : lancer le processus avec « Start update ». L’application transfère les fichiers de firmware bloc par bloc vers l’appareil. La progression est affichée dans la grille de blocs ; le temps écoulé et le temps restant sont indiqués.
Terminé !
La durée dépend de la taille du firmware et de l’environnement radio ; elle peut atteindre plusieurs minutes. Maintenez le ConBee connecté jusqu’à la fin de l’opération. Une mise à jour en cours peut être interrompue avec Cancel. Après une mise à jour interrompue ou échouée, Retry relance le processus.
Une fois tous les blocs transférés, l’outil de mise à jour OTA affiche « Firmware updated successfully. ». L’appareil redémarre ensuite de lui-même. La nouvelle version du firmware réapparaît dans la liste des appareils après le redémarrage.
L’outil de mise à jour OTA puise ses fichiers de firmware dans le même index de firmware maintenu que deCONZ (voir « Fonctionnement et remarques ») et contrôle chaque fichier par sa somme de contrôle SHA-512 avant de le transférer.
Mise à jour OTA via deCONZ
Prérequis
- Au moins la version deCONZ V.2.33.0
- ConBee II, ConBee III ou RaspBee II
- Une connexion Internet est nécessaire pour télécharger les fichiers de firmware OTA
Effectuer la mise à jour OTA
Appairer l’appareil Zigbee à mettre à jour au réseau Zigbee. Pour cela, dans deCONZ, ouvrir le panneau « Control » via l’onglet « Panels », sélectionner « Pairing » et activer « Enable permit join ». Le réseau reste ouvert pendant 60 secondes pour permettre l’appairage de nouveaux appareils Zigbee.
Ouvrir la boîte de dialogue OTA en appuyant sur le bouton correspondant.
Sélectionner l’appareil Zigbee.
Cliquer sur le bouton « Check Online » dans la boîte de dialogue OTA et patienter quelques secondes. deCONZ vérifie alors si un nouveau fichier OTA est disponible.
Dès que le statut passe de « No File » à « Update available », le processus OTA peut être lancé via le bouton « Update ». Les appareils Zigbee finaux en mode veille (comme les boutons-poussoirs, interrupteurs et capteurs) doivent souvent être réveillés manuellement par une pression sur un bouton pour que le processus de mise à jour puisse démarrer.
L’ensemble du processus de mise à jour peut prendre entre 10 et 30 minutes. Pendant ce temps, l’appareil Zigbee en cours de mise à jour ne doit pas être hors tension. Une fois la mise à jour réussie, l’appareil Zigbee redémarre automatiquement.
Terminé !
Fonctionnement et remarques
- La recherche de nouvelles mises à jour ne s’effectue jamais automatiquement.
- Le chargement initial du fichier
index.jsonse termine dès que l’on clique sur le bouton Check online. Cela déclenche également une requête OTA Image Notify Request vers les appareils Zigbee sélectionnés afin d’obtenir la version du firmware actuellement installée, le type d’image, etc. - Si une version de firmware plus récente est disponible pour l’appareil Zigbee, le statut « Update available » s’affiche dans la colonne de progression.
- Après avoir cliqué sur le bouton Update, la mise à jour est mise en file d’attente et devrait démarrer peu après.
- Les appareils Zigbee finaux en mode veille (capteurs, boutons, interrupteurs) doivent souvent être réveillés manuellement en appuyant sur un bouton ou une action similaire.
- Après le premier téléchargement du fichier
index.json, les mises à jour s’affichent également pour d’autres appareils Zigbee, à condition que le type d’image et le code fabricant soient connus. De nombreux appareils Zigbee interrogent régulièrement le serveur OTA (par exemple les appareils Philips Hue). - Les fichiers de firmware déjà existants ne sont pas téléchargés à
nouveau, car tous les fichiers locaux sont indexés au moyen de leur
somme de contrôle SHA-512 et comparés au SHA-512 présent dans le fichier
index.json. - Actuellement, seules les mises à niveau (upgrades) sont prises en charge. Pour les retours à une version antérieure (downgrades), il faut au préalable sélectionner manuellement un fichier présent sur le disque dur ou le stockage de l’appareil. À l’avenir, cette possibilité sera ajoutée à l’interface utilisateur de deCONZ afin de pouvoir choisir la version du firmware dans une liste.
- Par défaut, les fichiers OTA proviennent de l’index JSON très bien entretenu Koenkk/zigbee-OTA, qui contient des liens vers les fichiers OTA d’origine ainsi qu’un miroir hébergé sur GitHub. L’index JSON le plus récent avec tous les fichiers OTA est disponible ici.