-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Maj ota normal vers limited et vis versa #290
Comments
Ok merci pour la contribution. |
non, les fichiers restent hébergés sur ton repo git. T'as juste un script à executer, et soumettre le PR après, ca fera du coup un PR par fw. |
ok j'ai compris 👍 |
J'ai soumis hier le limited pour tester: Koenkk/zigbee-OTA#568 |
Quelqu'un avait déjà soumis le V14 en normal d'ailleurs. Mais inutile pour l'instant tant que le pr #8136 est pas merge. |
Ok ça me parait clair. |
par contre les PR sont merged une fois par mois ? non ? |
par pour ça, le index.json est telechargé par z2m pour les maj ota. Il n'est pas intégré dans les update z2m. |
https://github.com/Koenkk/zigbee-OTA/commits/master/ Donc si tu intègre ça dans ton CI/CD ca devrait pousser automatiquement par la suite. |
parfait ! merci ! |
Les PR sont passés, on est bon pour la prochaine release. |
Oh mais ça <3 Un grand merci ! |
De rien. C'était pas grand chose au final. Il va falloir que je puisse tester ça ici, j'ai bien un deuxième Lixee, mais faut que je vois si je peux le faire tourner en DC sans être branché au linky. |
Je peux t'envoyer un ZLinky si besoin. Sinon, oui tu peux alimenter un ZLinky en appliquant une tension DC de 5 ou 9 vols sur les bornes A et I1. |
C'est gentil, mais j'en ai deja 2 dont un qui ne me sert pas. |
oui tu peux tester les maj sans qu'il recoive les datas du Linky |
Super ca fonctionne. Par contre pour le sujet de ce thread, les firmware de migration ne passent pas. Déjà le lixee ne supporte pas les firmware compressé en zlib, alors j'en ai refait sans ça, mais le lixee jete l'update au début de la mise à jours :
Il doit y avoir des data dans le header du .bin qui sont vérifié par le device ( car si j'ai bien compris le header du .ota n'est pas envoyé au device, il envoie juste le .bin extrait du .ota une fois que le coordinateur a vérifié les metas du header .ota ) Ce qui veut dire qu'il faudrait compiler des firmware de migration depuis les sources qui permettrait de faire ça. Et là j'avoue que le code lixee me parle autant que du chinois pour l'instant ^^ |
Erf, ya un mécanisme de chiffrage lors de la création d'un OTA avec contrôle du CRC il me semble. |
J'ai cru lire ça oui. Voila le script que j'ai utilisé pour générer ces fichiers ota ( qui fonctionne si je genere un .ota depuis le .bin juste en changeant le n: de version ( et pas le type ) Ce qui me laisse penser que le crc est géré par la lib zigpy |
Apperement, il y a bien un autre header qui est testé, en verifiant avec zigpy le fichier ota
Il me sort: ZLinky_router_v14-normal2limited.ota Hors le header ota est bien sur type 1, donc il retrouve cette valeur de 2 ailleurs, depuis le .bin |
Ca y est j'ai réussis à faire passer les maj de transitions. J'ai tenté un paquets de trucs, même éditer les .bin avec un editeur hexa, mais le firmware était rejeté à la fin du telechargement. En fait la solution c'est qu'il manquait le meta de description qui doit etre du même nom que le firmware installé. |
voila les 2 commandes pour générer les fichiers ota depuis le script fourni dans le dossier:
|
@fairecasoimeme , petit bout de code interessant pour décompresser coté device les firmwares compressés avec zlib : https://github.com/nomis/candle-dribbler/blob/0.5.2/src/ota.cpp J'ai mis dans mon drive l'autre version du script qui permet de compresser les .bin dans l'ota. |
Merci @KipK pour le travail, je vais regarder tout ça dès que possible. |
Bon, comme je suis un gros impatient, et surtout que je voulais pouvoir confirmer à KipK que c'est vraiment extra ce qu'il a fait, j'ai voulu faire la manip moi-même tout seul comme un grand, sans attendre la MAJ de Z2M. Je crois avoir tout bien fait, MAIS j'ai mis les DEUX fichiers "limited2normal" et "normal2limited" dans le répertoire ota/ que j'avais créé....et j'ai créé le localotaindex.js identique à ce qu'il y a dans le premier post....en oubliant de lire "Ne gardez que l'objet necessaire," (en bon neuneu qui va trop vite)...et j'ai modifié le configuration.yaml pour ajouter la section "ota:" Redémarrage Z2M, je lance un check des MAJ firmware, ça me propose de mettre le firmware du ZLinky à jour, ça se déroule bien et......je pense que je suis toujours en normal vu que j'ai un de mes thermostats Zigbee qui est toujours connecté au ZLinky. Qu'à cela ne tienne, me dis-je.....j'enlève le fichier limited2normal du répertoire ota/ je modifie le localotaindex.js pour ne référencer que l'autre et je redémarre Z2M et.....bin rien. Y'a sûrement un truc que je fais de traviole, mais je sèche. Ô grand gourou, peux-tu venir à mon aide? :-) |
pour vérifier dans quel mode tu es, regarde dans l'onglet About de l'appareil: 4000 = normal |
Ah, alors je suis en normal... En fait, comme j'avais mis les deux FW dans le répertoire ota/ et que mon ZLinky était (il me semble) en version 13 et non 14 (il y a plusieurs semaines, la MAJ OTA en v14 m'avait été proposée mais passait son temps à échouer vu que le ZLinky passait son temps à se "planter" à cause de trop de périphériques pour qui il était routeur), eh bien, la MAJ s'est faite....en version 14 "normale". Et si ça se trouve, cela s'est fait par le canal "classique" Donc, il me reste maintenant à arriver à passer en limited, mais si ça se trouve, il y a qq chose que je n'ai pas compris qq part dans le post de KipK (ce qui serait absolument sans surprise, vu mon mode neuneu). Ce que j'ai fait dans mon Home Assistant:
Je pense qu'il y a un truc que j'ai mal compris (ce qui, une fois de plus, serait tout à fait normal car tout cela relève un peu de la magie noire pour moi) |
chercher (et ne pas trouver) la ligne 646 mentionnée par KipK dans lixee.js, donc aucune modif là Du coup le problème est là :) Ton z2m est sous docker ? Dans ce cas là t'embête pas et fait tourner l'image de dev: koenkk/zigbee2mqtt:latest-dev ( pense à faire une sauvegarde de ta cont avant si tu veux revenir sur la version stable, dès fois qu'il y ai du changement coté config. ) |
Mon z2m, il est installé dans les Modules Complémentaires de mon HA..... |
Du coup c'est du docker aussi. Cf la doc de l'addon HA: The repository includes two add-ons: |
Zigbee2mqtt est passé en version 1.41.0 |
Bonjour, ` ` Merci d'avance |
Oui j'ai déjà eu cette erreur avec le lixee. Réinitialise le device et reappaire. Ou peut être juste relancer l'apprentissage et la configuration |
De mon côté, la mise à jour s'est également faite avec le nouveau Z2M : j'avais ajouté un localotaindex.json avec juste la mention du firmware "normaltolimited" et le firware correspondant dans le répertoire ota/, plus l'ajout des deux lignes de section "ota:" dans le configuration.yaml de z2m Par contre, après la mise à jour:
|
Redémarre z2m voir. Sinon refais un apprentissage il devrait mettre à jours la version. |
Merci ! Redémarrer Z2M, j'ai déjà fait mais ça n'a rien changé. Je vais voir en resettant le ZLinky (appui 10s sur le bouton de reset si je ne me trompe pas) et en le réassociant. En tout cas, un grand merci pour tout le boulot sur ce truc (ça me donne des espoirs que ça bouge aussi pour mes modules Fil Pilote Leroy-Merlin...:-) ). |
T'auras remarqué que depuis la maj les modules LM apparaissent dans l'OTA. Faut le fw maintenant.. |
Hello, Dans mon cas j'ai aucun appareil qui se connecte a mon LiXee mais parcontre j'ai des valeurs qui sont figées, j'ai essentiellement que la apparent_power qui change entre chaque update... Est ce que le firmware limited va aider pour ce probleme ? Thanks! |
La procédure de @KipK a marché nickel chez moi. Merci |
Hello à tous, Désolé, je déterre un peu cette discussion car, après un fonctionnement sans trop de soucis pendant 2 mois avec mon ZLinky, j'ai recommencé à "perdre la main" dessus régulièrement. Cela s'est produit après avoir migré mon installation HA sur un SSD connecté en USB (afin d'éviter de dépendre d'une brave carte mémoire). J'ai initialement pensé à des problèmes d'interférences causés par la connexion USB du SSD. Mais même en le déplaçant sur un port USB 2.0, j'ai continué à "perdre" mon ZLinky après 1h ou 2 de fonctionnement normal. Pire, même en revenant en désespoir de cause sur la carte mémoire (donc en gros en revenant complètement en arrière), il m'a fallu je ne sais combien d'essais pour arriver un ZLinky qui s'appaire....et reste appairé (et, encore, je ne suis pas du tout certain que ça va tenir). J'avais fait, environ fin novembre, la manip décrite dans le post 1 (un immense merci à @KipK ). Curieusement, la version de firmware reportée restait 4000-0014....mais j'étais très probablement bien en firmware limited car plus aucun périphérique Zigbee ne s'apparaît avec le ZLinky bien que j'aie depuis ajouté pas mal de périphériques sur batterie. Aujourd'hui, après un combat épique, et 3692 aller-retours avec mon Linky, j'ai fini par arriver à réappairer le ZLinky après....avoir remis les modifications de @KipK dans mon configuration.yaml et dans un localotaindex.json. Et là, je croise les doigts, mais ça semble OK et, en plus, la version de firmware signalée est 4001-0014, ce qui est, sauf erreur, le "v14 limited". Bon, honnêtement, j'ai l'impression d'avoir fait pas mal de magie noire et j'étais à deux doigts de sortir les gousses d'ail et tracer un pentagramme autour de mon Raspberry Pi4...:-) Je pense que, pou rl'instant, je ne vais plus toucher à rien (j'ai quand même pas mal d'automatisations de gestion des périodes TEMPO, qui dépendent du fait que le ZLinky arrive à envoyer les bonnes infos.....surtout que, depuis 2 semaines, EDF nous solde tous ses jours rouges!). Je me suis dit que vous narrer toutes ces péripéties pouvait être une bonne idée, notamment pôur savoir si des choses ont bougé par ailleurs dans le monde du ZLinky....:-) (@fairecasoimeme taggué juste pour savoir et façon de remercier pour le travail fait sur le device, même si nous galérons pas mal avec!). En fait, faudrait que je finisse par me monter une installation de dev pour faire des bidouilles trnaquillement sans tout péter. J'ai même un deuxième ZLinky dans un coin qui dort (pas sûr que je ne l'aie pas un peu bousillé, par contre, lors de tests inavouables pour mettre son firmware à jour directement avec un USB-TTL). Mais ce qui me manque, c'ets un Linky de test, par contre...:-) |
Je viens de remarquer que pour la release de la v16, on a droit aux images limited2normal et normal2limited. edit: pour la v16, le yaml devrais ressembler à ça (en rajoutant le .ota au fichier), c'est ça? [
{
"fileVersion": 255,
"fileSize": 245886,
"manufacturerCode": 4151,
"imageType": 1,
"url": "zigpy_ota/ZLinky_router_v16_normal2limited.ota"
}
] |
Tu peux juste mettre l'attribut "url" ca suffit. Pas besoin des autres champs. |
Salut 👋 |
Tu mets juste à jours en OTA du coup, ça n'a rien à voir avec le sujet. Ici c'est pour passer de normal a limited et vis versa 🙃 |
Hello, est-ce que c'est censé marcher avec ZHA aussi ?
Pour l'instant rien ne se passe. |
Alors, oui! L'update finit par apparaître sur ZHA aussi, chez moi ça a pris 3h. Le message suivant a été: Donc normalement ça devrait avoir marché ! En revanche HA détecte toujours la présence d'une mise à jour, comme si ça n'avait pas été fait, et si j'interroge le cluster 0x0000 attribut 0x4000 j'obtiens la valeur 4000-0013, donc toujours la v13 au lieu de la v16. Edit: j'ai essayé de redémarrer HA et j'ai débranché et rebranché le ZLinky pour le rebooter, mais il est toujours en v13. |
**edit: premier post à jours. Pas la peine de lire tout le thread.
Salut
Voici 2 images qui permettent de passer du firmware normal vers limited et vis versa en ota ( sans avoir à flasher avec un programmeur série ).
Il s'agit des version 14, j'ai juste modifié les headers OTA pour changer l'image type et le numero de version ( à 255 pour forcer la maj ) .
Une fois flashé, il sera bien en v14, avec le bon type.
Les fichiers sont là:
https://drive.google.com/drive/folders/10hbOs632Vi_YDl_JNedt6z7iwb4lhdoH?usp=sharing
Ensuite pour activer le local ota, ajouter dans configuration.yaml de z2m:
Et créer le fichier localotaindex.json ( au même niveau que le configuration.yaml ), en ne gardant que le firmware necessaire:
Placer le fichier dans le dossier ota ( le créer si absent )
Redémarrer z2m.
Penser à vider le fichier localindex.json après la maj.
Il y a aussi le script python qui permet de créer ces fichiers ota à partir des .bin: create-ota.py
The text was updated successfully, but these errors were encountered: