Patrick Schurig 41d59de971 docs(optimiseur): versions allemande et anglaise de la section et de « Comment le moteur décide »
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>
2026-10-18 13:09:09 +02:00

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).