wie mit falschen Leistungswerten umgehen?

Überwachung der Solaranlage per eMail oder Pushover und Steuerung von Geräten mit Smart Home Zentralen. PV-Überschuss Steuerung verbunden mit Geräten und Tasmota Firmware. Wallbox Steuerungen und API Schnittstelle, über die Daten in die Solaranzeigen Datenbanken geschrieben und gelesen werden können. Alles, was man für Steuerungsaufgaben benötigt.

Moderator: Ulrich

Antworten
ewan
Beiträge: 4
Registriert: Di 21. Dez 2021, 15:58

wie mit falschen Leistungswerten umgehen?

Beitrag von ewan »

Moin,

ich bin seit kurzem auch PV Anlagenbetreiber (Kostal Plenticore mit BYD Akku) und recht schnell bei solaranzeige gelandet. Habe mich hier schnell zurecht gefunden und finde das Projekt großartig. Vielen Dank dafür.
Nun habe ich allerdings in der letzten Woche das erste Mal ein paar Auffälligkeiten und bin nicht sicher, wie ich am Besten damit umgehen soll.

Ich bin jetzt soweit durchgestiegen, dass ich in der Datenbank unplausible Werte gefunden habe, die das Gesamtergebnis und die Tagessummen komplett verfälschen:

Code: Alles auswählen

time                 Wh_Gesamt Wh_Gesamt_Jahr Wh_Gesamt_Monat Wh_Gesamtverbrauch_Batterie Wh_Gesamtverbrauch_Netz Wh_Gesamtverbrauch_PV Wh_Heute
----                 --------- -------------- --------------- --------------------------- ----------------------- --------------------- --------
2022-01-19T03:21:12Z 0              0              0              0              8.47           10.69          0              0           0           0
2022-01-19T03:22:11Z 61824.64       61805.21       8.5            10.93          0              0              0              61805.21    0           0
2022-01-19T03:31:11Z 0              0              0              0              8.51           10.95          0              0           0           0
Ca. 60kWh morgens um 3:00 Uhr sind natürlich zu schön um wahr zu sein.
Zum Vergleich habe ich ein Log direkt vom Wechselrichter gezogen, dort sind diese Werte nicht zu finden.
1. Woher kommen die Werte in der solaranzeige bzw. kann es sein, dass sie zwar vom Wechselrichter stammen, er aber solche Ausreisser bereits beim Eintrag ins Log nivelliert?
2. Ich hätte jetzt angefangen, die Werte in der DB zu ändern, oder gibt es einen besseren Weg?
3. Muss ich dann auch die Tabelle 'Summen' aktualisieren dort stehen falsche Werte bei Wh_heute oder kann ich da eine Neuberechnung anstossen?

Vielen Dank schon mal für Eure Unterstützung
ewan

solarfanenrico

Re: wie mit falschen Leistungswerten umgehen?

Beitrag von solarfanenrico »

Hallo zusammen,
dies ist zwar schon ein alter Beitrag, aber immer mal wieder aktuell.
Für einen Freund habe ich mir etwas einfallen lassen und ein kleines shell-script erstellt.

In der Anbleitung hierzu steht folgendes am Beginn
Entfernen ungewollter Spikes aus InfluxDatenbanken
Manchmal kommt es vor, dass Durch Frermdeinflüsse, sogenannte Spikes in eine andere Datenbank „geschossen “ werden. Diese sind oft mühevoll per Hand wieder zu entfernen, da sich InfluxDB‘s nicht leicht manipulieren lassen.
Eine einfache Methode stelle ich hier vor.
https://solarfanenrico.de/spikeentfernung.pdf

Eigentlich braucht man in diesem script nur Name der Datenbank, das Measurement und field an seine Gegebenheiten anpassen und ausführen lassen.

einfacher geht es nicht.

Enrico

solarfanenrico

Re: wie mit falschen Leistungswerten umgehen?

Beitrag von solarfanenrico »

Hallo,
Die Funktionalität hatte einen anderen Haken.
Es wird nicht explizit der letzte Hohe Wert erfaßt, sondern der absolut höchste.
Dieser kann u.U. schon Wochen zurückliegen. Deshalb glaube ich es funktioniert nicht allgemein.

Inzwischen habe ich folgendes geändert:

SELECT max("$MEASUREMENT") FROM "$FIELD" ORDER BY time DESC LIMIT 1"

Dadurch wird auch nur 1 Datensatz gelöscht. Mit meiner alten Abfrage, kann es iim aktuellel Fall (für einen Freund auf 25000 gesetzt) und einpaar Tage nicht bearbeitet, zu Fehlfunktion kommen.
Wieviel Spikes überhaupt vorhanden sind, kann man nur testen, im dem man die LIMIT_Zahl erhöht, und die Abfrage in der Konsole selbst macht.
Vieleicht LIMIT 20 Dann bekommt man 20 Zeilen und weiß das man das script 20 ausführen lassen muß. Dann eine erneute Abfrage über Konsole.

So bekommt man alle Spikes, die man früher, mangels Kenntnis der Materie ignorieren mußte.
influx -host localhost -port 8086 -database $INFLUXDATABASE -execute "SELECT max("$MEASUREMENT") FROM "$FIELD" ORDER BY time DESC LIMIT 20" | sed -r -n '4,4s/.{7}$//p
Enrico

Antworten

Zurück zu „Überschuss Steuerung, Anlagenüberwachung, Anbindung an die Heizung, API Schnittstelle und vieles Andere mehr.“