Normalisierung des Messwerte

Auflistung von gewünschten Features, Ausschreibung zur Umsetzung
Postman76
Beiträge: 58
Registriert: Mo Feb 25, 2019 10:44 am

Normalisierung des Messwerte

Beitrag von Postman76 »

Hallo zusammen,

ich könnte schwören, dass ich dazu schon mal einen Thread hatte. Find ich nicht mehr. Egal.
Immer wieder kommt es bei mir vor, dass der Daily Graph eine massive Spitze im PV Ertrag hat, wir reden von MWh. Das führt dazu, dass der Tagesgraph (den ganzen Tag) für die Tonne ist, da der Maßstab ja automatisch angepasst wird.
Kevin meinte, dass das wohl mit Connectivity Problem zwischen WR, OpenWB und jetzt wohl auch E3/DC zusammanhängt. Ich habe das jetzt mal ein paar Wochen immer wieder angeschaut und ja, es gibt manchmal Probleme am Switchport der OpenWB aber das ist zu ganz anderen Zeiten als dann die Mega Peaks angezeigt werden. Es passiert vor allem auch immer dann, wenn die WR ausgeschalten/angeschalten werden oder sonst was an der elektrischen Anlage geändert wird.Auch als wir die Notstromfunktion der E3/DC getestet haben. Das Problem vererbt sich dann leider auch noch auf den Monthly und schlussendlich den yearly Graph, siehe hier:
Unbenannt.PNG
Unbenannt.PNG (31.9 KiB) 5285 mal betrachtet
Das ist so natürlich unbrauchbar. Ich frickel dann immer in den CSV Dateien rum bis ich "die Bösewichte" find. Ist aber halt auch keine Dauerlösung.
Als ich noch Hardware nahe Programmierung machte, haben wir derlei Dinge so gelöst:
Es werden z.B. in einem Configfile, die theoretischen Maximalwerte hinterlegt und jedemals bevor ein Wert x(t) geschrieben wird mit dem Maximalwert auf Plausibilität geprüft. Wenn das nicht passt nimmt man stattdessen den Wert davor x(t-1). Das macht die maximale Varianz relativ klein und die Graphen rund. Da führt auch dazu, dass unplausible Werte gar nicht mehr in die csv Files kommen.
Zusammengefasst:
Frontend: Gib Deine Watt(Peak) ein (der ist eh nur theoretischer Natur, aber jeder hat den parat)
Backend: Beim Durchlaufen der Schleife zum erstellen der daily Warte im CSV File zusätzliches AND (Kriterium PV_Wert(t)<Watt(Peak))

Ich habe auch mal einen Excel Sheet der letzten paar Tage angehängt mit meinen Daten. Am 4.12 war alles gut, 5. & 6. enthalten Fehler.

Würde mich freuen, wenn einer der Cracks das machen könnte. Der Aufwand ist (denke ich) überschaubar.

Besten Dank & Gruß

Peter
Dateianhänge
Messwerte_PV.xlsx
(17.83 KiB) 217-mal heruntergeladen
okaegi
Beiträge: 2185
Registriert: Fr Mär 08, 2019 1:57 pm

Re: Normalisierung des Messwerte

Beitrag von okaegi »

Naja grundsätzlich würde ich so etwas im jeweiligen driver vom Wr lösen.
du kannst das mit der Funktion
Aktuelle Pv Leistung = min(aktuelle Pv Leistung,höchste maximale Pv Leistung)
Aktuelle Pv Leistung = max(aktuelle Pv Leistung,0)
erreichen. (Oderandersrum, je nach Vorzeichen der Pv Leistung)
Heisst glaub Winsorizing funktion (extremwerte unterdrücken /ersetzten)
Dazu müsste nur die maximale Pv Leistung irgendwo im Gui erfasst werden...
Dann würde der "Rest" vom openwb ohne Schluckauf laufen...
Finde ich eine gute Idee,
Gruss Oliver
Entwickler- openWB (ehrenamtlich) / Feedback zu Funktionen immer erwünscht..
Smarthomeprobleme siehe hier (update :!: ): viewtopic.php?f=14&t=5923
openWB
Site Admin
Beiträge: 7906
Registriert: So Okt 07, 2018 1:50 pm

