"Pulsierende" Ladung mit 2.0 master

Fragen zur Nutzung, Features, usw..
fawick
Beiträge: 200
Registriert: Di Nov 03, 2020 2:42 am
Been thanked: 2 times

Re: "Pulsierende" Ladung mit 2.0 master

Beitrag von fawick »

fawick hat geschrieben: Sa Feb 17, 2024 11:25 am Und hier die Logs eines weiteren Auftretens.
In der main.log ist mir etwas aufgefallen. Dazu folgendes im Hinterkopf behalten: Bei der Aufzeichung war die Rundown Power auf 1000W gesetzt.

Solange der Betrag der Speicherleistung (openWB/set/bat/get/power Power) unter 1000 W liegt, wird die erlaubte Entladeleistung als Absolutwert in Richtung der 1000W bestimmt (ggf. auf ein Inkrement von 50W beschraenkt durch https://github.com/openWB/core/blob/958 ... ll.py#L149).

Wird der Speicher aber mit mehr als 1000W entladen, wird die erlaubte Entladeleistung stattdessen als Delta zu 1000W berechnet.

Je nachdem, auf welcher Seite der rundown_power von 1000W sich die Speicherentladung gerade befindet, ist die effektive Semantik des berechneten Wertes eine andere: Mal ist es ein Zielwert, mal ein Offset.

Code: Alles auswählen

11:13:11,379 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -1002.98, vorherige Payload: -1259.04
11:13:11,487 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen -2.980000000000018W
11:13:11,488 - {control.bat_all:171} - {INFO:MainThread} - -2.980000000000018W verbleibende Speicher-Leistung
[...]
11:13:31,023 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -796.18, vorherige Payload: -1002.98
11:13:31,125 - {control.bat_all:159} - {DEBUG:MainThread} - Verbleibende Speicher-Leistung durch maximale Ausgangsleistung auf 846.18W begrenzt.
11:13:31,126 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen 846.18W
11:13:31,126 - {control.bat_all:171} - {INFO:MainThread} - 846.18W verbleibende Speicher-Leistung
[...]
11:13:51,460 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -1124.88, vorherige Payload: -796.18
11:13:51,578 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen -124.88000000000011W
11:13:51,579 - {control.bat_all:171} - {INFO:MainThread} - -124.88000000000011W verbleibende Speicher-Leistung
[...]
11:14:10,969 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -975.24, vorherige Payload: -1124.88
11:14:11,092 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen 1000W
11:14:11,093 - {control.bat_all:171} - {INFO:MainThread} - 1000W verbleibende Speicher-Leistung
[...]
11:14:31,652 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -1416.25, vorherige Payload: -975.24
11:14:31,785 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen -416.25W
11:14:31,789 - {control.bat_all:171} - {INFO:MainThread} - -416.25W verbleibende Speicher-Leistung
[...]
11:14:51,326 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -970.08, vorherige Payload: -1416.25
11:14:51,450 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen 1000W
11:14:51,452 - {control.bat_all:171} - {INFO:MainThread} - 1000W verbleibende Speicher-Leistung
[...]
11:15:11,556 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -1403.22, vorherige Payload: -970.08
11:15:11,681 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen -403.22W
11:15:11,682 - {control.bat_all:171} - {INFO:MainThread} - -403.22W verbleibende Speicher-Leistung
[...]
11:15:31,125 - {helpermodules.changed_values_handler:120} - {DEBUG:MainThread} - Topic openWB/set/bat/get/power, Payload -1055.75, vorherige Payload: -1403.22
11:15:31,231 - {control.bat_all:205} - {DEBUG:MainThread} - Erlaubte Entlade-Leistung nutzen -55.75W
11:15:31,232 - {control.bat_all:171} - {INFO:MainThread} - -55.75W verbleibende Speicher-Leistung

Ich zitiere mal aus BatAll._get_charging_power_left() https://github.com/openWB/core/blob/958 ... ll.py#L198. Zeile 201 berechnet den Offset, Zeile 203 setzt den Absolutwert.

Code: Alles auswählen

198                     if self.data.get.power * -1 > config.rundown_power:
199                         # Wenn der Speicher mit mehr als der erlaubten Entladeleistung entladen wird, muss das vom
200                         # Überschuss subtrahiert werden.
201                         self.data.set.charging_power_left = config.rundown_power + self.data.get.power
202                     else:
203                         self.data.set.charging_power_left = self._limit_rundown_power(
204                             config.rundown_power)
205                     log.debug(f"Erlaubte Entlade-Leistung nutzen {self.data.set.charging_power_left}W")
vuffiraa
Beiträge: 260
Registriert: Mo Apr 19, 2021 11:26 am
Been thanked: 2 times

Re: "Pulsierende" Ladung mit 2.0 master

Beitrag von vuffiraa »

fawick hat geschrieben: So Feb 18, 2024 5:11 pm In der main.log ist mir etwas aufgefallen. Dazu folgendes im Hinterkopf behalten: Bei der Aufzeichung war die Rundown Power auf 1000W gesetzt.

Solange der Betrag der Speicherleistung (openWB/set/bat/get/power Power) unter 1000 W liegt, wird die erlaubte Entladeleistung als Absolutwert in Richtung der 1000W bestimmt (ggf. auf ein Inkrement von 50W beschraenkt durch https://github.com/openWB/core/blob/958 ... ll.py#L149).

Wird der Speicher aber mit mehr als 1000W entladen, wird die erlaubte Entladeleistung stattdessen als Delta zu 1000W berechnet.

Je nachdem, auf welcher Seite der rundown_power von 1000W sich die Speicherentladung gerade befindet, ist die effektive Semantik des berechneten Wertes eine andere: Mal ist es ein Zielwert, mal ein Offset.
Ich habe mir heute die gleichen Stellen im Code angeschaut und habe jetzt einen Knoten im Hirn...

Ich wollte mit Hilfe deines Logs verstehen, was da berechnet wird. Dabei ist mir etwas ähnliches aufgefallen. Wenn der Speicher mit weniger als 1000W entladen wird, dann werden trotz der vorhandenen Entladeleistung noch weitere 1000W aufgeschlagen.

Das sieht für mich alles nach einem kleinen Vorzeichenfehler aus. Jetzt müsste man nur noch die richtige Stellen finden.

VG
openWB serie 2 custom 11kW
Skoda Enyaq iV80
PV 9,4kWp SSW, Fronius Symo 8.2-3-M, Fronius Smart Meter 63A
Benutzeravatar
mrinas
Beiträge: 2148
Registriert: Mi Jan 29, 2020 10:12 pm
Has thanked: 8 times
Been thanked: 7 times

Re: "Pulsierende" Ladung mit 2.0 master

Beitrag von mrinas »

Ich hatte ja eine Zeit lang auch mal eine schwingende Ladung, das hat sich aber mit den Updates von damals erledigt. Inzwischen hat bei mir auch ein Speicher seinen Platz gefunden - pv geführtes Laden lief bei mir weiterhin problemlos. Hatten in den letzten Tagen Sonne, auch Sonne&Wolkenmix, lief alles einwandfrei.

Meine Regelung steht auf Fahrzeug Vorrang ohne erlaubte Entladeleistung aus dem Speicher. Es sollen also immer die Fahrzeuge geladen werden bevor der Speicher bedient wird. Und kein Strom aus dem Speicher ins Auto umschichten.
15,2kWp SMA (SB4000TL-21, SB3.0, STP6.0-SE + BYD HVS, EnergyMeter), openWB Standard+, openWB Pro, Smart #1 (ersetzt den e2008), Tesla Model Y LR.
fawick
Beiträge: 200
Registriert: Di Nov 03, 2020 2:42 am
Been thanked: 2 times

Re: "Pulsierende" Ladung mit 2.0 master

Beitrag von fawick »

Das Problem tritt auch nur bei Speichervorrang auf.
vuffiraa
Beiträge: 260
Registriert: Mo Apr 19, 2021 11:26 am
Been thanked: 2 times

Re: "Pulsierende" Ladung mit 2.0 master

Beitrag von vuffiraa »

fawick hat geschrieben: So Feb 18, 2024 10:11 pm Das Problem tritt auch nur bei Speichervorrang auf.
und wenn die erlaubte Entladeleistung größer 0 ist ;)
openWB serie 2 custom 11kW
Skoda Enyaq iV80
PV 9,4kWp SSW, Fronius Symo 8.2-3-M, Fronius Smart Meter 63A
fawick
Beiträge: 200
Registriert: Di Nov 03, 2020 2:42 am
Been thanked: 2 times

Re: "Pulsierende" Ladung mit 2.0 master

Beitrag von fawick »

vuffiraa hat geschrieben: Mo Feb 19, 2024 7:20 am
fawick hat geschrieben: So Feb 18, 2024 10:11 pm Das Problem tritt auch nur bei Speichervorrang auf.
und wenn die erlaubte Entladeleistung größer 0 ist ;)
Ah ja, richtig, das ist eine weitere wichtige Einschraenkung. Danke Dir fuer's Verbessern!
fawick
Beiträge: 200
Registriert: Di Nov 03, 2020 2:42 am
Been thanked: 2 times

