Neuer Optimizer/Logik für mehrere Hybrid ESSes

Hallo zusammen,
hallo @stefan.feilmeier ,

wie würde ich vorgehen müssen, wenn ich einen neuen Optimizer für 3 ESS ezu erstellen? Aktuell erhalte ich da echt total komische Verhalten, manchmal entlädt er, manchmal belädt er, manchmal belädt er nicht, manchmal “vollgas” manchmal gar nicht.

Ich komme da echt nicht weiter..

Kann mir da jemand helfen bzw. will jemand eventuell zusammen an so einer Lösung arbeiten?

Grüße !

Hallo @Sn0w3y,

mit dem neuesten Backport gibt es eine neue Strategy:

Vielleicht kannst du dir da etwas abschauen. Für deine Anforderung, einen Hybrid-Wechselrichter optimal zu unterstützen, wirst du aber auch am internen Unterbau einiges ändern müssen, weil du irgendwo die DC-Erzeugungsleistung mit übergeben musst.

Gruß,
Stefan

1 Like

Hallo Stefan,

ich bin mittlerweile von den 3 ESS weggegangen und habe nun “nur” noch 2.

2x GoodWe:

1x GoodWe Ess
1x GoodWe BatteryInverter und Fenecon Home 10 (klassische Fenecon config)

Wie meinst du könnte ich das am besten Umsetzen? Auch trotzdem im Solver?

Grüße !

Ja, du müsstest das trotzdem im Solver machen. Dort findet die Leistungsverteilung statt, bevor applyPower() aufgerufen wird.

Du kannst aber natürlich mal mit etwas hard-gecodetem anfangen, wenn du deine Umgebung genau kennst. Das kann ich dann aber leider nicht in OpenEMS aufnehmen, weil es nicht generisch genug wäre.

Also ich würde mich da ggf. beteiligen. Ich bekommen meinen 2. Hybrid Wechselrichter in den kommenden Wochen. Die Implementierung für OpenEMS habe ich bereits abgeschlossen.

Sollte ich mit diesen Systemen ähnliche Probleme haben, würde ein DC-optimierter Optimizer Sinn machen und ich würde mich hier durchaus beteiligen wollen. Dazu müsste ich mich aber intensiver nochmal mit der Struktur von den Optimizern auseinandersetzen, da ich da noch nicht so ganz durchsteige, wie letztlich die gewünschte Leistung verteilt wird.

Bis dahin ist es ja relativ klar:

Bei Discharge: Schauen, wieviel AC-Leistung gewünscht wird, dann:

  1. Erstmal die Leistung aus allen vorhandenen PV-Strings auf die Hybrid WR verteilen
  2. Sollte das nicht reichen: Batterien entsprechend entladen, wobei hier auch aus Effizienzgründen versucht werden sollte, nur einen Hybrid WR (bzw. so wenig wie möglich) für die Entladung zu nutzen. Das ist ja in den bisherigen Implementierungen ja auch bereits vorhanden.

Bei Charge: Schauen, wieviel AC-Leistung gewünscht wird, dann:

  1. Erstmal versuchen die Ladung auf der DC-Seite aller Hybrid-WR zu verteilen, um unnötige Verluste durch AC/DC-Wandlung zu vermeiden
  2. Sollte das nicht reichen, zusätzlich AC Ladung vorgeben, wobei auch hier versucht werden sollte, nur einen Hybrid WR (bzw. so wenig wie möglich) für die Ladung zu nutzen.

Hallo Mr T,

genau das wäre mein Ansatz.. Da ich leider “zu dumm” bin, einen Optimizer zu schreiben, der das abdeckt, habe ich nun die “Keep All Near Equal” genommen und einen eigenen PID in den Controller Balancing eingebaut.. Eventuell kannst du da mal anfangen und wir arbeiten dann zusammen ? :slight_smile:

Wenn ich eine “Outline” des Codes sehe, dann verstehe ich es auch meistens besser :smiley:

Grüße !

Hab jetzt mal ne Zeit lang den “KEEP_ALL_NEAR_EQUAL” ausprobiert:


Hi ,
How is this Keep_all_nearly_strategy working,

The Keep All Near Equals strategy essentially tries to select all the inverters during distribution, with the main goal of gradually balancing the SoC across multiple ESS units. It’s essentially a SoC-optimized approach.

On the other hand, for DC-optimized operation, is the main strategy to minimize the number of active inverters to reduce unnecessary DC-AC conversion losses across all inverters — considering inverter efficiency?

If yes , what is the logic to get the best efficient inverter ?
or simple round robin strategy to select the inverter is it ?

thanks,
pooran

1 Like

For the DC optimized approach, you should minimize the number of used invertes for AC/DC conversion to get the best efficiency.

The pv power on the DC-side can be used to charge the battery, for this you can use multiple hybrid inverters in parallel which is good for efficency.

Therefore if we look into charge operation:

  • First try to use DC surplus power of each hybrid inverter to charge each dc connected battery
  • if there is not enough dc power to reach the target, we have to use ac power for charging. Try to minimize the number of used invertes (taking into account that each ess has constrains for maximum charge power. So if you need 8000W AC charge power and ess1 can only ac-charge with 4000W and ess2 can charge with 9000W you want to chooose ess2)

And if you look into discharge:

  • Try to minimize the number of used invertes like described above
  • But make sure to use all actual DC generated pv power of all inverters for „discharge“ before discharge from battery

For getting the best inverter selected first:
I would see this as prio 2, because if you have desgined the battery size to your needs, you will use all batteries anyway.
But to bring a priority, a selection based on alphabetic order could be the easiest approach. Then you can have the most efficient inverter as ess0, the second as ess1, and so on.
Or does anyone has a better idea?

Maybe we should consider charging based on capacity