Ré-écriture de Wifinfo pour traiter le mode standard du Linky
-
Yes parfait
pour des soucis de lecture peux tu éditer ton post et mettre tout le texte de la trame entre triple backquote ` (donc 3 au debut et 3 à la fin) ca formate mieux et devient bien plus lisible
Exemple
21T10:34:55","Uptime":"0T02:10:09","UptimeSec":7809,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"mochel","BSSId":"34:49:5B:B9:5B:C0","Channel":11,"RSSI":100,"Signal":-28,"LinkCount":1,"Downtime":"0T00:00:03"}}
Merci à toi
-
@pascal-Mochel Alors c'est assez fun tu n'as pas l'index dans la trame (ah si pardon
base
), effectivement cette etiquette n'est pas traitée. Fix à faire de mon cotéSinon pour info, tu peux de faire un
setOption108 1
(ca envoi juste une trame MQTT à chaque reception de trame téléinfo) avec toutes les données de teleinfo sans tenir compte du modeEnergy
du device. -
Avant de modifier le setoption
10:19:55 MQT: linky_pm/tele/STATE = {"Time":"2020-08-21T10:19:55","Uptime":"0T01:55:09","UptimeSec":6909,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"mochel","BSSId":"34:49:5B:B9:5B:C0","Channel":11,"RSSI":100,"Signal":-30,"LinkCount":1,"Downtime":"0T00:00:03"}} 10:19:55 MQT: linky_pm/tele/SENSOR = {"Time":"2020-08-21T10:19:55","ENERGY":{"TotalStartTime":"2019-11-29T19:05:42","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":540,"Current":2.000,"Load":6 "ADCO":"061964653612","OPTARIF":"BASE","ISOUSC":30,"BASE":1121277,"PTEC":"TH..","IINST":2,"IMAX":90,"PAPP":540,"HHPHC":"A","MOTDETAT":0}} 10:24:48 MQT: linky_pm/tele/HASS_STATE = {"Version":"8.4.0.2(tasmota)","BuildDateTime":"2020-08-19T13:03:24","Module or Template":"WifInfo","RestartReason":"Software/System restart","Uptime":"0T02:00:02","Hostname":"linky_pm-7262","IPAddress":"192.168.1.54","RSSI":"100","Signal (dBm)":"-28","WiFi LinkCount":1,"WiFi Downtime":"0T00:00:03","MqttCount":1,"LoadAvg":19} 10:24:55 MQT: linky_pm/tele/STATE = {"Time":"2020-08-21T10:24:55","Uptime":"0T02:00:09","UptimeSec":7209,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"mochel","BSSId":"34:49:5B:B9:5B:C0","Channel":11,"RSSI":100,"Signal":-32,"LinkCount":1,"Downtime":"0T00:00:03"}} 10:24:55 MQT: linky_pm/tele/SENSOR = {"Time":"2020-08-21T10:24:55","ENERGY":{"TotalStartTime":"2019-11-29T19:05:42","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":490,"Current":2.000,"Load":6 "ADCO":"061964653612","OPTARIF":"BASE","ISOUSC":30,"BASE":1121313,"PTEC":"TH..","IINST":2,"IMAX":90,"PAPP":490,"HHPHC":"A","MOTDETAT":0}} 10:29:48 MQT: linky_pm/tele/HASS_STATE = {"Version":"8.4.0.2(tasmota)","BuildDateTime":"2020-08-19T13:03:24","Module or Template":"WifInfo","RestartReason":"Software/System restart","Uptime":"0T02:05:02","Hostname":"linky_pm-7262","IPAddress":"192.168.1.54","RSSI":"100","Signal (dBm)":"-31","WiFi LinkCount":1,"WiFi Downtime":"0T00:00:03","MqttCount":1,"LoadAvg":19} 10:29:55 MQT: linky_pm/tele/STATE = {"Time":"2020-08-21T10:29:55","Uptime":"0T02:05:09","UptimeSec":7509,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"mochel","BSSId":"34:49:5B:B9:5B:C0","Channel":11,"RSSI":100,"Signal":-30,"LinkCount":1,"Downtime":"0T00:00:03"}} 10:29:55 MQT: linky_pm/tele/SENSOR = {"Time":"2020-08-21T10:29:55","ENERGY":{"TotalStartTime":"2019-11-29T19:05:42","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":400,"Current":2.000,"Load":6 "ADCO":"061964653612","OPTARIF":"BASE","ISOUSC":30,"BASE":1121348,"PTEC":"TH..","IINST":2,"IMAX":90,"PAPP":400,"HHPHC":"A","MOTDETAT":0}} 10:34:48 MQT: linky_pm/tele/HASS_STATE = {"Version":"8.4.0.2(tasmota)","BuildDateTime":"2020-08-19T13:03:24","Module or Template":"WifInfo","RestartReason":"Software/System restart","Uptime":"0T02:10:02","Hostname":"linky_pm-7262","IPAddress":"192.168.1.54","RSSI":"100","Signal (dBm)":"-30","WiFi LinkCount":1,"WiFi Downtime":"0T00:00:03","MqttCount":1,"LoadAvg":19} 10:34:55 MQT: linky_pm/tele/STATE = {"Time":"2020-08-21T10:34:55","Uptime":"0T02:10:09","UptimeSec":7809,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"mochel","BSSId":"34:49:5B:B9:5B:C0","Channel":11,"RSSI":100,"Signal":-28,"LinkCount":1,"Downtime":"0T00:00:03"}} 10:34:55 MQT: linky_pm/tele/SENSOR = {"Time":"2020-08-21T10:34:55","ENERGY":{"TotalStartTime":"2019-11-29T19:05:42","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":400,"Current":2.000,"Load":6 "ADCO":"061964653612","OPTARIF":"BASE","ISOUSC":30,"BASE":1121378,"PTEC":"TH..","IINST":2,"IMAX":90,"PAPP":400,"HHPHC":"A","MOTDETAT":0}} 10:39:48 MQT: linky_pm/tele/HASS_STATE = {"Version":"8.4.0.2(tasmota)","BuildDateTime":"2020-08-19T13:03:24","Module or Template":"WifInfo","RestartReason":"Software/System restart","Uptime":"0T02:15:02","Hostname":"linky_pm-7262","IPAddress":"192.168.1.54","RSSI":"100","Signal (dBm)":"-31","WiFi LinkCount":1,"WiFi Downtime":"0T00:00:03","MqttCount":1,"LoadAvg":19} 10:39:55 MQT: linky_pm/tele/STATE = {"Time":"2020-08-21T10:39:55","Uptime":"0T02:15:09","UptimeSec":8109,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"mochel","BSSId":"34:49:5B:B9:5B:C0","Channel":11,"RSSI":100,"Signal":-27,"LinkCount":1,"Downtime":"0T00:00:03"}} 10:39:55 MQT: linky_pm/tele/SENSOR = {"Time":"2020-08-21T10:39:55","ENERGY":{"TotalStartTime":"2019-11-29T19:05:42","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":400,"Current":2.000,"Load":6 "ADCO":"061964653612","OPTARIF":"BASE","ISOUSC":30,"BASE":1121407,"PTEC":"TH..","IINST":2,"IMAX":90,"PAPP":400,"HHPHC":"A","MOTDETAT":0}} 10:44:48 MQT: linky_pm/tele/HASS_STATE = {"Version":"8.4.0.2(tasmota)","BuildDateTime":"2020-08-19T13:03:24","Module or Template":"WifInfo","RestartReason":"Software/System restart","Uptime":"0T02:20:02","Hostname":"linky_pm-7262","IPAddress":"192.168.1.54","RSSI":"100","Signal (dBm)":"-28","WiFi LinkCount":1,"WiFi Downtime":"0T00:00:03","MqttCount":1,"LoadAvg":19} 10:44:55 MQT: linky_pm/tele/STATE = {"Time":"2020-08-21T10:44:55","Uptime":"0T02:20:09","UptimeSec":8409,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"mochel","BSSId":"34:49:5B:B9:5B:C0","Channel":11,"RSSI":100,"Signal":-31,"LinkCount":1,"Downtime":"0T00:00:03"}} 10:44:55 MQT: linky_pm/tele/SENSOR = {"Time":"2020-08-21T10:44:55","ENERGY":{"TotalStartTime":"2019-11-29T19:05:42","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":400,"Current":2.000,"Load":6 "ADCO":"061964653612","OPTARIF":"BASE","ISOUSC":30,"BASE":1121437,"PTEC":"TH..","IINST":2,"IMAX":90,"PAPP":400,"HHPHC":"A","MOTDETAT":0}} 10:49:48 MQT: linky_pm/tele/HASS_STATE = {"Version":"8.4.0.2(tasmota)","BuildDateTime":"2020-08-19T13:03:24","Module or Template":"WifInfo","RestartReason":"Software/System restart","Uptime":"0T02:25:02","Hostname":"linky_pm-7262","IPAddress":"192.168.1.54","RSSI":"100","Signal (dBm)":"-26","WiFi LinkCount":1,"WiFi Downtime":"0T00:00:03","MqttCount":1,"LoadAvg":19} 10:49:55 MQT: linky_pm/tele/STATE = {"Time":"2020-08-21T10:49:55","Uptime":"0T02:25:09","UptimeSec":8709,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"mochel","BSSId":"34:49:5B:B9:5B:C0","Channel":11,"RSSI":100,"Signal":-31,"LinkCount":1,"Downtime":"0T00:00:03"}} 10:49:55 MQT: linky_pm/tele/SENSOR = {"Time":"2020-08-21T10:49:55","ENERGY":{"TotalStartTime":"2019-11-29T19:05:42","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":400,"Current":2.000,"Load":6 "ADCO":"061964653612","OPTARIF":"BASE","ISOUSC":30,"BASE":1121468,"PTEC":"TH..","IINST":2,"IMAX":90,"PAPP":400,"HHPHC":"A","MOTDETAT":0}}
-
@Charles said in Ré-écriture de Wifinfo pour traiter le mode standard du Linky:
setOption108 1
Après setOption 108 1
-
Essaie ce PR, normalement ça va corriger ton index BASE
https://github.com/arendst/Tasmota/pull/9138
Seul le fichier
xnrg_15_teleinfo.ino
a changé. -
@Charles said in Ré-écriture de Wifinfo pour traiter le mode standard du Linky:
Attention le device reboot juste après
Et c'est résistant au reset, donc à faire qu'une seule fois.
Merci à tous.super ca marche
merci
maintenant je vais tester la remonté d'info en mqtt sur home assistant
-
@pascal-Mochel Top, d'ailleurs la modif est maintenant active dans la main branche Theo l'a mergé.
-
remonté via MQTT d'informations
fonctionnesuper 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":2
et 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 lesetOption108 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/9147Merci 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
-
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 ?
-
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 ??
-
@Nicolas-Deraedt
Hello Des nouvelles ? Ça serait top ! -
@Patrice Hello, tu as pu avancer dans ta recherche ?
-
Bonjour, j'ai acheté un module PiTinfo pour interfacer mon compteur linky avec Domoticz. J'ai déjà essayé avec espeasy mais j'avais trop d'erreurs de communication. Je viens de découvrir ce billet intéressant car tasmota peut envoyer des données domoticz via mqtt.
Pour le moment j'ai flashé mon esp avec tasmota sensor compilé pour activer teleinfo (wifinfo).
J'ai bien les données du compteur qui s'affichent sur la page web de mon esp. Je ne sais pas comment finaliser le paramétrage pour renvoyer les données à domoticz via MQTT. Mes capteurs virtuels n'attendent plus que vos conseils pour être fonctionnels... Merci