Files
Enelix-EMS/docs/module/Wassererwaermer/README.md
T
2026-09-16 05:18:01 +00:00

4.4 KiB

Verbraucher Warmwassererwaermer

Status: implementiert fuer IP-Symcon 8 und den Enelix-2-Vertrag 3.0.

Das Modul adaptiert ausschliesslich das fruehere Modul Boiler_x_Stufig. Mehrere elektrische Leistungsstufen werden exklusiv geschaltet. Der Manager waehlt eine der aktuell angebotenen Leistungen; Mindesttemperatur, Zeitplan und Legionellenprogramm koennen die lokale Warmwassersicherheit priorisieren.

Sicherheit und Regelung

  • Die Schaltkontakte werden mit Break-before-make geschaltet: zuerst alle aus, danach hoechstens eine Stufe ein.
  • Fehlende, veraltete oder nicht numerische Temperaturwerte schalten die EMS-Verfuegbarkeit aus und fuehren zu einer Stoerung.
  • Manager-Vorgaben werden nur angenommen, wenn sie im zuletzt gemeldeten Leistungswerte_W-Angebot enthalten sind.
  • Nach VorgabeTimeout wird eine nicht erneuerte Manager-Vorgabe ungueltig.
  • Mindesttemperatur, vorausberechneter Zeitplan und Legionellenprogramm koennen die maximale Stufe lokal erzwingen. Diese Phase wird mit AenderungMoeglich=false gemeldet.
  • BoilertemperaturGlaetten aktiviert eine PT1-Glaettung mit konfigurierbarer Zeitkonstante.

Properties

Zu den sechs gemeinsamen Verbraucher-Properties aus Schnittstelle.md kommen 17 Modul-Properties hinzu.

Ident Typ Standard Beschreibung
LeistungsStufen JSON-Liste [] Stufe, positive Leistung in W und Boolean-Schaltkontakt.
ZeitKonstante Integer 120 PT1-Zeitkonstante in Sekunden.
Boilerfuehler_PT1 Integer 0 Temperaturvariable.
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.
TemperaturMaxAlter Integer 30 Maximal zulaessiges Messwertalter in Sekunden.
Hysterese Float 5.0 Temperaturhysterese in K.
LegionellenfunktionAktiv Boolean true Periodische Aufheizung aktiv.
LegionellenIntervallTage Integer 7 Intervall seit erfolgreichem Abschluss.
LegionellenHaltezeit Integer 0 Haltezeit auf Zieltemperatur in Sekunden.
LegionellenMaximaldauer Integer 86400 Abbruchzeit in Sekunden.
NachtstartStunde Integer 22 Fruehester Programmstart.
NachtendeStunde Integer 7 Ende des Nachtfensters.
DiagnosevariablenAnzeigen Boolean false Blendet zehn Diagnosevariablen ein.

LoggingEin aktiviert laufende Debug-Ausgaben. Der Formular-Knopf schreibt unabhaengig davon genau einen aktuellen Statusdatensatz ins Debug-Log.

Variablen

Standardmaessig sichtbar sind nur die acht Betriebsvariablen Aktiv, Istleistung, Sollleistung, Stoerung, Stoertext, Boilertemperatur, AktiveStufe und BezogeneEnergie.

Mit EinstellungenInVisu werden Mindesttemperatur, Maximaltemperatur und Legionellentemperatur sichtbar und geprueft bedienbar. Die Reihenfolge Mindesttemperatur < Maximaltemperatur <= Legionellentemperatur ist zwingend.

Mit DiagnosevariablenAnzeigen werden diese zehn Variablen eingeblendet:

  • Leistungsquelle
  • SollwertGueltig
  • Verfuegbar
  • AenderungMoeglich
  • TemperaturGueltig
  • NachladenAktiv
  • LegionellenbetriebAktiv
  • LegioCounter
  • Idle
  • IdleCounter

Managerkommunikation

Das Modul implementiert VerbraucherSchnittstelle::ManagerdatenEmpfangen(). Der Transport erfolgt wie beim Manager ueber IPS_RequestAction mit JSON. Der Verbraucher besitzt keine Manager-ID-Property. Er ermittelt nur Manager, in deren VerbraucherZuordnung seine Instanz aktiv eingetragen ist.

Die Rueckmeldung erfolgt ereignisbasiert und zusaetzlich alle Meldeintervall Sekunden. Eine Rueckmeldung nach empfangener Vorgabe wird kurz verzoegert, damit keine synchrone Manager-Verbraucher-Endlosschleife entsteht.

Tests

WarmwasserReglerTest.php prueft Leistungsstufen, PT1, Energieberechnung, Zeitplan und thermische Prognose. WarmwassererwaermerModulstrukturTest.php prueft Metadaten, Formular, 23 Properties, Sichtbarkeit, Schnittstellenvertrag und Break-before-make-Schaltung.

Migration

Die Feldzuordnung und die bewusst entfallenen Enelix-1-Kommunikationsvariablen sind in docs/migration/Boiler-x-Stufig.md dokumentiert.