j’ai régulièrement des valeurs incorrects dans l’Energy Dashboard. Ces valeurs incorrects concernent généralement la production solaire et parfois la consommation globale du foyer. Cela se traduit par des valeurs très grandes sans rapport avec la réalité.
J’ai lu plusieurs sujets en anglais parlant de ce problème et évoquant le fait de pouvoir corriger ces valeurs via Outils de développement → Statistiques.
Mais je ne retrouve pas ces valeurs incorrectes pour les sensors concernés aux jours et heures où le problème se pose.
Bonjour,
Tu dois avoir plusieurs mesures entre 7:00 et 8:00. Sur ta deuxième image, tu ne montres que le point de 7:00 exactement. As-tu regardé toutes les mesures entre 7:00 et 8:00?
select id, created, start, mean, min, max, last_reset, state, sum, metadata_id, datetime(created_ts, 'unixepoch') AS created_ts, datetime(start_ts, 'unixepoch') AS start_ts, datetime(last_reset_ts, 'unixepoch') AS last_reset_ts from statistics where created_ts >= unixepoch('2024-01-27 06:00:00') AND created_ts <= unixepoch('2024-01-27 20:00:00') AND metadata_id = (select id from statistics_meta where statistic_id = 'sensor.solax_energy_total') order by created_ts;
Bonjour,
Peux-tu expliquer plus les différents sensors que tui regardes ou affiche dans chaque cas?
Dans to arequête SQLite, sur la première ligne, tu as la valeur 4024.4, qui correspond à ce que tu as sur ton graphique de ton premier message.
Ceci dit, cette valeur semble avoir avoir un « start_ts » à 6:00. Il semble aussi ne pas y avoir de donnée dans le résultat de la requête entre 7:00 et 8:00.
j’ai configuré les sensors suivants dans le dashboard Energy :
sensor.general_energy (correspondant à une des pinces ampèremétriques d’un Shelly 3EM) : conso globale de ma maison
sensor.solax_energy_total : données récupérées à partir des API locales de mon onduleur SOLAX X1 pour la production de mes panneaux photovoltaïques
et défini comme suit :
dans sensor.yaml :
- platform: rest
authentication: digest
scan_interval: 10
resource: http://192.168.1.152/
payload: "optType=ReadRealTimeData&pwd=**********"
method: POST
#headers:
# X-Forwarded-For: 5.8.8.8
name: "solax_rest_local"
json_attributes:
- type
- sn
- ver
- Data
- Information
value_template: 'OK' # dummy value, not used; avoids the "State max length is 255 characters" error
j’ai ça de manière très très rare et ça vient de ma passerelle enphase qui quand elle est éteinte et rallumée envoie comme première la production historique totale dans l’entité de conso journalière!
Et ça donne ce résultat.
La correction est possible assez facilement.
Outils de dev > Statistiques.
Là tu recherches le sensor en question « sensor.solax_energy_total » a priori.
Et sur la ligne tu devrais avoir un icone « Ajuster la somme »
En cliquant dessus il faut aller à la date et heure où tu as cette mauvaise valeur et tu corrige…
Pour la trouver il faut peut-être « jouer » avec les minutes car il n’affiche que quelques valeurs à la fois
Salut,
j’avais déjà essayé de retrouver les valeurs incorrectes via cet outil mais sans succès. Et là bizarrement j’ai retrouvé toutes les valeurs incorrectes et j’ai pu les corriger. Merci.
en ce moment ce phénomène se produit tous les jours.
Plutôt que d’avoir à corriger ces valeurs incorrectes n’existe-t-il pas un moyen d’éviter que cela se produise ?
Les utiity meters sont en total increasing, et les graphs energy font la différence entre 2 valeurs. Si ton compteur passe à 0 à un moment donné, il trouve tout d’un coup une consommation importante entre 2 entrées.
Si je comprends bien, la solution est donc de trouver la raison pour laquelle ton compteur passe à 0 tous les jours à la même heure.
Y-a-t’il un redémarrage, une automation, ou un autre évènement?
j’ai vu que tu avais fait un requête SQL sur les tables statistiques… mais je ne pense pas que ce soit là qu’il faut chercher. La valeur dans le dashboars et dans les statistiques ce ne sont que des conséquences. La source est du côté de l’entité qui fournit les valeurs.
Il faut comprendre ce qu’il se passe dans celle-ci. Comme l’explique @Gilles2 le dashboard suit l’évolution des entités par tranches de temps c’est tout…
C’est celui-ci? sensor.solax_energy_total
Si c’est le cas tu le dis toit même que c’est récupéré par une API?
Donc tu devrais pouvoir contrôler ou filtrer la valeur pour éviter d’enregistrer des 0.
Ca ressemble à quoi la récupération de cette valeur ?
Ce sensor est alimenté par une requête vers l’API rest de mon onduleur (voir définition dans mon post plus haut) toutes les 10 secondes.
L’onduleur s’arrête toutes les nuits lorsqu’il n’y a plus de production solaire et redémarre le matin lorsque la production débute.
En temps normal, la valeur de ce sensor est à 0 le matin au démarrage. Mais je ne sais pas pourquoi parfois home assistant récupère la dernière valeur de la veille au soir avant l’arrêt de l’onduleur.
Je l’ai dit avant, regarder les statistiques et le dashboard n’est pas ce qu’il faut que tu fasse! Ce n’est pas un bug là… ça marche comme prévu!!. Mais c’est ton sensor qui est mal alimenté c’est ça qu’il faut que tu règles!
C’est justement le fait que l’onduleur s’éteint la nuit qui doit poser le souci, il est possible qu’au redémarrage l’API réponds alors qu’il n’est pas complètement en fonction.
La vrai valeur est que tu veux est dans les 4000 et n’arrête pas d’augmenter. C’est bien ça?
Donc dans cette config, il faut ajouter de la logique dans le « state » pour ne pas récupérer les mauvaises valeurs.
Il faut déjà voir si c’est le même souci avec la même installation.
Et le yaml que j’ai partagé se met dans la config du sensor qui récupère l’énergie totale produite.