Ich habe einen neuen Stromzähler erhalten den alten und auch neuen überwache ich mit einem tasmota Lesekopf. Beim Abnehmen, oder aufsetzen ist auf jedenfall irgendwie ein Wert von 10mwh erkannt worden, der mir jetzt meine Statistik versaut. Der Sensor ist als state_class: measurement konfiguriert und damit kann ich in den Entwicklertools unter Statistik den Wert nicht korrigieren. Welchen Alternativen Weg gibt es damit ich die Fehkerkennung bereinige?
Alternativ lade die Datei herunter und sichere sie lokal.
Es empfiehlt sich, Home Assistant vorher zu stoppen, damit die Datei nicht während des Kopierens verändert wird.
1. Sensor-ID (metadata_id) in der Datenbank ermitteln
Die Sensor-Daten sind in den Tabellen statistics_meta (Metadaten, IDs) und statistics (Datenpunkte) gespeichert.
1.1 Verbindung zur Datenbank herstellen
Öffne die Datenbank mit einem SQLite-Tool oder dem Add-on SQLite Web (Weboberfläche).
Verbinde dich mit der Datenbankdatei home-assistant_v2.db.
1.2 Sensor-ID abfragen
Führe folgenden SQL-Befehl aus, um die id (metadata_id) des gewünschten Sensors zu finden. Ersetze dabei sensor.DEIN_SENSOR durch den genauen Entitätsnamen deines Sensors (z.B. sensor.temperatur_wohnzimmer):
SELECT id, statistic_id FROM statistics_meta
WHERE statistic_id = 'sensor.DEIN_SENSOR';
Ergebnis: Die Spalte id ist die interne ID, die später benötigt wird.
2. Inhalte (Datenpunkte) des Sensors anzeigen
Jetzt listest du alle Datenzeilen auf, die zu diesem Sensor gehören.
2.1 Datenpunkte abrufen
Benutze die soeben ermittelte id (im Beispiel als 123 angenommen):
SELECT * FROM statistics
WHERE metadata_id = 123
ORDER BY start_ts DESC
LIMIT 100;
start_ts ist ein Unix-Zeitstempel der Datenpunkte.
Mit LIMIT 100 werden die letzten 100 Einträge angezeigt.
Das zeigt, welche Daten bisher für den Sensor in der Statistik gespeichert sind.
3. Sensor-Daten ab gestern löschen
Um alle Daten für den Sensor zu löschen, die älter als heute sind (also ab gestern und früher), führt man folgenden Befehl aus.
3.1 Daten ab gestern löschen
Ersetze 123 wieder durch die tatsächliche metadata_id deines Sensors:
DELETE FROM statistics
WHERE metadata_id = 123
AND start_ts < strftime('%s', 'now', 'start of day');
strftime('%s', 'now', 'start of day') gibt den Unix-Zeitstempel von heute 00:00 Uhr lokal zurück.
Erweitert man den String “strftime(‘%s’, ‘now’, ‘-7 days’, ‘start of day’);” dann werden alle Daten ab letzter Woche rückwärts gelöscht
Dadurch werden alle Statistikdaten gelöscht, die vor heute liegen.
vielen Dank. Das habe ich durchgeführt. Danach waren im Verlauf vom Sensor immer noch die falschen Werte. Diese habe ich dann in der states Tabelle korrigiert. Jetzt sind die Werte im Verlauf richtig.
Allerdings im Energiedashboard immer noch nicht
Noch jemand eine Idee?
Nachtrag:
@Karlchen In welchem Tool dokumentierst du bei dir?
mist - ich Dummbatz. Ich habe für den measurement Sensor einen Template Sensor gebaut vom Typ total_increasing, diesen Verwende ich im Dashboard. Da konnte ich jetzt mit Boardmitteln auch den Wert korrigieren.
Funktioniert nun. Besten Dank.
@Karlchen die Frage der Doku würd mich trotzdem interessieren. Danke
by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)