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