Prose traduite pour Présentation, Protocole, Contrat, Écrire un optimiseur et la page du moteur ; ancres de titres identiques dans les trois langues. Les blocs générés sont identiques d'une langue à l'autre. Les exemples gardent un motif en français, comme l'exige le contrat. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
88 lines
4.6 KiB
Markdown
88 lines
4.6 KiB
Markdown
# Wie die Engine entscheidet
|
|
|
|
<span class="badge community">COMMUNITY</span>
|
|
|
|
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.
|
|
|
|
## Zwei Schleifen, zwei Prioritäten
|
|
|
|
Die Engine trennt Sicherheit und Verteilung. Es sind zwei getrennte Schleifen, mit
|
|
unterschiedlichem Takt und unterschiedlicher Priorität.
|
|
|
|
- **Die Sicherheitsschleife, in Echtzeit.** Bei jeder Änderung der gemessenen Bilanz liest
|
|
sie den Strom jeder Phase am Netzanschlusszähler. Überschreitet eine Phase die
|
|
eingestellte Grenze, regelt sie die Verbraucher sofort ab ([Lastabwurf](delestage.md))
|
|
und gibt wieder frei, sobald genug Reserve da ist. Sie wartet nicht auf den Zyklus und
|
|
hat Vorrang vor allem anderen.
|
|
- **Der Verteilungszyklus, etwa einmal pro Minute.** Er verteilt die verfügbare Leistung
|
|
auf die Verbraucher. Nur hier greift eine Strategie ein: die eingebauten Regeln oder,
|
|
falls angeschlossen, ein [Optimierer](../optimiseur/index.md).
|
|
|
|
Antwortet der Netzanschlusszähler nicht mehr, setzt die Engine die Verteilung aus und geht
|
|
in den Sicherheits-Rückfall: ohne Messung keine Entscheidung.
|
|
|
|
## Die Regeln, in ihrer Reihenfolge
|
|
|
|
In jedem Zyklus durchläuft die Engine dieselben Schritte, in derselben Reihenfolge.
|
|
|
|
1. **Messen.** Ausgangspunkt ist der Messwert des Netzanschlusszählers. Die Engine rechnet
|
|
hinzu, was die von ihr gesteuerten Verbraucher bereits aufnehmen: Ein laufender
|
|
Verbraucher wird nicht gegen sich selbst gerechnet.
|
|
2. **Berücksichtigen, was festliegt.** Ein gesperrter Verbraucher (Mindestlauf- oder
|
|
Mindeststillstandszeit, Wartezeit zwischen zwei Stromänderungen) behält seine
|
|
zugesagte Leistung, und sie wird vom Budget abgezogen. Ein nicht verfügbarer
|
|
Verbraucher erhält keinen Sollwert, sein Verbrauch wird aber weiter gezählt.
|
|
3. **Bedarfe mit Frist bedienen.** Eine tägliche Pflicht (etwa eine Mindestenergie für den
|
|
Warmwasserbereiter bis zu einer bestimmten Uhrzeit) oder eine einmalige Anforderung aus
|
|
der App kann, wenn die Frist naht und der Überschuss nicht gereicht hat, den Rest aus
|
|
dem Netz beziehen — sofern der Installateur das erlaubt hat.
|
|
4. **Den Überschuss kaskadiert verteilen.** 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.
|
|
5. **Abschalten, was nicht starten kann.** Unterhalb seiner Mindestleistung bleibt ein
|
|
Verbraucher aus, statt halb zu laufen.
|
|
|
|
### 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 (bzw. des Stroms bei einer Wallbox);
|
|
- **Sperren gegen Takten**: Mindestlauf- und Mindeststillstandszeit, Wartezeit zwischen
|
|
zwei Änderungen;
|
|
- bei einer SG-Ready-Wärmepumpe: der Zustand wird nach der geschätzten Leistung jedes
|
|
Zustands gewählt, mit einer Mindesthaltedauer.
|
|
|
|
## 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](../optimiseur/protocole.md#reponse) veröffentlicht.
|
|
|
|
## Die Messung, nie das Ergebnis der Steuerung
|
|
|
|
Der Überschuss wird aus der **Rohmessung** berechnet: Erzeugung und Zähler, so wie sie
|
|
gemessen werden. Nie aus der Nettobilanz nach der Steuerung: 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](prevision-pv.md) setzt
|
|
aus — und sie dient in der Community-Version nicht zur Entscheidung, ebenso wenig wie der
|
|
[eingegebene Tarif](../tarifs.md): Beide werden angezeigt und gespeichert, aber von den
|
|
Regeln nie verwendet.
|
|
|
|
## Und ein Optimierer?
|
|
|
|
Ein Optimierer kann anhand der Prognosen einen Plan über mehrere Stunden vorschlagen. Er
|
|
ersetzt den Verteilungsschritt, **nie** die Sicherheitsschleife oder die Grenzen. Siehe
|
|
Abschnitt [Optimierer](../optimiseur/index.md).
|