Falsche Werte im Energie-Dashboard mittels Statistikdaten via SQLite-DB anpassen

Hallo zusammen,
wie schon öfter beschrieben, werden im Energie-Dashboard oft falsche Werte angezeigt. Warum das so ist, konnte ich noch nicht in Erfahrung bringen. Es wurde auch schon beschrieben, wie man diese Statistikwerte über die Entwicklerwerkzeuge manuell anpassen kann. Diese falschen Werte treten bei mir jedoch ziemlich häufig auf - fast täglich. Über die Zeit nervt diese manuelle Anpassung schon sehr. Daher überlege ich: vielleicht ist es eine Option via SQL die Daten mittels Automation anpassen zu lassen.

Man sieht 3 Ausreißer, einen in der Zeit zwischen 23 - 00 Uhr (23:45 Uhr s. Abb. darunter).

Hier mal ein Screenshot mit der Maske zur manuellen Anpassung der Statistikwerte (Statistik: sensor.stromverbrauch_wp)

Weiß jemand, in welcher Tabelle der SQLite-DB sich diese Werte befinden?
In der States oder in einer der statistics-Tabellen?

Gem. des Screenshots handelt es sich um einen Statistiksensor (sensor.stromverbrauch_wp). Meine Vermutung wäre also in einer der Statistiktabellen.

Wenn ich jetzt in der Tabelle “statistics_meta” suche:
(SELECT * FROM “statistics_meta” where statistic_id like"%wp%")
Bekomme ich folgendes Ergebnis:

Für die “states_meta”:
(SELECT * FROM “states_meta” where “entity_id” like "%wp%)
folgendes Ergebnis:

Wie geht’s jetzt weiter?
Ich habe zwei Sensoren mit dem Namen (sensor.stromverbrauch_wp) in den Tabellen.
States oder Statistic?

Die “id” 72 (statistic_id: sensor.stromverbrauch_wp) könnte passen oder aber die “metadata_id” 303 (entity_id: stromverbrauch_wp)

Als nächsten Schritt müsste ich die kaputten Werte finden, die ich dann mittels SQL “Update” korrigieren könnte.
Die Idee wäre im Anschluß mittels eines SQL-Sensors (?) eine Automation zur automatisierten Bereinigung zu erstellen.

Einfacher wäre es natürlich, wenn ich wüsste, warum so oft falsche Daten erfasst werden. Das ist aber ein anderes Thema.

Moin,

Ich habe keine Lösung, aber wenn das bei Dir täglich der Fall ist, dann würde ich nicht die Symptome behandeln, sondern schauen, wo die Ursache liegt.

Wie werden denn die Daten erfasst und wie verarbeitest Du die Daten weiter, um sie dann im Energiedashboard zu nutzen?

Ich habe solche Ausreißer noch nie gehabt!

VG
Bernd

1 „Gefällt mir“

Ich verwende einen Hichi IR Lesekopf. Genauer gesagt zwei Leseköpfe. Einen für Hausstrom und einen für die Wärmepumpe. Ich habe auch schon unterschiedliche Stellungen der IR-Leseköpfe probiert und so, wie sie jetzt platziert sind werden ja auch regelmäßig Werte eingelesen.
Via Tasmota und MQTT werden die Daten nach HA und dem Energie-Dashboard übergeben.

Um die Werte dann im Energiedashboard angezeigt zu bekommen, habe ich mir einen Sensor nach @simon42 's (Thx) Anleitung angelegt.

- sensor:
     - name: "stromverbrauch_WP"
       unique_id: "stromZ2VerbrauchWP"
       unit_of_measurement: kWh
       state_class: total_increasing
       device_class: energy
       state: >
        {% if states('sensor.stromzaehler_hs_wpmt681_total_in') == 'unavailable' or states('sensor.stromzaehler_hs_wpmt681_total_in') < '0.01' %}
        {{ states('sensor.stromverbrauch') }}
        {% else %}
        {{ states('sensor.stromzaehler_hs_wpmt681_total_in') }}
        {% endif %}

Ich bin jetzt aber doch noch einmal die Datenerfassung und -verarbeitung durchgegangen und meine den Fehler gefunden zu haben. Mal sehen, was die nächsten Tage bringen.

Es scheint ein Fehler im Template-Sensor gewesen zu sein.
Wie ich oben schon schrieb, habe ich zwei Sensoren (HS: Hausstrom und WP: Wärmepumpe)
In dem Template-Sensor s.o. wird im if-Statement auf “sensor.stromverbrauch” referenziert, falls der Status unavailable etc. wird.
In dem Fall zieht sich der Sensor “sensor.stromverbrauch_wp” den falschen Wert (den vom HS) und durch state_class: “total_increasing” werden falsche Werte berechnet.

Bis jetzt wurden keine weiteren Ausreißer mehr angezeigt. Das Tasmota-Device geht zwar immer wieder mal in den Status “unavailable” aber auf die Berechnung und Anzeige im Energie-Dashboard hat das keine Auswirkung mehr.

Moin,

dann würde ich dir diese Video mal empfehlen und die Kommentare :wink:

Prüfe mal ob die Daten vom Lesekopf immer richtig gesendet werden, für mich sieht es so aus als, verliert der Lesekopf die Information, wo er stehen geblieben ist. Somit springt es immer wieder nach oben.

Automation für einen Fehler zubauen, ui das wird sportlich und unübersichtlich.

Hi, vielen Dank für den Link zum Video. In der Tat kenne ich es vom Titel, habe es mir aber bisher nicht angesehen, da ich keine Statistiken übertragen wollte. Es behinhaltet aber die Infos, die ich gesucht habe.

Bei mir funktioniert seit ein paar Tagen alles so, wie es soll.
Bis auf die Tatsache, dass der Lesekopf alle paar Stunden (immer mit leichten Abweichungen gg. 5:06, 11:07, 17:00, und 23:15 Uhr) die Verbindung verliert. Dadurch hat er sich überhaupt erst falsche Werte gezogen, da falsch im Template hinterlegt. Das führt mich zu einer neuen Root-Cause-Analyse.

vielen Dank euch!

Moin,

das doch mal was, ist der Lesekopf an einer Steckdose dran die man schalten kann?

Darf man fragen wie du deine Daten ausließt ggf. kann dir jemand dazu Hilfestellung geben.

Hi,
der Lesekopf ist mit einem USB Ladegerät angeschlossen und nicht schaltbar. Die Daten werden mittels MQTT an HA übertragen.

Update: Bisher funktioniert weiterhin alles gut. :slight_smile: