Réaliser un WifInfo

J’ai laissé tourné le ping pendant 3 heures, voilà ce que ça donne :

Je vais essayer avec le plug-in que tu indiques sur mon Jeedom de test.

Sinon est-ce que tu as vérifié la stabilité de ton alim ? (il se dit sur le net qu’il y aurait des HLK « fake » de mauvaise qualité) même si c’est étrange que ça le fasse que maintenant et pas avant…
Si tu as plusieurs Wemos, peut être essayer avec un autre (penser à bien faire « Erase » avant)

Bon après celui que j’ai en test c’est avec une version 1.6.3SR2 pour laquelle j’ai réactivé la compression des fichiers de l’interface web… C’est la seule modification faite donc normalement aucune influence.
Mais dans le doute je vais re-flasher avec la version téléchargée ici pour vérifier.

Sinon je mon côté j’ai avancé sur le mode STANDARD du Linky,
Après bien du mal j’arrive à obtenir quelque chose de correcte mais rien n’est encore gagné car n’ayant pas de compteur dans ce mode, j’ai programmé un arduino pour me sortir des trames comme si c’était un compteur.
En simulation ça fonctionne, mais entre la simulation et la réalité des fois il y a un gouffre (surtout que mon simulateur peut aussi avoir des défauts)
Et je dois encore faire la partie qui cherche dans quel mode le compteur se trouve.
Sans parler du fait que je ne sais pas trop comment le plugin Téléinfo gère ça… Dans une trame standard il y a des valeurs qui sont horodatées, et moi j’ai fait en sorte de virer les horodatages (c’est d’ailleurs ce qui à été le plus compliqué) donc si je dois les remettre et les gérer c’est gros boulot en perspective !

Bref, on verra le week-end prochain.
En attendant je vais déjà voir si j’arrive à reproduire ton problème chez moi.

J’ai flashé un wemos avec le firmware téléchargé ici (exactement comme n’importe qui pourrait le faire donc) et le résultat après 3 heures de ping non-stop semble identique :


Je laisse tourner sur ma Jeedom de test avec le plug-in network pour surveiller à plus long terme…

Je crois avoir trouvé le problème…
Quand j’ai utilisé mon ESP8266 de mon installation, j’ai effectué le flash avec ta manipulation (ce qui fonctionne).
Mais pour bien faire (ce que je fais en général avant de pousser un nouveau firmware/programme) je fais un flash d’un fichier « BLANK_4M.bin »
image

Je viens de faire dans cette ordre, flash Blank_4M, puis suivi de ton tuto.
En CMD le ping est de 5-10ms, rien a voir avec les 96,150ms de mon WifInfo.
Je vais refaire la manip proprement sur mon Wifinfo et te fais un retour :wink:

De mon côté Jeedom n’a enregistré aucune perte de connexion en pratiquement 5 jours.

Pendant ce temps j’ai travaillé sur le mode STANDARD de la TIC pour rendre le Wifinfo compatible.
Je vous livre donc ici la version en beta test de la 1.6.4 qui apporte donc la prise en charge de ce mode.

La procédure de flash est la même que celle indiquée dans mon tutos quelques messages plus haut.
Winfinfo1.6.4beta.zip.txt (445,9 Ko)

Alors ATTENTION ici on parle bien d’une version beta : Ne l’utilisez pas pour remplacer un système en production

Je n’ai pas de compteur en mode standard, donc pour faire mes tests j’ai bricolé un simulateur qui n’est sans doute pas parfaitement identique à un vrai compteur, je n’ai donc pas pu développer et tester en conditions réelles.

Si vous avez un compteur avec la Téléinformation en mode Standard, j’attends vos retour avec impatience.

C’est une version de test, donc un mode debug est activé. Si vous voulez voir grossièrement ce qu’il se passe, une sortie série à 115200 bdps est disponible en D4 (GPIO2) qui affichera quelques messages concernant la lecture des trames TIC et de la recherche de mode.
Il est possible de boucler D4 vers TX (GPIO2 vers GPIO1) pour utiliser le convertisseur USB<-> série intégré au Wemos afin de recevoir ces messages.

