Hallo hufnala, willkommen im OpenEMS Community Forum!
Wir arbeiten selbst auch (im Rahmen der neuer regulatorischen Möglichkeiten mit Direktvermarktung und Pauschaloption) an einer “Entladung ins Netz”-Funktion. Siehe
Feature Request: TimeOfUse controller: Discharge to grid - #16 by yvesilknievil und mein Video dazu mit Felix Goldbach: https://www.youtube.com/watch?v=-pdx44EZAuU. Es wäre toll, dich da an Board zu haben, so dass nicht jeder sein eigenes Süppchen kocht (bzw. Script schreibt). Ich weiß schon: mit Java ist das auf den ersten Blick etwas komplizierter als in Python
Die Register für Equals
, LessOrEquals
und GreaterOrEquals
gibt es, weil intern die Leistungsverteilung mit einem linearen Gleichungssystem berechnet wird. Diese Funktion verwenden wir vor allem bei unseren größeren Cluster- bzw. Industrial-Systemen.
Theoretisch müsstest du mit dem SetActivePowerGreaterOrEquals
genau das erreichen, was du möchtest, d.h. die Leistung limitieren und - wenn Verbrauch größer als Erzeugung ist - mit mehr Leistung entladen. In der Praxis könnte es sein, dass das manchmal mit dem SMART-Mode nicht funktioniert. Hintergrund ist: wir versuchen dass Wechselrichter immer dann in seinem schnellen internen Modus läuft, wenn am Netzanschlusspunkt auf Null ausgeregelt werden soll. Nur wenn wir übersteuern wollen, geben wir aktiv die Set-Points vor.
Vermutlich wäre es am besten, wenn du auch nur dann aktiv übersteuerst, wenn es notwendig ist. Und in allen anderen Zeiten nicht. Du kannst auch als Set-Point null
vorgeben um die Übersteuerung vor Ablauf des Watchdogs auszuschalten.
EDIT: Könntest du dein Script mit der Community teilen?
Gruß,
Stefan