Falsche Daten in der InfluxDB korrigieren? (Huawei SUN2000-17KTL-M2)

Allgemeine Informationen zum Nachbau und zum Forum.
PV-Monitorung / PV Überwachung

Moderator: Ulrich

Antworten
earlybite
Beiträge: 21
Registriert: Fr 29. Jul 2022, 00:07
Hat sich bedankt: 10 Mal
Danksagung erhalten: 1 Mal

Falsche Daten in der InfluxDB korrigieren? (Huawei SUN2000-17KTL-M2)

Beitrag von earlybite »

Hallo zusammen,

in meine InfluxDB hat sich offenbar ein falscher Wert eingeschlichen... Im folgenden Panel tracke ich die geernteten Kilowattstunden der letzten Tage:
2.png
Der Wert für den 20.9. ist offensichtlich falsch, 969 kWh sind definitiv zu viel. Auch am 3.9. ist so etwas schon mal passiert.
Es handelt sich hierbei um einen Wert der Tabelle "SUMMEN". Der Code lautet

Code: Alles auswählen

SELECT max("Wh_GesamtHeute") FROM "Summen" WHERE $timeFilter GROUP BY time(1d) fill(null)
Wenn ich statt der Daten der Tabelle "Summen" einfach über die Leistung integriere, bekomme ich für den 20.9. den realistischeren Wert 56,51 kWh heraus:

Code: Alles auswählen

SELECT integral("Leistung",1h) FROM "AC" WHERE $timeFilter GROUP BY time(1d) fill(null)
Meine Fragen hierzu:
1) Woran kann es liegen, dass für manche Tage (bei mir bisher zwei) die Werte in "Summen" falsch erfasst werden? Sonst stimmen sie immer recht gut mit den integrierten Leistungsdaten überein.
2) Wie kann ich die fehlerhaften Daten innerhalb der InfluxDB korrigieren? Gibt es eine Möglichkeit, das über eine GUI in der Solaranzeige zu machen, oder muss ich das mit für mich nicht ganz leicht nachvollziehbaren MySQL Befehlen irgendwie bewerkstelligen?

Vielen Dank für eure Tipps!

Benutzeravatar
Ulrich
Administrator
Beiträge: 5749
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 150 Mal
Danksagung erhalten: 820 Mal
Kontaktdaten:

Re: Falsche Daten in der InfluxDB korrigieren? (Huawei SUN2000-17KTL-M2)

Beitrag von Ulrich »

Den Wert der Tagesproduktion gibt das Gerät so aus. Entweder liegt es an dem Gerät üder beim Auslesen ist ein Fehler aufgetreten, Dass müsste man dann aber in der Datenbank sehen können. Der Tagesertrag wird ja minütlich abgespeichert. Wenn in der Datenbank nur einmal der Wert so hoch war, dann könnte man die genaue Uhrzeit heraus bekommen und zu dieser Minute in die LOG Datei schauen, ob es dort beim Auslesen einen Fehler gab.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]

MikeG
Beiträge: 23
Registriert: Do 14. Apr 2022, 20:02
Hat sich bedankt: 18 Mal
Danksagung erhalten: 4 Mal

Re: Falsche Daten in der InfluxDB korrigieren? (Huawei SUN2000-17KTL-M2)

Beitrag von MikeG »

Mahlzeit!

Hab ein ähnliches Problem wie der Threadersteller.

An einem einzigen Tag (10.10.2022) hat offenbar mein WR (HUAWEI SUN 2000 10 KTL M1) nicht plausible Werte für die Einspeisung ausgegeben.

SELECT integral("Einspeisung",1h) FROM "AC" WHERE time >='2022-10-10' and time < '2022-10-11' liefert dabei einen Wert von mehr als 850 MWh.

Alle anderen Tage vorher und bisher auch danach liefern die richtigen Werte.

Nun führt natürlich dieser eine falsche Wert dazu, dass einige "Berechnungen" auf meinem Dashboard völlig falsch sind.

Gibt es für mich als DAU eine Möglichkeit, diesen einen Wert in der Datenbank zu korrigieren?

Bin für jede Hilfe dankbar.

BG
Michael

Bogeyof
Beiträge: 1139
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 24 Mal
Danksagung erhalten: 144 Mal

Re: Falsche Daten in der InfluxDB korrigieren? (Huawei SUN2000-17KTL-M2)

Beitrag von Bogeyof »

Wenn es wirklich 1 Wert ist, dann ja, relativ problemlos (aber etwas aufwändig):

Vorher den gewünschten Zeitraum ermitteln und die Zeit minus 5 Minuten auf der Webseite unixtime.de in einen Unixzeitstempel umwandeln lassen (oben Datum und Uhrzeit einstellen und dann Realzeit nach Unixzeit). Nennen wir den Wert Unixtime1. Wert merken und für +10 Minuten dann 600 addieren. Nennen wir Unixtime2. An beide Zahlen jeweils 9 Nullen anhängen (wichtig).

