Habe ein komisches Verhalten bei einem ESS-Cluster, oder ich verstehe es einfach nicht wie man es richtig konfiguriert oder wie man es konfigurieren sollte.
Mein Wunsch wäre ja dass beide Speicher gleichmäßig Entladen und auch bei Sonne wieder laden. Verluste sind für mich da eher zweitrangig.
Habe mittlerweile den Fronius Gen24 steuerbar eingebunden als ESS2. Dieser liegt als Komponente als Managed Symmetric ESS vor.
Der Alte Sunny Island ist ESS1.
Und die beiden sind über den ESS Cluster miteinander verbunden.
meter0 sitzt am Netzanschlusspunkt. Zähler für die Lasten gibt es keinen.
Leider führt diese Einstellung nicht zum gewünschten Effekt. Werd da auch nicht schlau draus welche Strategie zu was führen soll.
Hab heut morgen alles mal durchprobiert. Was das Ergebnis war ist, dass der Fronius auf volle 9,2kw Ladeleistung hochregelt. habs dann nach 10Prozent anstieg vom SOC beendet.
Der PID ändert nur die Geschwindigkeit bis der Fronius dann auf Anschlag läuft.
Könnt es sein dass dem Controller irgendwelche infos Fehlen dass es zu solch einer Reaktion kommt? Bzw Welche brauchen diese Solver denn?
Nach meinem Verständnis sollte Optimize_BY_KEEPING_ALL_EQUAL zum gewünschten Ergebnis einer gleichmäßigen Ladung/Entladung führen.
Das einzige Szenario wo die Entladung beider Speicher wirklich funktioniert ist wenn es zu großen Lastwechseln kommt. Also wenn als bsp der Herd 2kw zieht dann wird die Last auch geteilt auf 1,4kw und 0,7kw.
Auszug aus dem Log:
Also es Scheint mal zu arbeiten nur halt leider nicht wie gewünscht.
Channel SET_ACTIVE_POWER2 value: null
6.1.2025, 22:21:16
INFO
io.openems.edge.ess.fronius.ess.FroniusEssImpl
Channel SET_ACTIVE_POWER value: 1
6.1.2025, 22:21:16
INFO
io.openems.edge.ess.fronius.ess.FroniusEssImpl
applyPower(int activePower, int reactivePower) called with activePower=-194, reactivePower=0
6.1.2025, 22:21:16
INFO
io.openems.edge.ess.core.power.Solver
Channel [SetActivePowerEquals]+ess0P EQUALS -388
6.1.2025, 22:21:16
INFO
io.openems.edge.ess.core.power.Solver
Currently active EQUALS constraints
6.1.2025, 22:21:16
INFO
io.openems.edge.controller.debuglog.ControllerDebugLogImpl
[ctrlDebugLog0] _sum[State:Ok Ess SoC:49 %|L:921 W Grid:-286 W Production:1 W Consumption:636 W] charger0[PV Production Power: 1 W] ctrlEssTimeOfUseTariff0[BALANCING|No Schedule available] ess1[SoC:36 %|L:920 W|Allowed:-18000;18000 W|On-Grid] ess2[SoC:100 %|L:1 W|Allowed:-9200;9200 W|On-Grid/10000 VA] meter0[L:-286 W] timeOfUseTariff0[Price:0.0999 EUR/kWh]
Vielleicht hat noch wer eine Idee wie ich da auf den Fehler drauf komme, oder obs keiner ist und ich das nur falsch verstehe.
oder ist das das Problem dass da bei Konfiguration binding ein Fragezeichen steht?
Nachtrag:
Habe gestern noch ein bisschen Ursachenforschung betrieben. Habe dabei auch den Modbus Parallel zu Openems ausgelesen. Also das was Openems dem Fronius als Befehle schickt und für mich siehts so aus, als wenn der Fronius wirklich das macht was er als vorgabe bekommt. Vorallem dann wenn er lädt steht auch wirklich in den Registern dazu passende Werte.
Konstante last von ca 700w im Haus ohne Laständerung. Haus war komplett aus nur der Server und ein Heizlüfter waren an.
Openems ein mit ESS-Cluster aktiv.
Der Sunny Island hat dann als Befehl 900w bekommen. Und der Fronius hat als vorgabe -200 bekommen.
Zum Zeitpunkt des Tests waren beide Ess bei 50Prozent SOC, hab die da händisch hingeladen und damit openems es nicht mitbekommt war zur dem Zeitpunkt der Server aus.
es ist leider schwer nachvollziehbar, woran es konkret scheitert. Finde ich irgendwo den vollständigen Quellcode und die Konfiguration (/etc/openems.d), die gerade läuft?
Wir nutzen den Cluster in vielen Systemen produktiv, d.h. wenn man alles richtig macht, funktioniert es eigentlich auch…
Zum Testen wäre ggf. auch noch nützlich alle Controller auszuschalten und nur einen Fix Active Power Controller auf den Cluster (vermutlich ess0) wirken zu lassen. Dann hat man weniger Werte, die sich ständig verändern. Alternativ kannst du auch einmal mit dem Fix Active Power Controller Werte jeweils nur für einen Wechselrichter/Speicher vorgeben um zu schauen, ob dieser die Werte einwandfrei übernimmt.
Habe gerade alle Controller gelöscht die unnötig waren und noch ESS0-2, ESS-Cluster und Fix Active Power am laufen gehabt.
Mit FixActivePower auf 6kw lädt der Sunny Island mit 40kwh Speicher mit 2,1kw und der Fronius mit 10kwh Speicher mit 3,1kw was dann am Netzanschlusspunkt genau 6kw ergibt.
Wenn das System nur aus Ess1 oder Ess2 mit dem Balancing controller besteht ohne ESS Cluster dann wird der Speicher auch tadellos gesteuert.also Netzanschlusspunkt ziemlich gut auf 0w.
Quellcode des SunnyIsland ist der unveränderte aus dem Repo.
hab jetzt endlich mal Zeit gefunden, die gewünschte Konfig, also alles was testweise geändert wurde in Github hochzuladen.
Entschuldigt dass das noch nicht sehr sauber programmiert ist, lerne diese Programmiersprache gerade seit ich mit OpenEms begonnen hab von Grund auf.
Damit eventuell nicht alles durchgesehen werden muss die Änderungen in Kurzform:
SMA: Diverse Werte als Fixwerte vorgegeben, da diese beim Sunny Island 8.0h-11 nicht per modbus übertragen werden.
Fronius ist Mischung aus HTTP Abfrage und Steuerung per Modbus.
Interessant an der Thematik ist zudem wenn der PID Regler von ESS_Power auf aus steht werden beide Speicher einigermaßen gleich geregelt, wenn auch nicht auf 0 des Netzanschlusses. Da wird dann immer auf irgendeinen Wert hin geregelt, wo ich noch nicht weiss wo der herkommt.
Wäre mir auch ein Anliegen das gelöst zu bekommen sonst wird’s leider ziemlich teuer beim Netzbetreiber, Thema Zukauf Leistung am Netzanschluss.
das lese ich zum wiederholten male. müsste ich wohl mal mit dem Amperemeter kontrollieren ob ein Lastwechsel sofort passiert. lt anzeige Zähler ist die Ausregelung zum mindest im Cycle fertig und es funktioniert ja wenn ich die jeweiligen ESS standalone betreibe.
Was aber sicher einen Einfluss drauf hat ist der geänderte Länderdatensatz. (andere Regelgeschwindigkeit)
Hättest du eine Idee wie ich das verifizieren könnte ob es sich um das selbe Problem handelt?
Zumindest Reagiert der Fronius schneller als der Sonny Island.