Die Laderegeln des cFos Charging Manager funktionieren wie kleine Programme. Wenn der cFos Charging Manager Laderegeln abarbeitet, nimmt er als "Regel-Wert" einen Startwert und geht dann alle Laderegeln von oben nach unten durch. Er prüft für jede Regel die Bedingung und führt, falls diese erfüllt ist, die jeweilige Aktion aus. Dies geschieht solange bis entweder das Ende der Laderegeln erreicht ist oder bei einer erfüllten Bedingung bei der Aktion die Option "Beenden" gesetzt ist. Der bis dahin ermittelte Regel-Wert wird dann zurückgeliefert. Bei Wallboxen bestimmten die Laderegeln auf diese Weise den Ladestrom pro Phase im mA und bei Batteriespeichern die Lade- bzw. Entladeleistung in W.
Bei Laderegln für Wallboxen ist der Startwert 0, d.h. wenn keine Regel erfüllt ist, wird das Laden pausiert. Bei Batteriespeichern ist der Startwert die maximale Lade- bzw. Entladeleistung, d.h. wenn keine Laderegel erfüllt ist, ist die maximale Lade- bzw. Entladeleistung, die die in den Batteriesteuerungsoptionen des cFos Charging Managers eingestellt ist.
Kombination aus PV-Überschuss und normalen Laderegeln: Bei Laderegeln für Wallboxen gibt es eine Option "PV-Überschuss". In jedem Zyklus prüft der cFos Charging Manager zunächst ob für Wallboxen Laderegeln mit Option "PV-Überschuss" gesetzt ist. Alle Wallboxen, deren Laderegel(n) mit dieser Option einen Wert >= 0 liefern, werden zuerst betrachtet und deren Ladestrom als Überschuss markiert. Danach werden alle Wallboxen mit Laderegeln ohne Option "PV-Überschuss" betrachtet. Das bedeutet, Wallboxen, die PV-Überschuss laden wollen, werden bevorzugt behandelt. Hinweis: Liefern die Laderegeln mit Option "PV-Überschuss" einer Wallbox -1 zurück, nimmt diese Wallbox nicht am PV-Überschuss teil. Dann wendet der Charging Manager im Anschluss Laderegeln für normales Laden an.
D.h. wenn man z.B. eine Laderegel mit PV-Überschuss und hilfsweise, falls die ganze Zeit nicht genug Überschuss vorhanden ist, eine normale Laderegel erstellen möchte, geht man wie folgt vor:
1. Regel: Bedingung PV-Überschuss und Aktion "Überschuss liefern" ("PV-Überschuss" angehakt und "Beenden" angehakt)
2. Regel: Bedingung "immer", Aktion: "Wert liefern", -1 ("PV-Überschuss" angehakt und "Beenden" angehakt)
3. Regel: z.B. eine zeitliche oder preisgesteuerte Regel ("PV-Überschuss" NICHT angehakt).
Ab Version 2.3.x: Um kombinierte PV-Überschuss und normale Laderegeln zu erleichtern, kann man diese jetzt kombinieren. Nachdem also PV-Überschuss Laderegeln abgearbeitet wurden, wertet der cFos Charging Manager jetzt auch normale Laderegeln (also ohne angehaktes "PV-Überschuss") aus. Diese überschreiben den durch die PV-Überschuss Regeln ermittelten Stromwert. Damit normale Laderegeln auf den bisher ermittelten Stromwert zugreifen können, gibt es die Variablen lb_cur_l1, lb_cur_l2, lb_cur_l3 and lb_cur (ermittelter Werte der gerade betrachteten Phase). Wenn Sie z.B. unabhängig vom aktuellen PV-Überschuss immer mit einem bestimmten Mindeststrom laden wollen (und diesen ggf. aus dem Netz ziehen), können Sie bei einer normalen Laderegel als Rückgabewert max(10000, lb_cur) angeben. Dann wird immer mit mindestens 10 A geladen.
Hinweis zur automatischen Phasenumschaltung: Wird die Wallbox anhand von Laderegeln als Überschussladen eingestuft, prüft die automatische Phasenumschaltung, ob für die Phasen genügend Überschuss vorhanden ist. Andernfalls prüft die Phasenumschaltung, ob auf den jeweiligen Phasen insgesamt genügend Strom zur Verfügung steht (normales Lastmanagement). Wenn man also erst PV-Überschuss versuchen möchte und wenn nicht vorhanden, normale Laderegeln, muss man mit einer extra Laderegel, die -1 zurückliefert, dem Charging Manager sagen, dass diese Wallbox (doch) nicht als Überschussladen betrachtet werden soll.
Berechnung des Überschuss: Ist die Option "PV-Überschuss" aktiviert, wird bei der Bedingung "PV-Überschuss >= Ausdruck" betrachtet, ob der Überschuss geteilt durch die vorhergesagten ladenden Phasen groß genug ist, damit die Bedingung erfüllt ist. Ist die Option "PV-Überschuss" nicht aktiv, wird geprüft ob auf der jeweiligen Phase der Überschuss >= Ausdruck ist. Gleiches gilt für die Bedingungen "Netzbezug", "Netzeinspeisung" und "Solarstrom". Hier wird bei aktiver Option "PV-Überschuss" die Summe der Ströme geteilt durch die vorhergesagte Anzahl ladender Phasen gegen den Ausdruck geprüft, während bei nicht aktiver Option der Strom der jeweiligen Phase geprüft wird. Bei den Aktionen wird als Wert bei aktiver Option "PV-Überschuss" bei "Überschuss liefern", "Solarstrom liefern", "Netzbezug liefern" und "Einspeisung liefern" die Summe der Ströme aller Phasen geteilt durch die vorhergesagten ladenden Phasen geliefert, während bei nicht aktiver Option der Strom der jeweiligen Phase geliefert wird. Kurzum: Für den üblichen Fall des PV-Überschuss-Ladens empfiehlt sich die Option zu aktivieren. Ist die Option nicht aktiv, liegt der Fokus auf Lastmanagement, d.h. der cFos Charging Manager betrachtet alle drei Phasen getrennt.
ID: Eine frei wählbare Nummer. Näheres s. unten.
Regel aktiv: Nicht aktive Regeln werden ignoriert.
Wochentage: Hiermit lässt sich einstellen, an welchen Tagen die Regel beachtet und an welchen sie ignoriert werden soll
PV-Überschuss: Bei Laderegeln für Wallboxen prüft der Charging Manager immer zuerst, ob Laderegeln für PV-Überschuss aktiv sind. Diese bestimmen dann den Ladestrom pro Phase. Danach werden alle Laderegeln von oben nach unten abgearbeitet, deren Option "PV-Überschuss" nicht gesetzt ist.
Aufladen bzw. Entladen: Bei Laderegeln für Batteriespeicher arbeitet der Charging Manager alle Laderegeln mit Option "Aufladen" und alle Laderegeln mit Option "Entladen" unabhängig voneinander ab und bestimmt so die aktuelle Lade- bzw. Entladeleistung.
Jede Laderegel verfügt über eine Bedingung und eine Aktion. Nur wenn die Bedingung erfüllt ist, wird die Aktion ausgeführt. Eine Aktion kann zusätzlich die Option "Beenden" aktiviert haben. In diesem Fall wird das Abarbeiten der Laderegeln nach Ausführen der Aktion beendet und der aktuelle Regelwert zurückgeliefert. Ist "Beenden" nicht gesetzt, fährt der Charging Manager mit der nächsten Laderegel fort. Kommt er ans Ende der Liste, liefert er ebenfalls den aktuellen Regelwert zurück.
Alle Bedingungen enthalten die Option "Nicht". Ist diese gesetzt, wird die Aktion ausgeführt, wenn die Bedingung nicht erfüllt ist. Andernfalls wird die Aktion ausgeführt, wenn die Bedingung erfüllt ist.
Einige Bedingungen haben die Option "Regel weiter ausführen ohne erfüllte Bedingung". Hier können Sie eine Zeit in Sekunden angeben. Ist die Bedingung erfüllt, darf sie danach x Sekunden lang nicht erfüllt sein und es wird trotzdem die Aktion ausgeführt. Wenn beispielsweise die der minimale PV-Überschuss erreicht ist, darf er danach für x Sekunden unterschritten werden und die Aktion wird trotzdem ausgeführt.
Uhrzeit: Die Bedingung ist innerhalb von der angegebenen Uhrzeit erfüllt, außerhalb nicht. Damit können Sie zu bestimmten Zeiten laden.
PV-Überschuss: Die Bedingung ist erfüllt, wenn der PV-Überschuss pro Phase (bei Laderegeln für Autos) bzw. der PV-Überschuss über alle Phasen in Watt (bei Batteriespeichern) größer (oder gleich) ist als der vorgegebene Wert oder die Formel.
Preis: Die Bedingung ist erfüllt, wenn der aktuelle Bezugspreis in Cent pro kWh kleiner (oder gleich) ist als der vorgegebene Wert oder die Formel.
Preis-Level: Die Bedingung ist erfüllt, wenn das aktuelle Preis-Level kleiner (oder gleich) ist als der vorgegebene Wert oder die Formel.
SoC: Die Bedingung ist erfüllt, wenn der Ladestand (state of charge) des Autos (sofern der cFos Charging Manager diesen Wert kennt) oder des Batteriespeichers größer (oder gleich) ist als der vorgegebene Wert oder die Formel.
Anzahl ladender Autos: Die Bedingung ist erfüllt, wenn die Anzahl ladender Autos größer (oder gleich) ist als der vorgegebene Wert oder die Formel.
Netzbezug: Die Bedingung ist erfüllt, wenn der Netzbezug (bei Laderegeln für Autos pro Phase, bei Laderegeln für Batteriespeicher in Watt über alle Phasen) größer (oder gleich) ist als der vorgegebene Wert oder die Formel.
Netzeinspeisung: Die Bedingung ist erfüllt, wenn die Netzeinspeisung (bei Laderegeln für Autos pro Phase, bei Laderegeln für Batteriespeicher in Watt über alle Phasen) größer (oder gleich) ist als der vorgegebene Wert oder die Formel.
Solarstrom: Die Bedingung ist erfüllt, wenn der erzeugte Strom pro Phase (bei Laderegeln für Autos) bzw. die erzeugte Leistung über alle Phasen (bei Batteriespeicher) größer (oder gleich) ist als der vorgegebene Wert oder die Formel.
Input aktiv: Die Bedingung ist erfüllt, wenn der Input mit der angegebenen Nummer des Geräts mit der angegebenen Geräte-ID (E1, E2, ... für Wallboxen, M1, M2, ... für Zähler) aktiv ist. Nummern zählen ab 0. Auf diese Weise können Sie Laderegeln in Verbindung mit Schalteingängen verwenden. Die cFos Power Brain Wallbox verfügt z.B. über 2 S0-Eingänge. Um diese zu verwenden, können Sie im cFos Charging Manager einen cFos Power Brain S0-Zähler als Gerät mit Rolle "Anzeige" einrichten. Angenommen dieser Zähler hat die Geräte ID M1, dann können Sie den S0-1 Eingang mittels Geräte ID M1 und Input Nummer 1 ansprechen. Hinweise zur Verkabelung der S0-Eingänge am cFos Power Brain finden Sie auf unserer Seite über die S0-Eingänge / S0-Zähler und Modbus-Zähler. Wenn Sie beispielsweise den Ladestrom mittels externem Schalter steuern möchten, oder nach Vorgaben des Energieversorgers einen Rundsteuerempfänger einsetzen, der ein Relais schaltet, können Sie Laderegeln mit Input verwenden. Sie können so ebenfalls eine Laderegel für PV-Überschuss mittels Input aktiv schalten.
Umweltverträglich: Hier kann man die maximal gewünschte Verzögerung des Ladevorgangs und die voraussichtliche Ladezeit angeben. Die Bedingung gilt als erfüllt (und bleibt erfüllt) sobald der cFos Charging Manager einen möglichst umweltverträglichen und netzdienlichen Startzeitpunkt errechnet hat und dieser erreicht ist. Siehe hierzu Umweltverträgliches Laden.
Formel: Die Bedingung ist erfüllt, wenn der Wert der Formel > 0 ist (Fließkommawerte). Siehe Formeln.
Immer: Die Bedingung ist immer erfüllt.
Aktionen werden ausgeführt, wenn die Bedingung der Laderegel erfüllt ist (oder die Option "Nicht" gesetzt ist und die Bedingung nicht erfüllt ist).
Auf Wert/Formel setzen: Der aktuelle Regelwert wird auf den vorgegebenen Wert oder die Formel gesetzt.
PV-Überschuss liefern / Solarstrom liefern / Netzbezug liefern / Einspeisung liefern: Der aktuelle Regelwert wird auf den entsprechenden Wert gesetzt. Bei Laderegeln für Speicher die Leistung in Watt über alle Phasen. Bei Laderegeln für Wallboxen ist das im normalen Laden der Strom pro Phase, beim Überschussladen (Option "PV-Überschuss" ist gesetzt) die Summe der Ströme über alle Phasen, geteilt durch die Anzahl (vorhergesagter bzw. tatsächlich) zum Laden genutzter Phasen. Zusätzlich kann der Wert noch mit einem Faktor multipliziert werden, der standardmäßig 1 ist. Die können Sie nutzen, um z.B. einen Batteriespeicher mittels einer Regelung dazu zu bringen, Netzbezug bzw. Einspeisung zu vermeiden. Die Aufladeregel des Batteriespeichers würde den Speicher mit dem Netzbezug aufladen. Da jedoch Messungenauigkeiten bei der Ermittlung des Netzbezugs existieren, wird man als Laderegel für den Speicher den Netzbezug mal einem Faktor nahe 1 verwenden.
Variable setzen: Die angegebene Variable wird auf einen Wert oder Formel gesetzt. Sie können als Namen Charging Manager Variablen angeben oder benutzerdefinierte Variablen von Geräten. Charging Manager Variablen beginnen mit "CM.", Variablen von Geräten haben eine Geräte ID und den Namen der Variablen (also z.B. E1.x).
Es gibt zusätzlich noch folgende Variablen:
Variable triggern / re-triggern: Die angegebene Variable wird auf 1 gesetzt. Namensgebung funktioniert, wie bei 'Variable setzen'. Als Dauer können Sie eine Formel oder festen Wert in Sekunden angeben. Trigger bedeutet, dass die Variable nach Ablauf der Dauer wieder auf 0 setzt wird (und dann ggf. neu getriggert werden kann). Re-Trigger bedeutet, dass die Dauer bei erfüllter Bedingung immer wieder von neuem losläuft. Ist die Bedingung für die Dauer nicht erfüllt, wird die Variable wieder auf 0 gesetzt.
_rule_val | Der aktuelle Regelwert. Diesen können Sie auch in Formeln abfragen. |
_rule_id | Die aktuelle Regel ID (lesen und schreiben). Bei erfüllter Bedingung und Regel ID ungleich 0, wird diese Variable automatisch gesetzt bzw. überschrieben. Sie können diese Variable aber auch per Regel mittels "_rule_id" explizit setzen, um z.B. zu veranschaulichen, welche besonders wichtige Regel abgearbeitet wurde. Die zuletzt gesetzte Regel ID wird in der Kachel des Geräts angezeigt. |
_rule_min | Normalerweise wird dieser Wert zur Umschaltung von einphasigem/dreiphasigem Laden gesetzt, wenn Sie z.B. Bedingungen mit einem Stromlimit angeben. Hier können Sie diesen Wert selbst setzen. Es wird von einphasigem Laden auf dreiphasiges umgeschaltet, wenn das Stromlimit eine Zeit lang größer (oder gleich) dem "_rule_min" war. |
_undercut | Unterschreitung auf aktiv setzen, wenn Wert größer Null (Erläuterung s. unten). |
Und: Regel mit der nächsten Regel verknüpfen. Die Bedingung der nächsten Regel wird nicht als erfüllt angesehen, wenn die Bedingung der aktuellen Regel nicht erfüllt ist (unabhängig davon ob die Bedingung der nächsten Regel tatsächlich erfüllt ist).
Oder: Regel mit der nächsten Regel verknüpfen. Die Bedingung der nächsten Regel wird als erfüllt angesehen, wenn die die Bedingung der aktuellen Regel erfüllt ist (unabhängig davon ob die Bedingung der nächsten Regel tatsächlich erfüllt ist).
Gehe zu: Der cFos Charging Manager sucht (von oben nach unten) die erste Laderegel, deren ID gleich der angegebenen ID ist und setzt die Abarbeitung der Laderegeln mit dieser fort. Findet er keine, setzt er die Abarbeitung mit der nächsten Laderegel fort. Achtung: Endlosschleifen vermeiden! Der Charging Manager bricht zwar die Abarbeitung der Laderegeln nach einer Weile ab, aber es ggf. unnötig (Rechen-)Zeit verschwendet. In Kombination mit den Bedingungen der Laderegeln können Sie mit dieser Aktion kleine Regel-Programme erstellen.
Für einige Bedingungen kann man eine Zeit in Sekunden einstellen, für die die Regel auch ohne erfüllte Bedingung weiter ausgeführt werden soll. Beispielweise können Sie eine Regel definieren, die ausgeführt wird, wenn ein Schalteingang gesetzt ist. Wenn Sie dann eine Zeit einstellen, wird diese Regel noch N Sekunden lang ausgeführt, obwohl der Input nicht mehr gesetzt ist. Beim PV-Überschussladen können Sie mittels dieser Zeit verhindern, dass das Laden durch kurzzeitige Wolken unterbrochen wird.
Der Charging Manager merkt sich in einem Flag namens "_undercut", ob für mindestens eine Regel diese "Unterschreitung" aktiv ist. Ergibt sich bei Laderegeln für Wallboxen ein Wert unter dem in der Wallbox eingestellten minimalen Ladestrom und ist das Flag "_undercut" gesetzt, gibt der cFos Charging Manager als Regelwert den minimalen Ladestrom zurück, so dass das Auto weiterhin geladen wird. Sie können mittels Laderegel das Flag "_undercut" aber auch selbst setzen bzw. löschen (s. oben).
Laderegeln werden ab Version 2.3.x zu Regelsätzen zusammengefasst. Bisherige Laderegeln befinden sich unter "Eigener Laderegelsatz". Dieser Laderegelsatz lässt sich als Datei exportieren. Beim Exportieren sollten Sie eine eindeutige ID des Regelsatz vergeben, da der Charging Manager Regelsätze nach ID verwaltet und beim importieren bestehende mit gleicher ID überschreibt. Solche Dateien mit benutzerdefinierten Laderegeln können Sie anderen Nutzern teilen. Sie können solche benutzerdefinierten Regelsätze in Ihren cFos Charging Manager laden und dann zwischen Ihren eigenen Regeln und diesen Regelsätzen umschalten. Unter Konfiguration -> Dateien können Sie solche Laderegeldateien verwalten. Sie können auch einen Regelsatz in Ihren "Eigenen Regelsatz" kopieren, um ihn dann zu verändern. Ab Version 2.3.x wird der cFos Charging Manager mit einem kleinen Sortiment an Laderegeln ausgeliefert, die ein paar häufige Wünsche unserer Nutzer abdecken. Um diese Regelsätze möglichst universell einsetzen zu können, gibt es folgende Zusatzfunktionen bei den Laderegeln:
Parameter: Als weitere Aktion können Sie einen Parameter definieren. Dieser wird über seine Regel ID adressiert und auf eine Formel oder festen Wert gesetzt. Außerdem gibt es einen Namen bzw. Hilfstext für die Bedeutung des Parameters. Im "Eigener Laderegelsatz" können Sie diesen Parameter frei konfigurieren. Wenn Sie auf diesen Parameter in einer anderen Laderegel (weiter unten im Regelsatz) in einer Formel zugreifen wollen, erhalten sie den aktuellen Wert durch "param(id)", wobei id die Laderegel ID des Parameters ist. So können Sie parametrisierbare Laderegeln erstellen, d.h. sie können den Parameter ändern, ohne weiter unten stehende Laderegeln ändern zu müssen.
In benutzerdefinierten Laderegelsätzen werden nur solche Parameter angezeigt, damit Sie nicht versehentlich die eigentlichen Laderegeln verändern. Sie können einen Parameter ändern und die Änderung speichern. So können Sie Laderegeln an Ihre Bedürfnisse anpassen.
Zeitbereich mit Formeln: Als weitere Bedingung können Sie einen Zeitbereich definieren, dessen Start- und Endminute des Tages durch eine Formel bestimmt wird. Dies ist eine flexiblere Variante der bisherigen Zeit-Bedingungen mit fester Start- und Endzeit. Insbesondere können Sie mit der neuen Bedingung für Zeitbereich in den Formeln auch auf Parameter zugreifen. Beispiel:
Regel ID 12, Parameter Wert 600
Regel ID 13, Parameter Wert 720
Zeitbereich mit Formeln, Startzeit: param(12), Endzeit: param(13)
Die Bedingung ist zwischen 10:00 Uhr und 12:00 Uhr erfüllt. Wenn Sie so eine Kombination aus Parametern und Zeitbereich mit Formeln in einem benutzerdefinierten Laderegelsatz verwenden, haben andere Nutzer die Möglichkeit den Zeitbereich bequem in ihren Parametern anzupassen.
Regelsatz umschalten: Als weitere Aktion können Sie per Laderegel auf einen anderen Regelsatz umschalten.
Um das Erstellen von Laderegeln zu erleichtern, kann man unter "Konfiguration" -> "Logging" -> Laderegeln den Loglevel auf Information stellen. Dann steht für jede ausgewertete Laderegel folgendes im Log:CR id/idx b/r: A v
id ist die eingegebene Regel-ID.
idx gibt an, welche Regel das ist (von 0 an gezählt).
b ist true, wenn die Bedingung der Regel erfüllt ist.
r ist true, wenn die Bedingung inklusive AND und OR Verfknüpfung mit anderen Regeln erfüllt ist.
A gibt die Aktion an, die ausgeführt werden soll. Je nach Aktion stehen dann noch weitere Angaben in der Zeile. Hier die Werte:
0 | Wert / Formel zurückliefern |
1 | UND |
2 | ODER |
3 | Variable setzen, log: Variablenname und Wert |
5 | Gehe zu, log: Ziel ID und idx |
7 | Variable triggern, log: Variablenname triggered oder reset |
8 | Variable re-triggern, log: Variablenname re-triggered oder reset |
10 | PV-Überschuss * Faktor liefern |
11 | Solarstrom * Faktor liefern |
12 | Netzbezug * Faktor liefern |
13 | Einspeisung * Faktor liefern |