Aohzan/ecodevices

teleinfo total renvoi une valeur trop élevé

Closed this issue · 19 comments

Hello!
Je constat que régulièrement, le "teleinfo total" renvoi une valeur fausse (et énorme), je peux la corriger manuellement par le module "developer-tools/statistics" puis "ajuster la somme".

Mais comment faire pour remédier à cette erreur sans action manuelle?

2024-07-15_17h32_12
2024-07-15_17h42_01

Thx !!

Hello, tu peux m'afficher l'historique du sensor stp

Est-ce valeur que tu voulais ?

2024-07-16_09h58_58
2024-07-16_09h59_58

oui,
le soucis vient des chutes de la valeur en bas, il y a déjà une protection pour éviter les retour à 0, mais chez toi ça n'a pas l'air de revenir à 0, peux-tu faire un zoom sur 2-3 chute de valeur pour voir à combien ça descend

du coup comme ça redescend pas à 0 je sais pas trop quoi faire
tu pourrais ouvrir un ticket à GCE pour voir avec eux pourquoi ça arrive ?

ok, je leur transmet ce ticket.

"GCE: Je ne comprends pas bien le problème, HA recupère parfois des valeurs trop faibles donc cela donne une consommation très grande !? "

Plus, coté GCE, il ne semble pas avoir d'anomalie:

2024-07-16_12h15_00
2024-07-16_12h15_21

on lit la valeur renvoyée par l'API de l'EcoDevices donc je sais pas trop ce qu'on peut faire 😞

Ne pas enregistrer le résultat s'il semble anormal par rapport au control précédent?
faire un retry, garder la valeur précédente ou remonter une anomalie ?

oui mais c'est plus simple à dire qu'à faire, tu n'as pas accès à l'historique des données comme ça

Hello :)
L'EcoDevice transmet les valeurs qu'elle reçoit, il n'y a pas de raison qu'elle soient fausses, à moins que ce soit les valeurs que lui envoie le compteur, dans ce cas, je ne vois pas ce qu'il serait possible de faire...
Il y a peut être une sécurité sur l'EcoDevice pour ne pas prendre en compte une valeur abhérente si elle est isolée mais ca, c'est fait dans le traitement des l'information, après qu'elle soit récupérée et la valeur transmise via l'API est la valeur brute...

Est-ce qu'il serait possible de récupérer la trame TIC qui pose problème ?

@KevinGCE tu pourrais me dire quelles vérifications sont mises en place après la récupération de la valeur ? Voir si je peux l'implémenter aussi

Pour la trame, il faudrait que @byboleymar ailleur requêter l'API au moment où il y un soucis mais ça ne va pas être évident.
Côté code je reprends juste la valeur renvoyées par T1_BASE, T1_BBRHCJB etc selon l'option choisie

Je vais regarder si je trouve l'analyse qui est faite mais je ne promet rien..

Je n'ai rien trouvé dans le code qui s'apparente à un test avant utilisation des valeurs...

Ah si !
Y'a un simple test
if (value < LastIndex) return 0;

merci, je vais regarder pour faire la même chose, mais la dernière valeur n'est pas disponible au démarrage de HA par exemple donc ça sera pas parfait

Oui mais je pense que ça doit arriver une fois sur 1000 et étant donné qu'il y a une révolution toutes les 1.9s environ, ça fait une erreur potentielle toutes les 2000s, soit environ toutes les 30 minutes... Pour qu'on tombe dessus pile poil au démarrage de HA, faudrait pas avoir de bol mais c'est potentiellement possible...

j'ai trouvé un moyen de récupérer la dernière valeur, j'ai sorti une version 5.2.0 https://github.com/Aohzan/ecodevices/releases/tag/5.2.0
@byboleymar je ferme cette issue, si jamais HA reçoit une valeur jugée incohérente, il y aura un Warning dans les logs, peux tu me redire si tu en vois prochainement ? Et si jamais le soucis se reproduit, réouvre l'issue

Merci à vous 2 !!!
le bug n'étant pas régulier, je reviendrai dans une semaine.