Files
Enelix-EMS/docs/module/Manager/README.md
T
dh 1b4a788f22
Tests / test (push) Failing after 46s
Manager-Konfiguration neu strukturieren
2026-09-17 08:55:43 +00:00

6.0 KiB

Manager

Status: Implementiert. Führt Hauptmanager und Peakshaving zusammen.

Der Manager liest die Netzleistung, verwaltet ausschliesslich die ausgewählten Verbraucher und verteilt Leistung im PV- oder Peak-Betrieb. Die Prioritäten kommen aus den Verbrauchermeldungen.

Variablen

Ohne Logging sind nur Aktiv, Betriebsart und Netzleistung sichtbar.

Ident Typ / Zugriff Beschreibung
Aktiv Boolean / bedienbar Regelung ein/aus; Start false.
Betriebsart String / Anzeige Inaktiv, PV oder Peak.
Netzleistung Float / Anzeige Aktuelle Netzleistung in W; positiv Bezug, negativ Einspeisung.
NetzleistungGueltig Boolean / Logging Messquelle vorhanden und aktuell.
WirksameLastspitzengrenze Float / Logging Aktuelle feste oder monatliche Grenze in W.
Verteilbudget Float / Logging Aktuell verfügbares Budget in W.
VerbraucherAnzahl Integer / Logging Anzahl zugeordneter Verbraucher.
VerbraucherVerfuegbar Integer / Logging Anzahl aktuell verfügbarer Verbraucher.
Verbraucherstatus String/JSON / Logging Letzte vollständige Meldungen.
Prognosestatus String / Logging NichtVerwendet, Verbunden oder Fehler.
SDLStatus String / Logging Status des SDL/VGT-Anschlusses.
Lizenzstatus String / Logging Status der Lizenzprüfung.
Stoerueberwachungsstatus String / Logging Status der externen Störüberwachung.
Sammelstoerung Boolean / Logging Eigene und weitergeleitete Störungen.
Stoertext String / Logging Lesbare Sammelmeldung.

Properties

Ident Typ Standard / Beschreibung
Rolle Auswahl Alleine; alternativ Hauptmanager oder Untermanager.
NetzleistungVariableID Integer 0*; gültige Messquelle vor Regelstart.
Netzleistungsfaktor Float 1; auf W und die vereinbarte Vorzeichenrichtung normieren.
MesswertMaxAlter Integer 60 s; auf echte Messaktualisierung bezogen.
VerbraucherZuordnung String/JSON []; manuelle Auswahl aus Instanz-ID und Aktiv-Status.
AutomatischeVerbraucherZuordnung String/JSON []; Auswahl aus automatisch gefundenen Verbrauchern.
AutomatischeSuche Boolean true; zeigt gefundene Verbraucher zur gezielten Auswahl.
SuchbereichID Integer 0; optionaler Suchbereich für die automatische Suche.
KeepAlive Integer 60 s; erneuert laufende Vorgaben zyklisch.
VerbraucherTimeout Integer 60 s; erkennt ausgebliebene Verbrauchermeldungen.
Lastspitzenmodus Auswahl Aus; alternativ Konstant oder Monatlich.
Lastspitzengrenze Float Feste Grenze in W für Modus Konstant.
Monatsgrenzen String/JSON Editierbare Liste mit zwölf Monatswerten in W.
SollwertSolarladen Float 0 W; gewünschte Netzleistung im Solarladebetrieb.
Umschaltdifferenz Float 5 %; Mindestdifferenz der berechneten Sollleistungen vor Umschaltung.
PrognoseAnschluss String/JSON Optionaler Forecast-Anschluss.
SDLAnschluss String/JSON Optionaler SDL/VGT-Anschluss.
LizenzAnschluss String/JSON Optionaler Lizenzanschluss.
StoermeldeAnschluss String/JSON Optionaler Anschluss zur Störüberwachung.
LoggingEin Boolean false; Protokollierung und zusätzliche Variablen anzeigen.

Es gibt keine Sollwertquellenauswahl und keine zweite Prioritätseinstellung im Manager. Im Modus Aus bleibt Solarladen aktiv, nur die Peak-Begrenzung entfällt. Die Monatsgrenzen werden in den Grundeinstellungen über eine Schaltfläche ein- und ausgeblendet. Die vier optionalen oberen Anschlüsse besitzen jeweils einen eigenen Bereich.

Verteilalgorithmus

Der Manager bildet das Verteilbudget aus der aktuellen Netzleistung, dem Ziel der aktiven Betriebsart und der aktuellen Leistung aller frisch gemeldeten Verbraucher. Eine gültige Istleistung wird bevorzugt; fehlt sie, bleibt der im Zustand bestätigte Sollwert konservativ reserviert.

Nicht verfügbare, nicht änderbare oder aktuell angebotlose Verbraucher behalten ihre Leistung und erhalten keine neue Vorgabe. Die übrigen Verbraucher werden nach der gemeldeten PV- beziehungsweise Peak-Priorität und danach stabil nach Instanz-ID sortiert. Von ihrem jeweils kleinsten erlaubten Leistungswert aus wird das Budget in dieser Reihenfolge aufgefüllt. Einzelwerte und ganzzahlige Bereiche werden direkt verarbeitet; Lücken werden nie durch unzulässige Werte geschlossen. Eine verbleibende Abweichung wird im Verbraucherstatus dokumentiert.

Die Betriebsart wechselt unterhalb des Solar-Sollwerts zu PV und oberhalb der wirksamen Lastspitzengrenze zu Peak. Zwischen den beiden Zielwerten bleibt sie erhalten. Umschaltdifferenz verhindert zusätzlich einen Wechsel, wenn sich die beiden berechneten Korrekturen nicht ausreichend unterscheiden.

Laufzeit und Fehlerverhalten

  • Netzleistungsänderungen und Verbrauchermeldungen lösen die Berechnung aus.
  • Identische Sollwerte werden nur beim Keep-alive erneut gesendet.
  • Verbraucherpakete werden zentral geprüft und nur von aktiv zugeordneten Absendern angenommen.
  • Veraltete oder noch fehlende Verbrauchermeldungen werden nicht verteilt und als Sammelstörung ausgewiesen.
  • Bei fehlender oder veralteter Netzleistung bleibt die Regelung Inaktiv und sendet keine neuen Vorgaben.
  • Die oberen Anschlüsse bleiben optional. Solange kein konkreter Adapter implementiert ist, meldet ein aktivierter Anschluss den Status Fehler, ohne die lokale EMS-Regelung zu blockieren.

Schnittstellen

  • Empfängt genau VerbraucherdatenEmpfangen(array $daten).
  • Sendet an jeden Verbraucher nur Kopf und Sollleistung_W.
  • Obere Anschlüsse: siehe Obere Anschlüsse.

Offene Punkte

  • Monatliche Batteriereserve aus dem alten Peakshaving-Modul übernehmen?
  • Anbieterformate für Prognose, Lizenzierung und Störüberwachung festlegen.
  • Verhalten und Messabgrenzung bei Untermanagern im Anlagentest bestätigen.