Bonjour @Furax,
C’est un grand classique des mises à jour OTA sur les modules et prises Schneider Wiser / Odace sous Zigbee2MQTT !
Même si une prise murale est sur secteur (et donc réputée routeur "toujours allumé"), dans la pratique des OTA Zigbee, le secret n°1 est de forcer l'appareil à rester parfaitement "éveillé" et actif pendant tout le processus de transfert.
Voici les techniques éprouvées pour débloquer ces MAJ récalcitrantes :
1. La technique de l'appareil "éveillé" (Garder l'activité radio)
Sur les prises connectées avec mesure de puissance, si la prise est "à vide" (rien de branché), la pile Zigbee espace ses acquittements pour économiser ses cycles, ce qui finit souvent par dépasser le timeout de transfert OTA de Zigbee2MQTT (d'où les blocages aléatoires à 30-70%).
L'astuce : Branche une petite charge allumée dessus (une lampe de chevet, un ventilateur, etc.).
Cela oblige la prise à remonter des rapports réguliers de puissance/tension (power reporting), ce qui maintient la communication Zigbee ultra-active et empêche le coordinateur de croire que la prise ne répond plus.
2. Zéro autre trafic : Une seule MAJ à la fois
Un firmware Zigbee représente des milliers de petits paquets (Image Block Requests).
Assure-toi de ne lancer qu'une seule mise à jour à la fois sur ton réseau.
Évite les gros flux de données Zigbee en parallèle pendant le flash.
3. Le "Power Cycle" juste avant de lancer l'OTA
La mémoire tampon (buffer) Zigbee de la prise peut être saturée suite aux tentatives précédentes :
Coupe le disjoncteur de la prise pendant 15 à 30 secondes, puis réenclenche.
Dès que la prise réapparaît en ligne dans Z2M, lance immédiatement l'OTA. Le microcontrôleur aura sa RAM propre et sera immédiatement disponible.
4. Attention au chemin de routage (LQI et sauts)
Si la prise communique à travers 2 ou 3 autres routeurs du maillage pour atteindre ta clé Zigbee, le risque qu'un paquet sur 5000 se perde est démultiplié :
Vérifie sur la carte Z2M avec qui dialogue la prise.
Si le signal est limite (LQI bas), c'est souvent ce qui fait échouer le transfert au milieu.
5. La reprise automatique
Comme tu l'as constaté sur la première, le protocole OTA gère la reprise sur coupure (offset). Si elle bloque à 60 %, patiente 2 minutes puis relance la MAJ sans redémarrer Z2M : elle devrait théoriquement reprendre là où elle s'est arrêtée plutôt que de repartir de zéro.
En appliquant le coup de la lampe branchée + le petit reset électrique préalable, ça passe généralement du premier coup ! 