ich habe ein komisches Verhalten bei oben genannter Konfiguration festgestellt. Ich habe:
GoodWe batteryInverter0
GoodWe ess0
ManagedEssGeneric ess2
FENECON Home 10 ess1
Dazu einen ToU von Tibber. Wenn nun aber TibberController entscheidet, den Speicher nicht mehr zu entladen (Entladung verzögert), dann wird einer der Speicher entladen und der andere Beladen.
Power Solver steht auf Keep all Equal. Aber egal welches Setting ich da nutze, das Verhalten bleibt gleich.
grundsätzlich funktioniert der Algorithmus auch bereits mit mehreren Speichern - wir beobachten das erfolgreich am “FENECON Commercial 92 Clustersystem” (https://fenecon.de/fenecon-commercial-92/).
Mit deiner Beschreibung ist es aber noch schwer nachzuvollziehen. Bitte dokumentiere mal das komplette Anlagenprofil - also welche Komponenten sind konfiguriert, und welche Controller wirken auf welche Komponenten (z. B. “ess0” ist ein Ess.Cluster; ToU-Controller ist auf “ess0” konfiguriert, usw.)
Außerdem wäre interessant zu sehen, was “DebugSetActivePower” der jeweiligen ESSs enthält.
Dann würde ich erstmal einen FixActivePower-Controller auf ess2 versuchen. Wenn das nicht klappt, kommst du an den DebugSetActivePower-Channels nicht vorbei.
Dann kannst du mal versuchen ob FixActivePower auf die einzelnen ESS zum richtigen Ergebnis führt - vermutlich klappt das nicht, führt dich aber schrittweise näher zum Ziel…
Wie oben gesagt: ohne die ganzen Detaildaten kann ich dazu nichts sagen. Ich kann nur sagen: wenn man alles richtig gemacht hat, wird OpenEMS es gleichmäßig richtig verteilen.
Bei 0kW Beladegrenze des ctrlGridOptimizedCharge entlädt ein Speicher angeblich und der andere belädt. Den einen Speicher entlädt er so lange, bis er an der Notstromreserve ist, danach belädt er Ihn (weil er die Reserve unterschreitet) aus dem Netz.
Hmm, dann werde ich mich mal an ein Cluster machen, welches das kann Die Frage ist nur, woher bekommt denn das Cluster die Gesamtleistung zum verteilen? Aus _core/EssPower oder?
Also wenn ich das richtig sehe liegt das Problem darin, dass die ActivePowerSetpoints für ess0 und ess2 bei 0 liegen, da kein Controller eine Entladung anfragt.
Der ActivePowerSetpoint ist immer die gewünschte AC-Leistung des Wechselrichters. Bei einem Hybridsystem beinhaltet diese auch die PV-Leistung die in AC umgewandelt werden soll. Das heißt, wenn der Charger (PV-String) 1000W generiert und die Batterie nicht geladen werden soll, muss eine „Entladung“ von 1000W requested werden. Dazu wird der ActivePowerSetpoint auf 1000 gesetzt. Wird der ActivePowerSetpoint auf 0 gesetzt bzw keiner vorgegeben (was gleichbedeutend wie 0 ist), muss ja die gesamte PV-Leistung in die Batterie gehen um die Vorgabe von 0W AC umsetzen zu können.
Es gibt einen FeedSurplusToGrid Controller, versuch doch mal einen solchen für jedes ESS anzulegen, der sollte dann den Setpoint auf die jeweilige PV-Leistung setzen. Dieser müsste dann natürlich die niedrigste Prio haben, sodass der nur greift, wenn keine andere Lade-/Entladevorgabe für das ESS besteht.
Das ist ja das komische, dass das sehr sehr sporadisch passiert, ich hab jetzt mal die Controller angelegt, aber bei ess2 bekomme ich aktuell noch:
_componentManager[Defective:ctrlEssSurplusFeedToGrid2[Unsatisfied reference for ess ((&(enabled=true)(!(service.pid=Controller.Ess.Hybrid.Surplus-Feed-To-Grid.bf58ee24-f3db-48c3-82a4-b40955ae8fe4))(|(id=ess2))))]|State:FAULT: A configured OpenEMS Component was not activated]
Ich weiss schön langsam selbst als “OpenEMS-Mittelklasse-Programmierer” nicht mehr weiter..