58 lines
2.2 KiB
Markdown
58 lines
2.2 KiB
Markdown
# ADR 0002: Verbraucher 1-Stufig arbeitet ereignisbasiert
|
|
|
|
## Status
|
|
|
|
Akzeptiert.
|
|
|
|
## Kontext
|
|
|
|
Das Enelix-1-Modul berechnete seinen Zustand in einem festen Intervall und
|
|
bildete die Lastwechselsperre ueber `Interval`, `IdleCounterMax` und weitere
|
|
zyklusabhaengige Zaehler ab. Dieses Verhalten passt nicht zur
|
|
ereignisbasierten Enelix-2-Kommunikation und machte reale Zeitabstaende von
|
|
mehreren Properties abhaengig.
|
|
|
|
## Entscheidung
|
|
|
|
Der neue `VerbraucherEinStufig` verwendet keine zyklische Regelberechnung.
|
|
Schaltkontakt, Rueckmeldung, Manager-Vorgabe, Freigabe, Vorgabeablauf und
|
|
Tagesplanung loesen die Regelung direkt aus.
|
|
|
|
Als einziger modulspezifischer Wert fuer die Lastwechselbegrenzung wird
|
|
`Umschaltabstand` in Sekunden registriert. Der Standardwert ist 5 Sekunden.
|
|
Das Ende der Sperre wird durch einen einmaligen Timer ausgeloest.
|
|
|
|
Das gemeinsame `Meldeintervall` bleibt erhalten, weil Vertrag `3.0`
|
|
zusaetzlich zu Ereignismeldungen eine periodische Vollmeldung fordert. Dieser
|
|
Timer ist kein Regelzyklus.
|
|
|
|
Die Tagesmindestlaufzeit wird in realen Sekunden und lokaler Symcon-Zeitzone
|
|
gezaehlt. Das Modul erzwingt den Betrieb erst zum spaetestmoeglichen Zeitpunkt,
|
|
an dem die fehlende Laufzeit vor Mitternacht noch erreicht werden kann.
|
|
|
|
## Alternativen
|
|
|
|
- Ein fester Regelzyklus wurde verworfen, weil Reaktionszeit und Sperrzeit
|
|
wieder voneinander abhaengen wuerden.
|
|
- Getrennte Ein- und Ausschaltzeiten wurden verworfen, weil sie fuer diese
|
|
Adaption nicht freigegeben sind.
|
|
- Die feste Nachtphase aus Enelix 1 wurde verworfen, weil sie weder
|
|
konfigurierbar noch Teil der Enelix-2-Spezifikation ist.
|
|
|
|
## Folgen
|
|
|
|
- Lastwechsel reagieren ohne Polling auf relevante Ereignisse.
|
|
- `Interval` und `IdleCounterMax` entfallen.
|
|
- Der Manager sieht waehrend einer Sperre nur die aktuelle Leistung und
|
|
`AenderungMoeglich=false`.
|
|
- Ein optionaler Rueckmeldekontakt muss innerhalb des Umschaltabstands folgen.
|
|
- Tageslaufzeit und Mindestlaufzeit sind unabhaengig von einer Zyklusdauer.
|
|
- Das Modul bleibt vollstaendig im Repository Enelix EMS; Enelix Utils erhaelt
|
|
keine geraetespezifische Logik.
|
|
|
|
## Offene Punkte
|
|
|
|
- Eine spaetere sperrbare Variante wird separat spezifiziert.
|
|
- Unterschiedliche Ein- und Ausschaltabstaende benoetigen eine neue
|
|
Architekturentscheidung.
|