Re: "Pulsierende" Ladung mit 2.0 master

Beitrag von fawick »

fawick hat geschrieben: So Feb 18, 2024 5:11 pm Solange der Betrag der Speicherleistung (openWB/set/bat/get/power Power) unter 1000 W liegt, wird die erlaubte Entladeleistung als Absolutwert in Richtung der 1000W bestimmt (ggf. auf ein Inkrement von 50W beschraenkt durch https://github.com/openWB/core/blob/958 ... ll.py#L149).

Wird der Speicher aber mit mehr als 1000W entladen, wird die erlaubte Entladeleistung stattdessen als Delta zu 1000W berechnet.

Je nachdem, auf welcher Seite der rundown_power von 1000W sich die Speicherentladung gerade befindet, ist die effektive Semantik des berechneten Wertes eine andere: Mal ist es ein Zielwert, mal ein Offset.

Ich zitiere mal aus BatAll._get_charging_power_left() https://github.com/openWB/core/blob/958 ... ll.py#L198. Zeile 201 berechnet den Offset, Zeile 203 setzt den Absolutwert.

Code: Alles auswählen

198                     if self.data.get.power * -1 > config.rundown_power:
199                         # Wenn der Speicher mit mehr als der erlaubten Entladeleistung entladen wird, muss das vom
200                         # Überschuss subtrahiert werden.
201                         self.data.set.charging_power_left = config.rundown_power + self.data.get.power
202                     else:
203                         self.data.set.charging_power_left = self._limit_rundown_power(
204                             config.rundown_power)
205                     log.debug(f"Erlaubte Entlade-Leistung nutzen {self.data.set.charging_power_left}W")
Gerade war mal genug Licht, um das auszuprobieren: Wenn ich Zeile 203 und 204 wie folgt aendere, tritt das pulsierende abrupte Hochregeln nicht mehr auf:

Code: Alles auswählen

203                         self.data.set.charging_power_left = self._limit_rundown_power(
204                             config.rundown_power + self.data.get.power)
[/quote]
martinbrokate
Beiträge: 56
Registriert: Fr Feb 04, 2022 10:36 am
Kontaktdaten:

Re: "Pulsierende" Ladung mit 2.0 master

Beitrag von martinbrokate »

Ich habe keinen Speicher, und es schwingt sich trotzdem auf. Könnt ihr den Speicher mal testweise außenvor lassen?
Ist wenig Sonne wie aktuell und es wird nur mit 1 P. bis 3760 W geladen so ist alles tiptop, es fängt ja nur an sobald auf 3P umgeschaltet wird. Habe ich z.B. 8,5 Kw PV Produktion so wird halt dieser Wert über oder untersteuert. Auf Langsam ist es schon besser, aber wenn man es bei 1 P so exakt hin bekommt dann ist wäre es schön, wenn es bei 3P auch so wäre.

Aber echt klasse das ihr das in der Regler-Programmierung schon eingrenzen konntet, denn da bin raus.
PV 4,32kwp aus 2003, PV 5,4kwp aus 2010, PV 42,21kwp aus 2010 mit oWB Custom aus 2022, und EQA 250.
vuffiraa
Beiträge: 260
Registriert: Mo Apr 19, 2021 11:26 am
Been thanked: 2 times

Re: "Pulsierende" Ladung mit 2.0 master

Beitrag von vuffiraa »

fawick hat geschrieben: Mo Feb 19, 2024 3:00 pm
fawick hat geschrieben: So Feb 18, 2024 5:11 pm Solange der Betrag der Speicherleistung (openWB/set/bat/get/power Power) unter 1000 W liegt, wird die erlaubte Entladeleistung als Absolutwert in Richtung der 1000W bestimmt (ggf. auf ein Inkrement von 50W beschraenkt durch https://github.com/openWB/core/blob/958 ... ll.py#L149).

Wird der Speicher aber mit mehr als 1000W entladen, wird die erlaubte Entladeleistung stattdessen als Delta zu 1000W berechnet.

Je nachdem, auf welcher Seite der rundown_power von 1000W sich die Speicherentladung gerade befindet, ist die effektive Semantik des berechneten Wertes eine andere: Mal ist es ein Zielwert, mal ein Offset.

Ich zitiere mal aus BatAll._get_charging_power_left() https://github.com/openWB/core/blob/958 ... ll.py#L198. Zeile 201 berechnet den Offset, Zeile 203 setzt den Absolutwert.

Code: Alles auswählen

198                     if self.data.get.power * -1 > config.rundown_power:
199                         # Wenn der Speicher mit mehr als der erlaubten Entladeleistung entladen wird, muss das vom
200                         # Überschuss subtrahiert werden.
201                         self.data.set.charging_power_left = config.rundown_power + self.data.get.power
202                     else:
203                         self.data.set.charging_power_left = self._limit_rundown_power(
204                             config.rundown_power)
205                     log.debug(f"Erlaubte Entlade-Leistung nutzen {self.data.set.charging_power_left}W")
Gerade war mal genug Licht, um das auszuprobieren: Wenn ich Zeile 203 und 204 wie folgt aendere, tritt das pulsierende abrupte Hochregeln nicht mehr auf:

Code: Alles auswählen

203                         self.data.set.charging_power_left = self._limit_rundown_power(
204                             config.rundown_power + self.data.get.power)
Interessant, besonders, weil du gleich den Erfolg testen konntest.
Durch diese Änderung geht aber ein Test in bat_all_test.py kaputt. Getestet wird:
"Speicher entlädt, Speicher-Vorrang mit erlaubter Entladeleistung (600W)"
Laut Test werden 500W verfügbarer Ladeleistung erwartet. Durch deine Änderung wird hier 400W berechnet, was aber bei 1000W möglicher Ladeleistung korrekt ist.
Ich habe noch einen Test ergänzt:
"Speicher entlädt, Speicher-Vorrang über erlaubter Entladeleistung (1200W)"
Mit diner Änderung wird hier -200W berechnet, was doch auch passt.

Wollen wir deine Änderung und die Anpassungen am Test als PR einstellen, oder gibt es noch weitere Tester hier?

VG
openWB serie 2 custom 11kW
Skoda Enyaq iV80
PV 9,4kWp SSW, Fronius Symo 8.2-3-M, Fronius Smart Meter 63A
vuffiraa
Beiträge: 260
Registriert: Mo Apr 19, 2021 11:26 am
Been thanked: 2 times

Re: "Pulsierende" Ladung mit 2.0 master

Beitrag von vuffiraa »

martinbrokate@web.de hat geschrieben: Mo Feb 19, 2024 5:43 pm Ich habe keinen Speicher, und es schwingt sich trotzdem auf. Könnt ihr den Speicher mal testweise außenvor lassen?
Ist wenig Sonne wie aktuell und es wird nur mit 1 P. bis 3760 W geladen so ist alles tiptop, es fängt ja nur an sobald auf 3P umgeschaltet wird. Habe ich z.B. 8,5 Kw PV Produktion so wird halt dieser Wert über oder untersteuert. Auf Langsam ist es schon besser, aber wenn man es bei 1 P so exakt hin bekommt dann ist wäre es schön, wenn es bei 3P auch so wäre.

Aber echt klasse das ihr das in der Regler-Programmierung schon eingrenzen konntet, denn da bin raus.
Ist das vielleicht dann doch der Zustand, den ich auch bei mir beobachtet habe. Das hatte ich hier https://forum.openwb.de/viewtopic.php?p=102711#p102711 beschrieben.
Zusammengefasst ist die Frage, funktioniert das im Regelmodus "Ausgewogen" besser? Oder Ansonsten wäre auch ein Log interessant.

VG
openWB serie 2 custom 11kW
Skoda Enyaq iV80
PV 9,4kWp SSW, Fronius Symo 8.2-3-M, Fronius Smart Meter 63A
Antworten