Comme ce mode debug est actif et qu’il se fait sur D4, il est normal que la LED bleue intégrée au Wemos D1 mini scintille au rythme des envois de données vers ce port série. Si ça scintille d’ailleurs c’est généralement bon signe puisque ça veut dire que le processus de lecture des trames se passe bien.

Ce que fait cette version 1.6.4 :

  • Reprend les changements apportée avec les version 1.6.2 et 1.6.3

  • Réintroduit la compression des fichiers de l’interface Web du Wifinfo. (je vais voir si je peux compiler une version pour ESP8266 avec 1M de flash)

  • Apporte la prise en charge du mode STANDARD de la TIC

  • Recherche automatiquement le mode de fonctionnement de la TIC : Au démarrage c’est le mode HISTORIQUE qui est actif, si aucune trame correcte n’est reçue après 30 secondes c’est le mode STANDARD qui est activé. Le Wifinfo cherche alors une trame correcte pendant 30 secondes et repasse en mode HISTORIQUE, et ainsi de suite.
    Une fois qu’une trame valide est reçue, le basculement de changement de mode est désactivé jusqu’au prochain reboot du Wifinfo.
    Aucun risque qu’il se trompe et valide une trame dans le mauvais mode, la différence de vitesse entre les 2 est trop importante et écarte tout risque de faux positif.
    Le basculement de mode se fait sur la réception de donnée sur le port dédié à la Téléinformation (D7-GPIO13) Si aucune trame n’est reçue alors le changement de mode ne se fait pas ! (mais ce n’est pas utile puisque rien n’est reçut…)

  • Suppression des horodatages liés à certaines données des trames en mode STANDARD pour compatibilité avec le formatage des données en mode HISTORIQUE. Seul le champ DATE conserve son horodatage puisqu’il constitue la seule charge utile de cette étiquette. Jeedom et le plug-in Téléinformation n’ont pas besoin de cet horodatage. Les quelques teste effectué montrent que le plug-in se débrouille très bien comme ça

  • Prise en compte des étiquettes du mode STANDARD pour affichage de la jauge d’intensité / % de charge dans l’onglet « Téléinformation » de l’interface web du Wifinfo (uniquement pour le monophasé ou la phase 1 du triphasé)

  • Mise à disposition via l’API intégrée des données du mode STANDARD le cas échéant (couple « Étiquette/Valeur ») /json /tinfo.json

  • Reste 100% compatible avec le mode HISTORIQUE : tout ce qui fonctionnait avant en mode HISTORIQUE continue de fonctionner normalement dans ce mode. En fait le gros des modifications apportées se situe uniquement dans la partie réceptions des trames et n’implique que quelques dizaines de lignes de code supplémentaires pour gérer les subtilités entre les 2 modes. Une fois ce décodage fait, a part le nom des étiquettes qui change, tout est traité exactement de la même façon.

Ce que ne fais pas cette version 1.6.4 :

  • Affichage des jauges dans l’onglet « Compteur » de l’interface web du Wifinfo, celle-ci continuent de ne fonctionner qu’en mode HISTORIQUE, avec un abonnement HC/HP en monophasé. Peut-être que je travaillerait à rendre cet onglet compatible avec le mode STANDARD, mais ce n’est pas ma priorité.

  • Envois des données Emoncms : cette partie est basée sur les étiquettes du mode HISTORIQUE uniquement. N’utilisant pas cette fonctionnalité et n’ayant aucune idée de son fonctionnement, une adaptation n’est pas prévue.

  • Requêtes HTTP sur déclencheurs : idem Emoncms, cette partie étant basée sur les étiquettes du mode HISTORIQUE, cela ne fonctionnera pas en mode STANDARD. Une adaptation du programme est nécessaire pour rendre cette fonction compatible.

