Ré-écriture de Wifinfo pour traiter le mode standard du Linky
-
@doddyfab Oui j'ai depuis 10 mois une version de wifinfo que j'ai trouvé sur le web qui fonctionne bien. Il suffit d'activer une option pour activer le mode standard. Le seul defaut que je lui trouve, c'est après une perte secteur, il se peut qu'il à du mal à se connecter au wifi, il ne se plante et ne se réinitialise pas tout seul...
-
@Seb-H si tu as un lien de l’image je suis preneur.
Merci pour ton retour -
Bonjour,
attention à l'entrée série sur les cartes WEMOS D1 mini : Suivant les versions, si on se sert des pins RX et TX, il faut couper la piste qui relie la pin 2 du convertisseur USB/Série CH340C au Rx. En effet ce composant impose un niveau haut sur la pin 2 (TxD ) s'il n'y a rien sur l'entrée USB.
Il faut bien sûr reconnecter la liaison pour flasher en USB. Personnellement, je flashe en usb, je coupe la piste, et je fais les flashs suivant en OTA.
C'est le seul défaut de cette carte, et pas sur toutes les versions : il faut vérifier sur le schéma électrique de la carte.
Pierre
-
Bonjour,
Quelqu'un à des informations concernant l'étiquette ISOUSP du LINKY en mode historique ? Ci-dessous une capture partielle d'une page Wifinfo :
Maurice
-
Bonjour,
d'après la doc, le libellé exact de l'étiquette semble être "ISOUSC" et ses données ne comportent que 2 caractères , en Ampères, avec la formule suivante : PREF(en VA)/200V.
Si le libellé est faux, c'est probablement une erreur de synchro en réception des infos du compteur.
-
Bonjour JG,
Merci pour la réponse, je vais mettre une image plus complète :
ISOUSC existe et est bien décodée. Je n'ai pas d'erreur de lecture et de décodage.Voici une capture de la trame qui broadcastée sur mon réseau :
Autour du 28/01/2021 j'ai eu un blocage de mon application à cause de cette nouvelle étiquette non déclarée dans la BDD... depuis que je lui ai ajouté un champ ISOUSP ça refonctionne... mais d'où sort cette nouvelle étiquette ??
Maurice.
-
Oui @JG à raison, parfois des erreurs de synchro et des etiquettes foireuses sont detectées. WiFInfo est un peu vieux, toujours resté en béta par manque de temps et n'a jamais vraiment été maintenu. Si tu reset ton ESP ça devrait rentrer dans l'ordre.
C'est pour ça que j'ai fait la 1ere inclusion du protocole dans tasmota qui est beaucoup plus stable. Je te conseille donc même si l'interface est moins funky, d'utiliser tasmota
-
@Charles J'aimerais bien utiliser tasmota juste pour la téléinfo ! Sauf que les infos envoyés sur mon serveur domoticz sont incomplète pour le moment. Dans le cas d'un comptage HP/HC , il n'y a qu'un seul compteur qui est envoyé au serveur via le capteur P1 Smartmeter , et de plus l'index de comptage envoyé est remis à 0 toutes les 24h. Wifinfo envoyait l'index de comptage réel de ton compteur et ça te permettait de faire des relevés à distance. Moi perso, l'interface de tasmota est très bien comme elle est, mais si elle pourrait juste faire le même job que dans les conditions qu'avant , ca serait top .
-
@Seb-H tasmota peut te renvoyer sur MQTT chaque trame reçue en mode raw (soit environ toutes les secondes) avec toutes les étiquettes Après tu peux traiter comme tu veux, je ne sais pas quel format domoticz attends, mais il doit aussi renvoyer le bon format domoticz en télémetrie classique.
-
Effectivement un coup de reset et c'est reparti.
Chapeau bas messieurs !
Ca fait plusieurs mois que ça fonctionnait sans aucun problème, je n'ai pas pensé une seconde à faire un reset.
J'ai bien essayé avec tasmota et c'est vrai que ça fonctionne pas mal mais je suis passé en HP/HC en octobre dernier et j'avais fait les mêmes constats que Seb H, je vais à nouveau y rejeter un coup d’œil avec les précisions de ton dernier message... mais c'est vrai que l'interface de Wifinfo est bien pensée...Maurice.
-
@Charles Voila mon problème.
Ci dessous une capture avec le setoption 108 0
20:42:30.845 MQT: domoticz/in = {"idx":84,"nvalue":0,"svalue":"0.0;719.0;0.0;0.0;366;0","Battery":100,"RSSI":6}
20:42:30.850 MQT: tele/tasmota_DB567A/SENSOR = {"Time":"2021-02-17T20:42:30","ENERGY":{"TotalStartTime":"2021-02-11T18:24:47","Total":0.720,"Yesterday":0.000,"Today":0.720,"Period":1,"Power":366,"ApparentPower":452,"ReactivePower":265,"Factor":0.81,"Voltage":226,"Current":2.000,"Load":22,"ADSC":"061961361253","VTIC":2,"NGTF":"H PLEINE/CREUSE ","LTARF":" HEURE PLEINE ","EAST":1893378,"EASF01":876569,"EASF02":1016809,Dans la 1ère trame qui est envoyé à Domoticz, voici ce qu'attends domoticz dans le cas d'un capteur P1 SmartMeter
On peut voir, qu'il n'y l'index du Compteur A HC qui est renseigné et dans la 2ème trame, on peut voir que c'est l'image de "Today":0.720
Le problème c'est que le compteur Today est remis à 0 toutes les 24h par tasmota, et que l'on perd la notion de l'état de l'index réel de son compteur.
Si on reste sur le même fonctionnement que Wifinfo, on devrait retrouver dans la trame domoticz, pour l'index Cpt (A) HP (actuellement reste à 0), le contenue de EASF02 soit "1016809" et pour l'index Cpt (A) HC (actuellement l'image de today) , le contenue de EASF01 soit "876569"
Avec le setoption108 1(mode RAW), la problématique est exactement la même, ça ne change rien à la trame envoyé à domoticz
Alors comment peut on faire facilement ??
-
Ok je vois,
Oui domoticz est couplé au mode "Energy" de tasmota alors mettre en raw ne changera rien sauf a mettre une interface entre les 2.
Comment WiFinfo envoi à domoticz? peut être prendre le problème à l'envers
-
@papymo said in Ré-écriture de Wifinfo pour traiter le mode standard du Linky:
Effectivement un coup de reset et c'est reparti.
Personnellement, j'utilise toujours LibTéléinfo.h , mais je traite les erreurs et je fais un reset de la télé-info dès que j'ai une erreur de réception ( Linky en mode historique et ESP8266):
String Nom = me->name; //Lecture etiquette Téléinfo // traitement des erreurs de réception // me->value ne doit pas contenir de texte, si c'est le cas, il y a un pb de synchro dans la réception des trames // Linky. On va donc tester la longueur de la valeur reçue, qui normalement ne doit pas être 7,8,10, ou > 12. String val = me->value; if (val.length() == 7 or val.length() == 8 or val.length() == 10 or val.length() == 11 or val.length() > 12 ) { if (client.connect("clientId")) client.publish(TopicControl, me->value); tinfo.init(); // si erreur, re-init de la TeleInfo Nom = " "; // efface l'étiquette donc pas traitée par la suite }
j'ai quelques reset de la téléinfo par jour, mais c'est transparent pour le programme.
-
@charles
Mon wifinfo envoit une commande json sur mon domoticz, dans le format ci dessous.
Je renvoi simplement l'état de mes compteurs EASF02 et EASF01. Peut on le faire simplement en modifiant le code dans le module energie ?? (quitte à modifier la source dans mon cas)
-
@seb-h Ok je me souviens j'avais écrit ça a l'arrache de mémoire. Normalement tasmota gère domoticz mais via MQTT, t'as un serveur MQTT ?
-
D'un manière plus générale, je pense que la méthode la plus souple (et c'est valable pour TOUS les devices) c'est le couple suivant :
- MQTT
- Node Red
Dans donc cas par exemple Tasmota envoi la téléinfo dans MQTT, Node Red récupère celle qui t'intéresse puis fait un post HTTP (comme le faisait WiFInfo) sur Domoticz
Mais c'est pas limitatif, avec ce couple tu peux vraiment TOUT faire et l'interface graphique de node red est un bonheur
-
@charles En fait, j'ai un NAS Synology ou j'ai domoticz qui est installé dessus. J'ai du installer une appli nommé "Mosquitto" qui doit être le serveur MQTT. Le soucis étant c'est que je n'ai aucune interface graphique (ou une appli) ou je peux me connecter dessus, ne serait ce que pour définir un mot de passe ou un login d'accès à ce serveur. Je comprends ta logique maintenant , le but étant d'intercepter les trames et de les modifier. En revanche, je suis pas sur que je sache installer Node Red sur mon NAS qui est un entrée de gamme DS213j
-
@seb-h ouais j'ai un syno aussi de 10 ans un DS1010 je fait tout tout tourner en docker dessus y compris le broker mosquitto (et c'est le principe, pas d'interface graphique de config c'est un service)
Pour mettre un password sur ton broker MQTT c'est ligne de commande et la config est dans
mosquitto.conf
(faudra générer un fichier avec les password d'accès du coup) je vais pas décrire ici mais tu trouveras bon nombre de tuto pour ça.Pour node red idem, docker, si t'as un syno tu installes docker via DSM (l'interface graphique de synology) et du coup t'as une interface WEB de config docker sur le syno, tu vois je peut être compatissant La encore des tutos partout.
-
@charles Merci pour ton retour . J'ai vu ton message un peu tard et j'ai fait des recherches pendant ce temps. Donc j'ai effectivement trouvé pas mal de tuto donc celui d'installer Docker en 1er. Donc chez moi, je ne trouve pas l'appli Docker et normal car Docker n'est dispo qu'à partir d'une certaine gamme de Syno. Mais chance pour moi, j'ai trouver ce tuto https://www.rs-online.com/designspark/installing-node-red-on-a-synology-nas . En activant le SSH et avec des ligne de commande unix (j'ai quelques connaissance sur cet OS) , je suis arrivé à activer le login et mot de passe pour Mosquitto impec , et je suis arrivé a installer Node Red C'est donc un service que tu appelles via le navigateur avec un port spécifique ! On peut dire qu'il arrive à "sniffer" tout ce que mosquitto fait transité et peut aussi réemettre des trames comme il le désire ? . Je ne suis pas encore arrivé à activer la connexion sécurisé sur NodeRed avec login et mot de passe, pourtant j'ai suivi le tuto comprend pas (avec génération du mot de passe), faudra que je revois....
Dans l'idée , je désactive la trame DOMOTICZ/IN que tasmota envoit, je réceptionne uniquement la trame standard que tasmota envoit, j'extrait les 2 compteurs qui m’intéresse et je renvoi dans une trame DOMOTICZ/IN . Tu as pas un tuto qui irait super bien pour expliquer les différentes macro que utilise node red ? -
@seb-h ouais c'est l'idée, et le but de node red.
Non j'ai pas de tuto, mais du mets un node MQTT listener (pour subscribe sur le topic ou tasmota envoi la téléinfo) puis ensuite une fonction JS pour traiter et faire ce que tu veux puis un post http sur domoticz
Regarde tu dois pouvoir trouver des exemples nodered domoticz déja ca va t'aider à comprendre le principe.