Re: Normalisierung des Messwerte

Beitrag von openWB »

Die PV Leistung ist dafür egal.
Hier geht es um den Zählerstand der gespeichert wird.
Aus den Delta wird Daily/Monthly/Yearly berechnet.

Ist unabhängig vom E3DC sondern hat lediglich mit Kommunikationsproblemen openWB -> WR zu tun.

In deinem Fall 2x SMA WR?
Das macht es doppelt blöd wenn dann nur einer nicht antwortet.
Es werden z.B. in einem Configfile, die theoretischen Maximalwerte hinterlegt und jedemals bevor ein Wert x(t) geschrieben wird mit dem Maximalwert auf Plausibilität geprüft.
Wir schreiben hier aber nich die Leistung weg sondern den Zählerstand. Der beginnt bei 0 und hört bei unendlich auf :)
Natürlich könnte man nun nach dem letzten Zählerstand schauen und bei einer 0 diesen übernehmen.
Das macht aber auch Probleme:
- Nach einem Neustart sind alle Werte 0, das "richtige" auslesen würde nie starten
- Beim Konfigurieren eines WR würde er ebenfalls nicht anfangen auszulesen, schließlich ist das Delta von 0 zu Bestandszählerstand vorhanden bzw. zu groß

Eine Idee wäre das in der Darstellung gerade zu bügeln, sprich beim berechnen des Graph. Wenn Delta zu groß dann verwerfe und nehme letzen, meintest du das?
Schöner wäre natürlich man hat gleich die korrekten Daten und das Problem an der Wurzel behoben.
Supportanfragen bitte NICHT per PN stellen.
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Postman76
Beiträge: 58
Registriert: Mo Feb 25, 2019 10:44 am

Re: Normalisierung des Messwerte

Beitrag von Postman76 »

Hallo Jungs,

super Diskussion, danke dafür. Macht immer wieder Freude so schnell auch kompetente "Mitdenker" zu haben.

Wie immer habe ich mir das zu einfach vorgestellt :lol:

Der Königsweg wäre derlei Peaks erst gar nicht zu kriegen, natürlich. Aber irgendwie scheint das bei mir immer wieder mal vorzukommen. Meine CAT7 Leitung in die Garage ist so um die 38m lang und führt im selben Graben (aber nicht im selben Rohr) in die Garage. Also insofern sind alle E-technischen Standards eingehalten. Wenn die Leitung länger >100m wäre würde ich mit dabei sorgen machen.
Eine Idee wäre das in der Darstellung gerade zu bügeln, sprich beim berechnen des Graph. Wenn Delta zu groß dann verwerfe und nehme letzen, meintest du das?
Ja, das würde es schon treffen. An der Wurzel werde ich es wahrscheinlich nicht beheben können da ich an der Connectivität nicht viel ändern kann. Das ist echt verzwickt, dass wir "nur" die Zählerstände haben. Mittelwert oder Medianberechnungen helfen auch nicht bei so "Riesen Peaks". Eine Funktion die bei zu großem Delta der Messwerte den aktuellen durch den letzten ersetzt würde es da schon tun. Die Fragen ist was ist das Delta zwischen "stahlendem Sonneschein" und "dicker schwarzer Wolke" ;-)

Gruß
Peter
okaegi
Beiträge: 2185
Registriert: Fr Mär 08, 2019 1:57 pm

Re: Normalisierung des Messwerte

Beitrag von okaegi »

