Verbrauchermodule und betriebsartabhängige Angebote ergänzen
Tests / test (push) Successful in 42s

This commit is contained in:
dh
2026-09-21 18:46:17 +00:00
parent 7b6d1b2f07
commit 3c71626b5f
46 changed files with 4513 additions and 311 deletions
@@ -0,0 +1,76 @@
# ADR 0004: Betriebsartabhaengige Leistungsangebote
## Kontext
Der Nachrichtenvertrag 3.0 uebermittelte vom Manager nur
`Sollleistung_W`. Verbraucher meldeten ein einziges Leistungsangebot und
kannten die aktuelle Betriebsart nicht. Damit konnten Module keine
unterschiedlichen PowerSteps fuer PV- und Peakbetrieb bereitstellen.
Eine einfache Ergaenzung des Sollwertpakets reicht nicht aus: Beim Wechsel der
Betriebsart besitzt der Manager zunaechst noch das Angebot der vorherigen
Betriebsart. Eine sofortige Verteilung koennte deshalb einen Sollwert erzeugen,
den der Verbraucher im neuen Modus ablehnen muss.
## Entscheidung
Der Vertrag wird inkompatibel auf Version `4.0` angehoben.
- Managerdaten und Verbraucherdaten enthalten verpflichtend `Betriebsart`
mit dem Wert `PV` oder `Peak`.
- `Sollleistung_W` in Managerdaten darf `null` sein.
- `null` ist eine reine Betriebsart-Ankuendigung und kein Schaltbefehl.
- Der Verbraucher uebernimmt die Betriebsart, berechnet sein Leistungsangebot
neu und meldet dieses mit derselben Betriebsart zurueck.
- Der Manager verwendet nur Angebote seiner aktuellen Betriebsart.
- Solange mindestens ein aktiver Verbraucher nicht synchronisiert ist, erfolgt
keine Verteilung.
- Nach einem Betriebsartwechsel verwirft der Manager seinen Sollwertcache.
Die konkrete Differenz zwischen PV- und Peakangebot bleibt Verantwortung des
Verbrauchermoduls. Die derzeit implementierten Verbraucher uebernehmen die
zustandsabhaengigen Enelix-1-Angebote gezielt:
- Der einstufige Verbraucher bietet in Peak normalerweise `[0]`. Bei faelliger
Tagesmindestlaufzeit ist konfigurierbar, ob `[0, Nennleistung]` angeboten
oder nur die Nennleistung erzwungen wird.
- Die Ladestation bietet in Peak mit Solarladen `[0]`, ohne Solarladen dagegen
`[0, ...Ladestufen]` an.
- Der Warmwassererwaermer bietet unter seiner wirksamen Mindesttemperatur auch
in Peak `[0, ...Leistungsstufen]` an.
- Der Pufferspeicher bietet im Peakbetrieb unabhaengig vom Zustand `[0]` an.
- Technische Schaltsperren und ausstehende Rueckmeldungen duerfen das Angebot
weiterhin auf die aktuell gehaltene Leistung begrenzen.
## Alternativen
### Zwei Angebote gleichzeitig melden
Separate Felder fuer PV- und Peak-PowerSteps wuerden den Umschalt-Handshake
vermeiden. Sie verdoppeln jedoch alle Angebotsdaten und zwingen jedes Modul,
beide Zustaende jederzeit parallel zu berechnen.
### Betriebsart ohne Synchronisation senden
Der Manager koennte Betriebsart und Sollleistung in einem Paket senden. Das
erste Kommando nach einem Wechsel waere dann aus dem alten Angebot berechnet
und koennte ungueltig sein.
### Betriebsart aus einer Manager-Variable lesen
Eine direkte Objektkopplung wuerde die definierte Schnittstelle umgehen,
mehrere Manager erschweren und Verbraucher unnoetig an die Managerinstanz
binden.
## Folgen
- Alle Manager und Verbraucher einer Installation muessen gemeinsam auf
Vertrag 4.0 aktualisiert werden.
- Version 3.0 und 4.0 koennen nicht innerhalb derselben Managerzuordnung
gemischt werden.
- Ein Betriebsartwechsel benoetigt mindestens einen zusaetzlichen
Nachrichtenumlauf.
- Tests pruefen Vertragsvalidierung, Synchronisation und modulspezifische
Angebote fuer PV und Peak.
- ADR 0001 bleibt als historische Entscheidung erhalten, wird fuer den
aktuellen Vertrag aber durch diese Entscheidung abgeloest.