Ré-écriture de Wifinfo pour traiter le mode standard du Linky



  • @pascal-Mochel Top, d'ailleurs la modif est maintenant active dans la main branche Theo l'a mergé.



  • remonté via MQTT d'informations
    fonctionne

    super merci



  • Salut,

    Tout d'abord, merci pour le module, j'ai quelque chose qui ressemble à quelque chose, maintenant !

    J'essaye d'utiliser Tasmota et ce nouveau module, et je suis face à un problème: j'obtiens des informations qui semblent ne pas être du json valide:

    {"Time":"2020-08-22T21:47:31","ENERGY":{"TotalStartTime":"2020-08-22T13:20:46","Total":1.116,"Yesterday":0.000,"Today":1.116,"Period":0,"Power":230,"Current":1.000,"Load":2 "ADCO":"XXXXXXXXXXXX","OPTARIF":"BASE","ISOUSC":45,"BASE":7819066,"PTEC":"TH..","IINST":1,"IMAX":90,"PAPP":230,"HHPHC":"A","MOTDETAT":0}}
    

    Il manque par exemple entre le "Load":2et le "ADCO": "XXXXXXXXXXXX" une virgule. Ça resemble au problème de @pascal-Mochel d'il y a quelques jours, sauf que j'aimerais garder ce format où j'ai tout dans un seul type detopic MQTT (tele/tasmota_foobar/SENSOR) donc ne pas utiliser le setOption108 1 , et ce "json" non valide m'empêche de traiter les données simplement par la suite.

    Une idée?

    Rémy



  • Remy

    ahah c'est un sale bug, c'est fixé dans ce PR
    https://github.com/arendst/Tasmota/pull/9147

    Merci du retour



  • Merci ! Ça fonctionne globalement, mais… J'ai encore un petit problème: j'ai parfois des caractères non-ascii / utf8 dans la sortie, par exemple:

    {"Time":"2020-08-23T12:05:47","ENERGY":{"TotalStartTime":"2020-08-22T13:20:46","Total":2.594,"Yesterday":2.106,"Today":0.488,"Period":0,"Power":240,"Current":1.000,"Load":2,"ADCO":"811775074547","ISOUSC":45,"HHPHC":"A","IMAX":90,"BASE":7822520,"PTEC":"TH..","IINST":1,"PAPP":240,"MOTDETAT":0,"OPTARIF":"BASE","TEC":"TH.."}}
    

    se termine en fait par:

     'OPTARIF":"BASE","\x10TEC":"TH.."}}'
    

    Ça ne semble pas arriver tout le temps, je peux probablement traiter le \x10 à la sortie de MQTT mais c'est peut être le syndrome d'un autre problème.

    Rémy



  • En fait, il semblerait qu'il y ait des corruptions dans la sortie TIC, qui se traduisent par des corruptions dans les messages MQTT:

    12:10:39 CFG: Saved to flash at FB, Count 58, Bytes 4096
    12:10:39 MQT: tele/tasmota_19FDA8/STATE = {"Time":"2020-08-23T12:10:39","Uptime":"0T00:00:11","UptimeSec":11,"Heap":23,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"Livebox-FE98","BSSId":"70:FC:8F:49:25:7F","Channel":6,"RSSI":94,"Signal":-53,"LinkCount":1,"Downtime":"0T00:00:05"}}
    12:10:39 MQT: tele/tasmota_19FDA8/SENSOR = {"Time":"2020-08-23T12:10:39","ENERGY":{"TotalStartTime":"2020-08-22T13:20:46","Total":2.611,"Yesterday":2.106,"Today":0.505,"Period":1,"Power":230,"Current":1.000,"Load":2,"ADCO":"811775074547","OPTARIF":"BASE","ISOUSC":45,"BASE":7822537,"PTEC":"TH..","IINST":1,"HHPHC":"A","MOTDETAT":0,"IMAX":90,"PAPP":230}}
    12:10:42 TIC: [26]# rj^5jxGW^FwVASE=007822537
    12:10:49 MQT: tele/tasmota_19FDA8/STATE = {"Time":"2020-08-23T12:10:49","Uptime":"0T00:00:21","UptimeSec":21,"Heap":23,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"Livebox-FE98","BSSId":"70:FC:8F:49:25:7F","Channel":6,"RSSI":96,"Signal":-52,"LinkCount":1,"Downtime":"0T00:00:05"}}
    12:10:49 MQT: tele/tasmota_19FDA8/SENSOR = {"Time":"2020-08-23T12:10:49","ENERGY":{"TotalStartTime":"2020-08-22T13:20:46","Total":2.611,"Yesterday":2.106,"Today":0.505,"Period":0,"Power":230,"Current":1.000,"Load":2,"ADCO":"811775074547","OPTARIF":"BASE","ISOUSC":45,"BASE":7822537,"PTEC":"TH..","IINST":1,"HHPHC":"A","MOTDETAT":0,"IMAX":90,"PAPP":230,"rj^5jxGW^FwVASE":7822537}}
    

    Est-ce ma faute, est-ce que quelqu'un a déjà vu ça?

    Une fois que la sortie TIC s'est plantée, on dirait que les données restent dans les messages MQTT suivants (même si la sortie TIC semble être "rétablie").

    Rémy



  • @Charles

    Désolé pour le retard, je rentre de déplacement et j'ai enfin 5 minutes. Donc j'ai tester la dernière version en mode standard. Donc, le système ne voit rien du tout (aucune remonté de l'intensité et de la puissance apparente et des index ) et pourtant les données arrivent bien (j'ai pu refaire un log des données qui arrive sur la pin Rx)...



  • Par rapport à mon précédent post, je reformule une question déjà posé et qui est resté sans réponse à ce jour. Pourra t on définir une autre pin que celle imposé pour la réception des données ?



  • @Seb-H

    Si c'est un ESP8266, non c'est soit GPIO3 soit GPIO13 (de mémoire), c'est les seules pins possibles pour la hardware Serial, sur un ESP32 tu dois normalement avec le template pouvoir changer de pin à ta guise.



  • @rgrunbla ça me rapelle de vieux souvenirs, oui une fois une mauvaise etiquette détectée elle reste jusqu'au reset mais normalement la checksum est controlée avant stockage donc c'est une corruption de mémoire.

    ton tasmota fait beaucoup de chose en même temps ?



  • @Charles Ok, donc chez moi en mode standard, mon tasmota ne voit rien du tout ! Quelqu'un à déjà tester sur un linky en standard ?? Y a t il une opération à faire de particulière dans la fenêtre de log ??


Log in to reply