Il faut savoir qu’une trame Téléinformation en mode STANDARD est beaucoup plus lourde qu’en mode HISTORIQUE
Seul 350 octets étaient réservés pour contenir la totalité d’une trame historique.
J’ai réservé 1.2ko pour une trame standard en tenant compte du fait que je vire tous les horodatage quasiment au fur à mesure de leur réception. Sinon un trame standard complète triphasé + mode producteur fait 1.7ko

J’avais initialement décidé de partir sur la version 1.1.5 de la LibTeleinfo de Charles Hallard qui dans cette version prend en charge nativement le mode STANDARD et qui est l’auteur de la version 1.0.0 du Wifinfo.
Il me semblait judicieux de « greffer » cette librairie aboutie et certainement fiable au Wifinfo 1.6.3
Mais les différences avec la version 1.6.1 sont telles qui aurait fallut reprendre la quasi totalité du code (ou repartir de la version 1.0.0)
En plus je ne comprend rien a son code et mes quelques tentatives aboutissaient toujours à un plantage du Wifinfo…
Il a finalement été plus simple d’adapter la routine de réception de la version 1.6.1 en s’inspirant de certains bouts de la librairie de C.Hallard (particulièrement pour le principe du changement de mode)

2 « J'aime »

Rien a redire, super boulot ! :star_struck:
J’ai hâte de voir les retours de ceux qui possèdent un compteur Linky.

Bon bah je pensais ma situation stabilisée depuis mon re-flash, mais ce n’est pas le cas.
Entre le 21 et 22 avril, c’est hécatombe …
Perte de connexion, ne ping plus


Du coup le 23 avril je l’ai passé en firmware 1.6.4, stable pendant 3h puis à nouveau ce problème de perte de connexion.
Hier j’ai voulu rebasculer sur ma propre version, malheureusement mon IDE Arduino a mis à jour des librairie, donc plus rien ne compile.
J’ai donc basculé sur la solution Tasmota (déjà que j’ai des Sonoff NSPanel) et ça tourne sans broncher ! mon ping est plus stable, aux alentours des 5-10ms alors qu’avant ça oscillait entre 37,54, 122, 320ms !
Peut-être un problème de matériel de mon côté (perso, j’ai un doute vu que mon wifinfo tournait depuis 2 ans sans problème).
Au moins la pas de problème de clé API, j’ai pas vérifié comment ça réagit en cas de coupure de courant avec la connexion à la box.
Voila mon p’tit feedback du week-end :slight_smile:

Bizarre, je suis à 12 jours d’uptime, et zéro perte de connexion, ping à 4ms

@tibo.percin
Pour une autre projet je suis en train de fouiller (modestement) dans les entrailles des ESP, et je viens de comprendre un truc…
Est-ce que tu pourrais me dire sur ton ESP qui pose problème la version du SDK ?
Dans le wifinfo c’est dans le menu « Système » à la ligne « SDK version »
avec le core Tasmota je ne sais pas…

Hello,
Je viens de flasher un ESP avec ton firmware 1.6.4, voici les informations


Je vais le laisser tourner un peu.
En tout cas si tu as des pistes, ça m’intéresse ! :smiley:

1 « J'aime »

Et toujours le même problème …


On pourrait croire à un défaut matériel, mais cet ESP tourne sans problème sou Tasmota.
Et vu que j’ai aussi eu le problème sur mon ESP d’origine qui tourne impec depuis 2 ans, ce n’est non plus pas un problème hardware.
En tout cas si tu veux que je pousse des tests, hésite pas !

Pour la version du SDK c’est la même que sur le miens donc c’était une fausse piste.
C’est quand même bizarre ton problème parce que moi j’ai 2 wifinfo qui tournent en 1.6.3 et aucun des deux n’a de problème.

