Erreur checksum 0x00 != 0×53 depuis passage offre tempo
-
Bonjour,
J'ai un module t'infoDin avec un ESP32 S2 sous tasmota 12.5.0.4. J'étais en tarification HP/HC et tout fonctionnait bien. J'ai souscrit à l'offre tempo, et depuis son activation, les compteurs d'énergie ne fonctionnent plus :
J'ai remarqué une erreur de checksum dans la console (0x00 != 0x53) :
Quelqu'un a-t-il déjà eu ce problème ou sait-il le résoudre ?
-
Bonjour @magicpulse,
C'est tout simplement que le contrat TEMPO n'est pas géré dans tasmota (pour le moment)
-
@Charles merci pour l'information !
-
Bonjour,
j'ai rencontré exactement le même souci sur mon installation suite au passage à l'offre Tempo.
En procédant au débugage du code, j'ai trouvé le coupable dans mon cas : le champ "OPTARIF" a pour valeur "BBR("
Or le caractère "(" n'est pas accepté par la bibliothèque Teleinfo, qui limite trop la liste des caractères possibles par rapport à la documentation Enedis.
Le contrôle du checksum des message est correct dès lors que la liste des caractères est modifiéeJ'ai du coup modifié le bout de code et l'erreur a bien disparu
@Charles : je vais essayer de faire une PR sur le repository git, je ne suis pas un expert donc c'est pas garanti.
-
@theGressier alors ça c'est intéressant.
Parfois le mieux est l'ennemi du bien, j'avais voulu faire un truc super propre en ne vérifiant que les caractères connus pour être plus fiable résultat certains passent à travers.
Je vais revenir aux fondamentaux et supprimer cette partie
Merci pour le debug.
while(*valeur) { c = *valeur++ ; // Add another validity check since checksum may not be sufficient (space authorized in Standard mode) if ( (c>='A' && c<='Z') || (c>='0' && c<='9') || c==' ' || c=='.' || c=='-' || c=='+' || c=='/') { sum += c ; } else { return 0; } }
-
Merci pour ton retour, de mon coté j'avais laissé la vérification mais qu'elle soit moins spécifique :
if (c>=0x20 && c<=0X7E) {
Je te remercie en tout cas pour l'ensemble du travail que tu as fourni pour cette lib que j'utilise depuis pas mal de temps déjà.
-
@theGressier pour info nouvelle release v1.1.7 avec le fix
en fait c'était même pas moi, ça a été introduit dans ce PR j'ai mergé trop vite
-
Merci, il n'y a plus qu'à attendre le build coté tasmota.
-
@theGressier c’est déjà dispo dans les unofficial ça build en auto à chaque PR mergée
-
@ch_2i Merci, je pensais que c'était manuel!