Hm... mir ist noch folgende Regelung aus der Hardewäre Welt bekannt um nuller Werte auszubügeln.
Bin mir nicht mehr sicher, ging glaub so:
Die letzten drei Werte werden temporär in einem Schieberegister gespeichert
So
act1,Act2,Act3
Der Zähler wird ausgelesen, dann
Act3 = act2
Act2 = act1
Act1 = neuer Zählerwert
Act3 wird nun geprüft, sofern > 0 wird der Wert weiterverarbeitet und in actalt gespeichert
Sofern act3 = 0 wird Act2 geprüft, sofern > 0 wird dieser Wert weiterverarbeitet und in actalt gespeichert
Sofern act2 = 0 wird Act1 geprüft, sofern > 0 wird dieser Wert weiterverarbeitet und in actalt gespeichert
Sofern act1 = 0 wird actalt verarbeitet.
Es sollte folgendes Passieren:
A) Sofern der Zähler drei mal hintereinander 0 liefert wird solange der alte Wert (actalt) genommen bis der Zähler einen von 0 unterschiedlichen Wert liefert (kann auch viel kleiner als actalt sein )
B) sofern actalt auch 0 und dreimal 0 gelesen wird 0 weiterverarbeitet (nach neustart wr z.b)
C ) Sonst wird mit dieser Logik eine 0 Auslesung überlesen und der nach dem 0 gelesen Wert zweimal verwendet.
Bitte mal kritisch hinterfragen, bin nicht sichet ob das immer verhebt..
Gruss Oliver
Entwickler- openWB (ehrenamtlich) / Feedback zu Funktionen immer erwünscht..
Smarthomeprobleme siehe hier (update :!: ): viewtopic.php?f=14&t=5923
aiole
Beiträge: 6780
Registriert: Mo Okt 08, 2018 4:51 pm

Re: Normalisierung des Messwerte

Beitrag von aiole »

"nur" Zählerwerte ist schon der korrekte Ansatz, da hierin ALLES erfasst ist. Ich denke, dass eine simple Grenzwertvorgabe, ab wann etwas verworfen wird, ausreichend wäre.
VG aiole
openWB
Site Admin
Beiträge: 7906
Registriert: So Okt 07, 2018 1:50 pm

Re: Normalisierung des Messwerte

Beitrag von openWB »

@aiole
Das wäre aber nur bei der Auswertung interessant.
Bei der Erfassung nicht so einfach. Start ist 0 und maximaler Zählerstand unendlich.
Problem ist hier ja auch das ab und an ein WR schlafen geht, also ein völlig gültiger Wert rauskommt der nur eben zu niedrig ist weil ein WR nicht antwortet.
Nur auf 0 zu prüfen würde @Postman76 da nichtmal helfen.

Input welcome :)
Supportanfragen bitte NICHT per PN stellen.
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
aiole
Beiträge: 6780
Registriert: Mo Okt 08, 2018 4:51 pm

Re: Normalisierung des Messwerte

Beitrag von aiole »

Können wir nicht einen Grenzwert für einen max. Differenzzählerstand vorgeben?
Letzlich geht es um automatisiertes Entfernen solcher Extrempeaks (hatte ich auch immer mal , aber nur nach updates). Den Peak bei der Erfassung zu eliminieren geht m.E. nur, wenn Vergleiche zu Vorgänger/Nachfolger möglich sind.
VG
openWB
Site Admin
Beiträge: 7906
Registriert: So Okt 07, 2018 1:50 pm

Re: Normalisierung des Messwerte

Beitrag von openWB »

Was machst du nach Neustart wenn Initialwert 0 bzw. bei Ersteinrichtung wenn der Wechselrichter Bestand ist und schon 40000kWh Ertrag gebracht hat?
Supportanfragen bitte NICHT per PN stellen.
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
okaegi
Beiträge: 2185
Registriert: Fr Mär 08, 2019 1:57 pm

Re: Normalisierung des Messwerte

Beitrag von okaegi »

Schau doch mal meinen Vorschlag oben an, der sollte eine Fehlauslesung zweimal hintereinander verkraften und auch mit einem neuen Wr klarkommen.
Gruss Oliver
Entwickler- openWB (ehrenamtlich) / Feedback zu Funktionen immer erwünscht..
Smarthomeprobleme siehe hier (update :!: ): viewtopic.php?f=14&t=5923
Antworten