Zuerst Aufruf "influx" (ohne precision rfc3339, da beim späteren insert das aufbereitete Datum nicht angenommen wird):
Dann "use solaranzeige" (oder wie auch immer der Name der Datenbank ist)
Jetzt "select Wunschfeld from Measurement where time > Unixtime1 and time < Unixtime2
Jetzt beim gewünschten Wert (der geändert werden soll) vorne die Zeit (Unixtime Format, 19 stellig) z.B. mit der Maus markieren (nichts weiter nötig, der markierte Bereich befindet sich jetzt automatisch in der Zwischenablage).
Der Befehl zum Ändern lautet nun: "insert Measurement Wunschfeld=Wert Kopierter_Zeitstempel" (Einfügen durch Klick auf rechte Maustaste). Zur Kontrolle gerne noch einmal den vorherigen Select aufrufen, ob der Wert geändert wurde (Pfeil nach oben bringt die letzten Befehle wieder, dann muss man es nicht erneut eingeben...

Das Ganze schaut dann in etwa so aus (hier wird der 4. letzte Wert von 665 auf 666 geändert)

Code: Alles auswählen

root@solaranzeige:~# influx
Connected to http://localhost:8086 version 1.8.10
InfluxDB shell version: 1.8.10
> use solaranzeige
Using database solaranzeige
> select KSEM_Wirkleistung from AC where time > 1665587429000000000 and time < 1665588029000000000
name: AC
time                KSEM_Wirkleistung
----                -----------------
1665587471000000000 -640.8
1665587531000000000 -661.1
1665587591000000000 -658.8
1665587651000000000 -653.5
1665587711000000000 -666.8
1665587771000000000 -649.2
1665587831000000000 -665
1665587891000000000 -639.6
1665587951000000000 -670.8
1665588011000000000 -647.4
> insert AC KSEM_Wirkleistung=666 1665587831000000000
> select KSEM_Wirkleistung from AC where time > 1665587429000000000 and time < 1665588029000000000
name: AC
time                KSEM_Wirkleistung
----                -----------------
1665587471000000000 -640.8
1665587531000000000 -661.1
1665587591000000000 -658.8
1665587651000000000 -653.5
1665587711000000000 -666.8
1665587771000000000 -649.2
1665587831000000000 666
1665587891000000000 -639.6
1665587951000000000 -670.8
1665588011000000000 -647.4
> exit
root@solaranzeige:~#

MikeG
Beiträge: 23
Registriert: Do 14. Apr 2022, 20:02
Hat sich bedankt: 18 Mal
Danksagung erhalten: 4 Mal

Re: Falsche Daten in der InfluxDB korrigieren? (Huawei SUN2000-17KTL-M2)

Beitrag von MikeG »

Servus Bogeyof!

Vielen herzlichen Dank für deine Hilfe.
Ich versuche jetzt schon knapp 2 Stunden, deine Tipps umzusetzen.

Beim Aufruf der zu korrigierenden Werte hab ich aber so meine Schwierigkeiten.
Wahrscheinlich liegt es an der fehlerhaften Umwandlung des gewünschten Zeitraumes in einen Unixzeitstempel.
In meinem Fall muss ich ja als Zeitraum wahrscheinlich den ganzen 10.10.2022 auswählen, also 10.10.2022, 00:00 Uhr - 11.10.2022, 00:00 Uhr.

Anhand derer die beiden habe ich Unixtime1 und Unixtime2 ermittelt und mit diesem select den gewünschten Wert aufgerufen:

SELECT Einspeisung FROM AC WHERE time > 1665352800000000000 and time < 1665439200000000000

Das ergibt aber in meinem Fall dann aber jede Menge Werte - sicher 100 Zeilen. Deshalb gehe ich davon aus, dass ich mit dem Zeitraum einen Fehler mache.
Aber welchen?

BG
Michael

Bogeyof
Beiträge: 1139
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 24 Mal
Danksagung erhalten: 144 Mal

Re: Falsche Daten in der InfluxDB korrigieren? (Huawei SUN2000-17KTL-M2)

Beitrag von Bogeyof »

Nun ich habe ja geschrieben es geht bei einem (oder wenigen Werten). In der Datenbank steht pro Minute 1 Wert, also bei Deiner Auswahl von 24 Stunden = 1440 Werte.
Du müsstest vorher z.B. in Grafana dein Problemfeld als Linie oder Punkte darstellen lassen und herausfinden (eingrenzen), zu welcher Zeit ein vermutlich völlig überhöhter Wert zu korrigieren wäre. Diesen Zeitraum dann nach obiger Technik in Influx selektieren und die einzelne Minute dann korrigieren.
Wenn die Werte über den ganzen Tag falsch sind, müsstest Du 1440 Werte anpassen, das macht keinen Sinn. Normalerweise sind aber ein oder wenige Werte völlig falsch und diese kann man dann einzeln korrigieren (wenn man vorher weiß, zu welcher Zeit man suchen muss)...

Du kannst den select auch erweitern mit einem Test auf einen hohen Wert, z.B.:
SELECT Einspeisung FROM AC WHERE time > 1665352800000000000 and time < 1665439200000000000 and Einspeisung > 10000

MikeG
Beiträge: 23
Registriert: Do 14. Apr 2022, 20:02
Hat sich bedankt: 18 Mal
Danksagung erhalten: 4 Mal

Re: Falsche Daten in der InfluxDB korrigieren? (Huawei SUN2000-17KTL-M2)

Beitrag von MikeG »

Servus Bogeyof!

OMG - die Operation ist gelungen.

Mit dem zusätzlichen Filter > 10000 konnte ich die falschen Werte recht flott finden und berichtigen.

Bei der Gelegenheit bin ich drauf gekommen, dass auch HAUSVERBRAUCH an diesem Tag etwa 15 min lang völlig falsche Werte geliefert hatte.
Auch gleich korrigiert.

Die Werte in GRAFANA stimmen jetzt wieder mit den Werten in Fusion Solar überein.

Vielen herzlichen Dank für deine Hilfe und deine Geduld.

BG
Michael

Antworten

Zurück zu „Allgemeines“