Un teste que tu pourrais faire c’est d’en flasher un avec la version 1.6.1 d’origine (celle qui ne fonctionne pas avec jeedom) pour voir si tu as les mêmes problèmes de ping ou pas
Histoire de savoir si c’est mes modifications qui sont en cause (mais j’ai rien touché en ce qui concerne le wifi) ou si c’est un problème qui était déjà là avant.

Yes pas bête, après je t’avoue que de base j’avais la version 1.0.7 avec les modifications de « TheGressier » qui a modifié la version 1.0.6 de « Doume » (sur laquelle tu as travaillé).
Je test et te fais un retour :wink:

Bonjour à tous,

J’utilise Wifinfo depuis plusieurs années je pense à la sortie de la version 1.0.7 jusqu’a aujourd’hui sans problème avec un ancien compteur électronique.
J’ai eu ce week-end l’installation d’un compteur connecté mais pas le Linky, je joins une photo en pièce jointe. Malgré une longue lecture de vos échanges sur le forum je ne trouve pas de solution. Quelqu’un aurait-il le même compteur et une version qui fonctionne sur celui-ci ? pour info je suis passé en 1.6.3 sans résultat.

Mon problème est que je n’ai pas de données venant du compteur sur la page web du wifinfo.

Merci d’avance

Ton compteur c’est un Linky… c’est juste qu’il est pas vert !

Quelques nouvelles…

Suite à la panne de mon compteur Linky, j’ai demandé au technicien venu effectuer son remplacement de mettre la TIC en mode « Standard », j’ai donc pu tester ma version 1.6.4 en condition réelle et je peux confirmer que ça fonctionne.
Je dois faire des test plus poussés et faire un peu de ménage dans le code mais une version « stable » devrait arriver.

1 « J'aime »

Quelques nouvelles du projet (même si j’ai l’impression que le wifinfo n’intéresse plus grand monde)

J’ai une version 1.6.4 qui tourne depuis une dizaine de jours sans problèmes. Ce n’est pas encore une version finale mais dans l’idée c’est pas loin.

Dans cette version j’ai supprimé des trucs que je jugeais inutile pour notre utilisation avec Jeedom, par exemple la connexion à un serveur NTP qui utilisait des ressources pour n’apporter aucune valeur ajoutée.
J’ai également supprimé toute une partie de calcul de puissance dérivée de la lecture successive des index (c’était un ajout de la version 1.6.1 à ce que j’ai compris) qui ne fonctionnais qu’avec un contrat BASE ou HC/HP et qui en plus avait l’air de ne fonctionner que quand elle avait envie (le code n’avait pas l’air spécialement finalisé quant à cette fonction). Bref, inutile => ça dégage.

J’ai ajouté, dans l’onglet système, une ligne qui indique le mode TIC utilisé (Historique ou Standard) ou si le mode est en cours de recherche (pour rappel la recherche du mode est automatique, il n’y a rien à configurer à ce sujet. D’après mes essais la détermination du mode prend environ 30s)
J’ai également ajouté un compteur de debug qui indique le nombre de trames TIC correctement reçue.
Le compteur de trames en erreur est plus indicatif qu’autre chose, car pour qu’une trame soit comptée en erreur il faut que le caractère de début de trame ait été correctement reçut, ce qui veut dire que si le soft manque ce caractère de début, la trame ne sera pas compté en erreur même si rien n’est reçut.

Pour le reste, voir ce qui avait déjà été dis plus haut à propos de la version 1.6.4 beta

L’onglet compteur fonctionne partiellement en mode historique et pas du tout en mode standard. Je pense de plus en plus à le virer, pour moi il ne sert à rien.

Le firmware compile se trouve ici : (supprimer l’extension .txt après téléchargement)
Wifinfo1.6.4-16.zip.txt (444,0 Ko)

Pour ceux qui voudrait l’utiliser en prod, c’est possible (c’est le cas chez moi) mais assurez vous quand même d’avoir de quoi faire un roll-back vers une autre version en cas de soucis.

