Vue d'ensemble : entrées, protection contre la surcharge, cycle de répartition en six étapes, optimiseur en option, adaptateurs, charges. Rangs et domaines : une seule liste pour le moteur ; les domaines ne servent qu'à l'affichage de l'app, un chauffe-eau peut être servi en dernier. Encadré : une borne détectée arrive en fin de liste. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ry3vBrJT1tHdxAaXdCWi6L
10 KiB
Wie die Engine entscheidet
COMMUNITY
Die Energie-Engine der Box steuert Ihre Verbraucher selbstständig: Wallboxen, Warmwasserbereiter, SG-Ready-Wärmepumpe, Relais. Sie ist frei (GPL-3.0) und entscheidet in der Community-Version. Diese Seite beschreibt ihre Logik für Installateure und Integratoren; die folgenden Seiten erläutern die einzelnen Funktionen.
Überblick
flowchart TB
CPT["Netzanschlusszähler<br/>Strom je Phase, Einspeisung, Bezug"]
BAT["Batterie<br/>Ladezustand"]
APP["App<br/>einmalige Anforderungen"]
CFG["Einstellungen des Installateurs<br/>Ränge, Grenzen, Pflichten"]
subgraph M["Energie-Engine, auf der Box"]
PROT["Überlastschutz<br/>bei jeder Messung, vorrangig"]
subgraph C["Verteilungszyklus, jede Minute"]
C1["1. Messung und Bezugsspielraum"] --> C2["2. Ladefristen"]
C2 --> C3["3. Batteriereserve"]
C3 --> C4["4. Eco-Durchlauf<br/>einmalige Anforderungen, Pflichten"]
C4 --> C5["5. Komfort-Durchlauf<br/>Überschuss kaskadiert, nach Rang"]
C5 --> C6["6. Ein Befehl pro Verbraucher"]
end
AD["Adapter<br/>Grenzen und Sperren jedes Verbrauchers"]
end
OPT["Optimierer, optional<br/>schlägt die Verteilung vor"]
VE["Wallboxen"]
ECS["Warmwasserbereiter<br/>per Relais oder regelbar"]
PAC["SG-Ready-Wärmepumpe"]
REL["Relais"]
CPT --> PROT
CPT --> C1
BAT --> C3
APP --> C4
CFG --> C
OPT -. "Plan" .-> C6
C6 --> AD
PROT --> AD
AD --> VE & ECS & PAC & REL
Überlastschutz und Adapter bleiben in jedem Fall bei der Engine: Ein Optimierer schlägt, falls angeschlossen, nur die Verteilung vor.
Zwei Schleifen, zwei Prioritäten
Die Engine trennt Sicherheit und Verteilung. Es sind zwei getrennte Schleifen, mit unterschiedlichem Takt und unterschiedlicher Priorität.
- Der Überlastschutz, bei jeder Messung. Sobald sich die gemessene Bilanz ändert, liest die Engine den Strom jeder Phase am Netzanschlusszähler. Überschreitet eine Phase die eingestellte Grenze, senkt sie sofort den Ladestrom der Wallboxen und gibt ihn wieder frei, sobald genug Reserve da ist. Die übrigen Verbraucher (Warmwasserbereiter, Wärmepumpe, Relais) werden zu Beginn des nächsten Zyklus abgeworfen (Lastabwurf). Dieser Schutz hat Vorrang vor jeder Verteilungsentscheidung.
- Der Verteilungszyklus, jede Minute. Er verteilt die verfügbare Leistung auf die Verbraucher, auf Basis der Minutenmessung der elektrischen Bilanz, und läuft sofort erneut, wenn Sie eine Einstellung ändern. Nur hier greift eine Strategie ein: die eingebauten Regeln oder, falls angeschlossen, ein Optimierer.
Schweigt der Netzanschlusszähler (mehr als 90 s ohne Messwert), setzt die Engine die Verteilung aus und bringt die Verbraucher in eine sichere Stellung: regelbare Verbraucher auf 0 W, Relais offen, Wärmepumpe im Normalbetrieb, bereits ladende Wallboxen auf Mindeststrom, kein neuer Verbraucher wird gestartet. Der Überlastschutz bleibt aktiv. Die Verteilung setzt im Zyklus nach der Rückkehr des Zählers wieder ein.
Die Regeln, in ihrer Reihenfolge
In jedem Zyklus durchläuft die Engine dieselben Schritte, in derselben Reihenfolge.
- Messen. Ausgangspunkt ist der Messwert des Netzanschlusszählers (Einspeisung und Bezug). Daraus leitet die Engine auch den Bezugsspielraum ab: was die Anlage noch aus dem Netz beziehen kann, ohne die Phasengrenze zu überschreiten. Kein Netzbezug, gleich aus welchem Grund, geht darüber hinaus.
- Ladefristen bedienen. Ein Fahrzeug, das bis zu einer bestimmten Uhrzeit geladen sein muss, wird aus dem Netz bedient, außerhalb der Überschussverteilung.
- Die Batterie schützen. Liegt ein Hausspeicher unter seiner Reserveschwelle, geht der Überschuss zuerst an ihn: Die gesteuerten Verbraucher erhalten nichts davon. Oberhalb der Schwelle zählt, was er aufnimmt, als verfügbarer Überschuss. Seine Entladung wird nie als Überschuss gezählt.
- Zugesicherte Bedarfe („Eco“-Durchlauf). Zuerst die einmaligen Anforderungen aus der App („jetzt heizen“): Der Verbraucher erhält seine volle Leistung, unabhängig von seinem Rang. Danach die täglichen Pflichten, etwa eine Mindestenergie für den Warmwasserbereiter bis zu einer bestimmten Uhrzeit: Die Engine kauft das Fehlende aus dem Netz, gleichmäßig bis zur Frist verteilt, und schaltet auf volle Leistung, wenn nur noch die gerade nötige Zeit bleibt. Diese Bezüge bleiben im Bezugsspielraum.
- Den Überschuss kaskadiert verteilen („Komfort“-Durchlauf). Die Verbraucher werden
in der von Ihnen festgelegten Priorität bedient (1 = zuerst). Jeder erhält, was vom
Budget übrig ist, innerhalb seiner Grenzen, und das Budget wird entsprechend
verringert. Es gibt ein einziges Budget: Ohne es sähen drei Manager jeweils „2 kW
Überschuss“ und zögen zusammen 6. Der Reihe nach, für jeden Verbraucher:
- was er bereits aufnimmt, wird ihm gutgeschrieben: Ein laufender Verbraucher wird nicht gegen sich selbst gerechnet;
- unterhalb seiner Mindestleistung bleibt er aus, statt halb zu laufen, und das Budget geht an den nächsten. Eine Wallbox kann dennoch mit einem kleinen Zuschuss aus dem Netz starten, innerhalb der eingestellten Toleranz;
- ein gesperrter Verbraucher (Mindestlauf- oder Mindeststillstandszeit, Wartezeit zwischen zwei Änderungen) behält seine aktuelle Leistung;
- ein nicht verfügbarer Verbraucher behält seine aktuelle Leistung, ohne neuen Sollwert; sein Verbrauch wird weiter gezählt.
- Ein Befehl pro Verbraucher. Zugesicherter Bedarf und Überschussanteil desselben Verbrauchers werden zusammengeführt: Jeder Verbraucher erhält einen einzigen Sollwert, mit seinem Grund.
Ränge und Domänen
Die Engine kennt nur eine einzige Liste: Jeder Verbraucher hat einen Rang, über alle Kategorien hinweg, und die Kaskade folgt diesem Rang. Die Domäne eines Verbrauchers (Elektrofahrzeug, Warmwasser, Klimatisierung, Heizung, Batterie) ist ein vom Installateur gewähltes Etikett: Die Engine liest es nicht, um zu entscheiden.
Die App nutzt es, um die Bedienreihenfolge nach Domänen darzustellen: Man ordnet die Domänen untereinander, dann die Verbraucher innerhalb jeder Domäne. Bei der Inbetriebnahme schlägt sie vor: Elektrofahrzeug, Warmwasser, Klimatisierung, Heizung. Da alles auf der einen Liste beruht, müssen die Verbraucher einer Domäne nicht aufeinanderfolgen: Ein Zusatz-Warmwasserbereiter kann ganz zuletzt bedient werden, nach der Heizung, und eine Wallbox kann vor dem Warmwasser kommen, eine andere danach.
flowchart LR
subgraph AV["Vorgeschlagene Reihenfolge"]
direction TB
a1["1 · Wallbox Garage"] --> a2["2 · Wallbox Gäste"] --> a3["3 · Warmwasser Haupt"] --> a4["4 · Warmwasser Zusatz"] --> a5["5 · Wärmepumpe"]
end
subgraph AP["Nach der Einstellung"]
direction TB
b1["1 · Wallbox Garage"] --> b2["2 · Warmwasser Haupt"] --> b3["3 · Wallbox Gäste"] --> b4["4 · Wärmepumpe"] --> b5["5 · Warmwasser Zusatz"]
end
AV ==>|"nur Ränge ändern sich"| AP
classDef ev stroke:#3b82f6,stroke-width:3px
classDef ecs stroke:#ef4444,stroke-width:3px
classDef chauf stroke:#f59e0b,stroke-width:3px
class a1,a2,b1,b3 ev
class a3,a4,b2,b5 ecs
class a5,b4 chauf
Blauer Rand: Elektrofahrzeug · rot: Warmwasser · orange: Heizung.
!!! tip "Ränge bei der Inbetriebnahme festlegen" Eine erkannte Wallbox wird automatisch ans Ende der Liste gesetzt, unabhängig von ihrer Domäne. Zwei Verbraucher mit gleichem Rang werden über ihre Kennung getrennt – das hat niemand so gewählt. Legen Sie die Reihenfolge bei der Inbetriebnahme in der App fest.
Die Grenzen jedes Verbrauchers
Jeder Verbraucher hat vom Installateur eingetragene Grenzen, die jede Entscheidung einhält, gleich welche Strategie:
- eine Unter- und eine Obergrenze der Leistung. Bei einer Wallbox sind sie als Strom angegeben (mal Anzahl der Phasen), und die Obergrenze wird zusätzlich durch die Phasengrenze beschränkt;
- Sperren gegen Takten: Mindestlauf- und Mindeststillstandszeit, Wartezeit zwischen zwei Änderungen. Eine Wallbox hat eigene (Wartezeit zwischen Ein und Aus, Wartezeit zwischen zwei Stromänderungen);
- bei einer SG-Ready-Wärmepumpe: der Zustand wird nach der geschätzten Leistung jedes Zustands gewählt, mit Hysterese und Mindesthaltedauer. Der Sperrzustand wird nie durch den Überschuss ausgelöst.
Der Grund jeder Entscheidung
Die Engine trifft keine Entscheidung, ohne ihren Grund zu nennen. Jede Entscheidung trägt
einen nicht leeren Grund (decisionReason): einen stabilen Code mit Parametern, den
die App in Ihrer Sprache anzeigt — „Überschuss reicht nicht“, „unter der
Mindestleistung“, „Ladefrist“… Die Liste der Codes ist mit dem
Optimierer-Protokoll veröffentlicht.
Die Messung, nie das Ergebnis der Steuerung
Der Überschuss wird aus der Rohmessung des Netzanschlusszählers berechnet, so wie sie gemessen wird. Nie aus einer nach der Steuerung neu berechneten Bilanz: Die Engine würde sich selbst lesen und schwingen.
Ohne Internet
All das läuft auf der Box. Ohne Internet steuert die Engine, wendet die Sicherheit an und antwortet der App in Ihrem lokalen Netz. Nur die PV-Prognose setzt aus. In der Community-Version fließen weder die Prognose noch der eingegebene Tarif in die Entscheidungen der Regeln ein: Beide werden angezeigt und gespeichert, aber nie zum Entscheiden verwendet.
Und ein Optimierer?
Ein Optimierer kann anhand der Prognosen einen Plan über mehrere Stunden vorschlagen. Er ersetzt den Verteilungsschritt, nie den Überlastschutz oder die Grenzen. Siehe Abschnitt Optimierer.