Lastwechsel ereignisbasiert sperren
Tests / test (push) Failing after 39s

This commit is contained in:
dh
2026-09-17 09:14:15 +00:00
parent 1b4a788f22
commit 355e7163fb
7 changed files with 100 additions and 46 deletions
+3 -3
View File
@@ -5,13 +5,13 @@
| Enelix 1 | Enelix 2 | Hinweis |
| --- | --- | --- |
| `LeistungsStufen` | `LeistungsStufen` | Felder `Stufe`, `Leistung`, `Schaltkontakt_Stufe` bleiben erhalten. |
| `ZeitKonstante` | `ZeitKonstante` | PT1-Berechnung verwendet das reale Regelintervall. |
| `ZeitKonstante` | `ZeitKonstante` | PT1-Berechnung verwendet die tatsaechlich verstrichene Zeit. |
| `Boilerfuehler_PT1` | `Boilerfuehler_PT1` | Alter und Datentyp werden geprueft. |
| `Boilertemperatur_glätten` | `BoilertemperaturGlaetten` | ASCII-sicherer Ident. |
| `Boilervolumen` | `Boilervolumen` | Wird fuer die Zeitplanprognose verwendet. |
| `Zeitplan` | `Zeitplan` | JSON-Liste mit `Uhrzeit` und `Solltemperatur`. |
| `Interval` | `Interval` | Regelintervall in Sekunden. |
| `IdleCounterMax` | `IdleCounterMax` | Verhalten bleibt erhalten. |
| `Interval` | entfaellt | Die Regelung wird ereignisbasiert ausgeloest. |
| `IdleCounterMax` | `LastwechselSperrzeit` | Zykluszaehler wird durch eine Sperrzeit in Sekunden ersetzt; Standard `5`. |
Die neuen Properties `TemperaturMaxAlter`, `Hysterese`, die Parameter der
Legionellenfunktion und `DiagnosevariablenAnzeigen` ersetzen feste Werte und
+9 -7
View File
@@ -19,13 +19,16 @@ Legionellenprogramm koennen die lokale Warmwassersicherheit priorisieren.
- Mindesttemperatur, vorausberechneter Zeitplan und Legionellenprogramm koennen
die maximale Stufe lokal erzwingen. Diese Phase wird mit
`AenderungMoeglich=false` gemeldet.
- Lastwechsel werden fuer `LastwechselSperrzeit` Sekunden gesperrt. Danach
erfolgt genau eine ereignisgesteuerte Neuberechnung; sicherheitsbedingtes
Ausschalten bleibt sofort moeglich.
- `BoilertemperaturGlaetten` aktiviert eine PT1-Glaettung mit konfigurierbarer
Zeitkonstante.
Zeitkonstante und der tatsaechlich verstrichenen Zeit.
## Properties
Zu den sechs gemeinsamen Verbraucher-Properties aus
[`Schnittstelle.md`](../../Schnittstelle.md) kommen 14 Modul-Properties hinzu.
[`Schnittstelle.md`](../../Schnittstelle.md) kommen 13 Modul-Properties hinzu.
| Ident | Typ | Standard | Beschreibung |
| --- | --- | ---: | --- |
@@ -35,8 +38,7 @@ Zu den sechs gemeinsamen Verbraucher-Properties aus
| `BoilertemperaturGlaetten` | Boolean | `false` | PT1-Glaettung aktiv. |
| `Boilervolumen` | Integer | `300` | Volumen in Litern fuer die Zeitplanprognose. |
| `Zeitplan` | JSON-Liste | `[]` | Uhrzeit und Solltemperatur. |
| `Interval` | Integer | `5` | Regelintervall in Sekunden. |
| `IdleCounterMax` | Integer | `2` | Zyklen bis zum Idle-Status. |
| `LastwechselSperrzeit` | Integer | `5` | Mindestzeit zwischen zwei Lastwechseln in Sekunden. |
| `TemperaturMaxAlter` | Integer | `30` | Maximal zulaessiges Messwertalter in Sekunden. |
| `Hysterese` | Float | `5.0` | Temperaturhysterese in K. |
| `LegionellenfunktionAktiv` | Boolean | `true` | Zweistufige periodische Aufheizung aktiv. |
@@ -74,8 +76,8 @@ Mit `DiagnosevariablenAnzeigen` werden diese 16 Variablen angelegt:
- `NachladenAktiv`
- `LegionellenbetriebAktiv`
- `LegioCounter`
- `Idle`
- `IdleCounter`
- `Idle` (Lastwechsel freigegeben)
- `IdleCounter` (verbleibende Sperrzeit in Sekunden)
Die Regelung und Managerkommunikation verwenden fuer diese Werte eine interne
Zustandsablage und funktionieren auch ohne angelegte Diagnosevariablen weiter.
@@ -96,7 +98,7 @@ verzoegert, damit keine synchrone Manager-Verbraucher-Endlosschleife entsteht.
`WarmwasserReglerTest.php` prueft Leistungsstufen, PT1, Energieberechnung,
Zeitplan, thermische Prognose und die zweistufigen Legionellengrenzen.
`WarmwassererwaermerModulstrukturTest.php` prueft Metadaten, Formular,
20 Properties, bedarfsgesteuerte Diagnosevariablen, Schnittstellenvertrag und
19 Properties, bedarfsgesteuerte Diagnosevariablen, Schnittstellenvertrag und
Break-before-make-Schaltung.
## Migration