Si vous êtes déjà en 1.6.3 ou en 1.6.4 beta, il est possible d’utiliser la fonction de mise à jour en ligne (onglet « configuration » → " Mise à jour firmware ou serveur web embarqué" → fichier « firmware.bin » téléchargé ci-dessus.
Sinon il est préférable de tout recharger en USB avec Espressif Flash Download Tools (voir mon explication message du 7 avril 2023)

Petite explication concernant le hardware pour le mode standard :

Depuis le début, mon exemplaire était basé sur le hardware de la version originale du WifInfo, a savoir celui-ci :
DecodeurTICoriginal
(sauf que j’utilise un BSS138 pour Q1)

Après le remplacement de mon Linky, et donc le passage de la TIC en mode standard, il s’est avéré que je n’avais qu’un seul exemplaire (sur les 3 que j’avais sous la mains) qui recevait quelque chose (coup de bol car ça aurait pu être 0/3) et ce quelque soit le firmware (j’ai essayé avec le firmware Tasmota Téléinfo et c’était pareil)

J’ai donc fouillé un peu sur le net, pour voir qu’il était souvent recommandé de baisser la valeur de R3, j’ai essayé plusieurs valeurs, jusqu’à descendre jusqu’à 220 ohms et ça ne fonctionnais toujours pas.
En plus de faire réellement sortir le Wifinfo des spécifications techniques TIC préconisé par Enedis (et donc de potentiellement créer des problèmes si on veut raccorder plusieurs récepteurs sur la TIC) ça ne semblait pas être la solution.

N’ayant toujours pas investi dans un oscilloscope potable (c’est en projet) j’ai tenté de simuler la chose sous LTspice afin d’essayer de comprendre ce qu’il se passait.
Je la fais courte, mais en fait les valeurs de R3 et de R5 sont liées. Modifier R3 demande aussi d’ajuster R5 en conséquences.
J’ai fais plusieurs simulations et essais pour trouver la paire de valeur qui semblait convenable.

Donc autant pour une TIC en mode HISTORIQUE R3=4K7 et R5=10K semble convenir dans la majorité des situations.
Autant pour une TIC en mode STANDARD il est quasiment obligatoire de modifier ces résistances.
Normalement avec R3=2k7 et R5=4K7 ça fonctionne (c’est le cas chez moi, avec le compteur à 50m)
ça permet de ne pas faire baisser l’impédance de la ligne TIC trop bas.
Si ça ne fonctionne pas, vous pouvez essayer avec R3=1K2 et R5=2K7

Voilà, si quelqu’un tente l’aventure de ce nouveau firmware, j’aimerais bien un commentaire en retour afin de savoir si je continue à passer du temps sur le projet, ou si je laisse tomber; car en ce qui me concerne les objectifs que je m’étais fixé sont atteints.

1 « J'aime »

Merci pour ta contribution et ces détails très complets !
Pour tester ton montage, tu te branches direct sur la téléinfo de ton compteur ?
Ou tu simules les trames ?
Je voulais me lancer dans la conception d’un simulateur, voir si ça peut aider dans ton dev ou pas.

Je suis relié à un vrai compteur Linky.
Pour mes tests si besoin j’ai accès à 3 compteurs Linky
un chez moi en monophasé, tempo, standard
un sur l’activité pro de ma femme, en triphasé, base, historique
un chez un ami, en monophasé, tempo, historique
la version 1.6.4 fonctionne sur les 3

Bonjour @Forhorse,

As tu l’intention de diffuser le sources de tes modifications. Je suis très intéressai pour avoir une version récente de wifinfo. Je tourne actuellement une version 1.0.7 que je suis aujourd’hui incapable de reconstruire. De plus j’ai une version modifier qui fait un délestage de mon chauffe eau.

Wifinfo is not dead.
Merci pour ton travail

Les sources sont là :
Wifinfo1.6.4-16src.zip.txt (360,1 Ko)