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)