ZHK

Aus FHEMWiki


---- noch nicht Teil von FHEM ----
Zweck / Funktion
Dieses Modul ist noch Entwicklung
Allgemein
Typ Hilfsmodul
Details
Dokumentation noch nicht Teil von FHEM ---- EN / noch nicht Teil von FHEM ---- DE
Modulname 98_ZHK.pm
Ersteller epsrw1
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!


Das Fhem-Modul ZentralHeizKessel (ZHK) bietet die Möglichkeit, einen Zentralheizkessel mit Vorlauf, Vorlaufmischer/Rücklaufanhebung, Warmwasserspeicher+Ladepumpe zu steuern.

Features

Clock - Under Construction.svg An dieser Seite wird momentan noch gearbeitet.



umfassende Parametereinstellung

  • alle Modulteile können einzeln eingestellt oder deaktiviert werden

derzeit enthaltene interne Module

  • VorlaufRegler: Heizkurvenberechnung und/oder Zusatzmodule berücksichtigen
  • VorlaufZeitschaltplan: Wochenplaner für VL-Absenkung nach Zeiten
  • AussentempRegler: zuschaltbare Aussentemp.Option
  • HolzofenRegler: Temperatursprung-Erkennung für Kaminofen um VL frühzeitig anzupassen
  • automatische Vorlauf-Totalabschaltung
  • WarmWasserRegler: Temperatursturzerkennung (sofortiges Nachheizen bei großer Entnahme)
  • WwZeitschaltplan: Wochenplaner für die Temp.-Voreinstellung nach Zeiten
  • Warmwasser: manuelle Einstellung Eco/Confort/Gradzahl
  • WarmWasser Kochprogramm über Wochenplaner
  • KesselRegler: Einstellen der optimalen Kesseltemp. nach WarmWasser, Vorlauf, Brennertakt, VL/RL-Differenztemperatur

Beschreibung

die von FHEM mit dem modul ZHK gesteuerten Lastrelais werden in Reihe mit den sicherheitsrelevanten Teilen der Heizung geschaltet (zB. Sicherheitsabschaltung Überhitzung). Dabei sind die Anschlüsse so vorgesehen, daß die Relais im Ruhezustand durchleiten. Falls FHEM einmal nicht laufen sollte, läuft der Heizkessel mit Maximaltemperatur weiter bis die Steuerung neugestartet wurde. Im aktuellen Modulumfang sind folgende Anschlüsse an der Heizung enthalten:

  • BrennerStop
  • Warmwasser-Ladepumpe
  • Warmwasser-Boost (übergehen der Max.Temp.)
  • VorlaufPumpe Aus/An
  • Mischermotor zB.: [1]

Define

define <name> ZHK <startverzögerung>


Um die Wirkung und Funktionsweise auszuprobieren, bietet sich an, mehrere Dummys zu verwenden:

define zhkBrennerFhemDev dummy define zhkWwPumpFhemDev dummy define zhkWwBoostFhemDev dummy define zhkVorlaufPumpOffFhemDev dummy define zhkVorlaufMischerFhemDev dummy define zhkVorlaufTempTriggerFhemDev dummy

Um alle Einstellmöglichkeiten auf Standardwerte Grundeinzustellen kann das Kommando SetAttribs verwendet werden. Bereits bestehende Einstellungen werden dabei nicht überschrieben.

set <name> SetAttribs

Der Wochenplan für die Vorlaufabsenkung kann mit dem befehl vltimer eingestellt werden. Die Syntax ist:

set <name> vltimer <Mo|Di|Mi|Do|Fr|Sa|So|*> <04:00=0|08:30=-3|17:00=0|22:00=-3>

Achtung: bei set "*" werden alle Tage auf einmal überschrieben!

Der Wochenplan für die Warmwassertemperatur kann mit dem befehl wwtimer eingestellt werden. Die Syntax ist:

set <name> wwtimer <Mo|Di|Mi|Do|Fr|Sa|So|*> <04:00=45|08:30=30|17:00=45|22:00=30>

Achtung: bei set "*" werden alle Tage auf einmal überschrieben!

Die warmwassertemperatur kann jederzeit mit FHEM manuell eingestellt werden. Beim nächsten Zeitplan-Punkt geht die Temperatur automatisch wirder auf den vorprogrammierten Wert.

set <name> zhkWwSollTemp <Eco|Confort| gradzahl >

Eco und Confort sind Standardtemperaturen die über Attr voreingestellt werden können.

Readings

Alle Readings sind auch in fhem durch das kommando get readingsHelp <varname> erklärt, für's "schnelle nachschauen zwischendurch".

Reading (Typ) Default Beschreibung
zhkAussenTempActualTimestamp (float) 0 timestamp of last aussentemp value
zhkAussenTempActualVal (float) 0 actual aussentemp sensor temperature value
zhkAussenTempDelayCache (string) 0=22334455 cache für trägheit aussentemp last-temp=timestamp
zhkAussenTempTodayMax (float) 0 aussentemp today's maximum temp
zhkAussenTempTodayMin (float) 0 aussentemp today's minimum temp
zhkAussenTempYesterday (float) 0 cache of yesterday's date
zhkAussenTempYesterdayMax (float) 0 aussentemp yesterday's maximum temp
zhkAussenTempYesterdayMin (float) 0 aussentemp yesterday's minimum temp
zhkBrennerActualState (int) 0 burner state 0=off 1=on
zhkBrennerLaststart (int) 0 brenner cached last start timestamp
zhkGlobalAutoGeneratedReadings (string) 0 alert if readings were not present in statefile at start
zhkHolzofenAlphaActualVal (float) 0 zuletzt berechneter wert für alpha (./zhkHolzofenTempSensorMinAge
zhkHolzofenState (int) 0 1
zhkHolzofenTempHistoryCache (string) 20=11223344 20=11225566 cached last 2 temp readings
zhkHolzofenTempSensorActValue (float) 0 actual temp of sensor in holzofen room
zhkHolzofenTempSensorTimestamp (string) 0 timestamp last OW update
zhkKesselActualTemp (float) 0 cached actual kessel temp
zhkKesselDesiredTemp (int) 35 aktuelle soll-temp kessel
zhkVorlaufActualTempRL RL readErr cached actual rücklauf temperature
zhkVorlaufActualTempVL VL readErr cached actual vorlauf temperature
zhkVorlaufDesiredTemp (0) 0 calculated desired vorlauf temp
zhkVorlaufHkurveCalcFaktor (float) 1.16 erhöhungsfaktor heizkurve
zhkVorlaufManual (int) 0 cached manual setting fixed temp if >0
zhkVorlaufMischerPosActualPosition (int) 0 heizkreis-mischer actual position
zhkVorlaufState (int) 0 actual vorlauf state (auto manual disabled off °C)
zhkVorlaufTimerTempAdjust (int) 0 wird in VL zu desired-t addiert
zhkVorlaufTotalOnOffReqTimeOff (float) 0 internal cache for zhkVorlaufTotalOnOffMischerDelay
zhkVorlaufTotalOnOffState (int) 1 status VL totalabschaltung 1=pump on 0=all off
zhkWwAlphaActualVal (float) 0 zuletzt berechneter wert für alpha
zhkWwBetriebsmodus (string) Unbekannt Confort (zb. mit at plan)
zhkWwBoostStatus (string) off zeigt aktuellen status 1=warmwasser temperaturbegrenzer überbrückt
zhkWwIstLastReading (string) 0 cached last OW temp for alpha-calc
zhkWwIstTempTimestamp (string) 0 timestamp last OW update
zhkWwIstTempVal (float) 0 OW lesen, wenn fehler dann default MAX
zhkWwPriorityOn (int) 0 wenn 1, dann brenner sofort starten
zhkWwPumpLaststart (int) 0 zeitstempel lester start warmwasser ladepumpe
zhkWwPumpStopStatus (string) off zeigt aktuellen status 1=warmwasser ladepumpe gestoppt 0=aufheizen
zhkWwSollTemp (int) 30 einstellung User (zeitplan mit at möglich)
zhkWwTimerLastSetValue (int) 0 last Ww desired temp set by timer function

Attributes

Alle attr sind auch in fhem durch das kommando get attrHelp <varname> erklärt, für's "schnelle nachschauen zwischendurch".

Attribute (Typ) Default Beschreibung
zhkAussenTempAlarmDelay (int) 600 Trägheit AT schaltung seconds
zhkAussenTempAlarmTempLimit (float) 16 grundeinstellung AT schaltpunkt °C
zhkAussenTempAlarmThreshold (float) 1 Mindestabweichung vom schaltpunkt für umschaltung
zhkAussenTempFhemDev (string) 81_Aussen_D745CE040000 fhem device aussentemp
zhkAussenTempFhemDevFallback (string) dummyOnlineWeatherTemp fhem device aussentemp second (fallback or dummy)
zhkAussenTempFhemDevReading (string) temperature fhem dev reading aussentemp
zhkAussenTempFhemDevReadingFallback (string) state fhem dev reading aussentemp second (fallback or dummy)
zhkAussenTempIgnoreIfFhemDev (string) dummyDisableAussentemp while state if this fhem device is true, disable aussentemp-calc temporarily
zhkAussenTempIsWarmState (int) 0 actual state, 1=warm 0=cold
zhkAussenTempMaxAge (int) 1200 max age of out-temp reading timestamp before ignore
zhkBrennerFhemDev (string) P3_BrennerStop brennerschalter, 0=burn 1=off
zhkBrennerLogLastStateChange (int) 0 cache zeitstempel für log betriebsstunden
zhkBrennerTaktMinOffSec (int) 30 delay before set on
zhkBrennerTaktMinOnSec (int) 300 brenner delay before set off after on-command
zhkGlobalIncludeAussentemp (int) 1 enable aussentemp module
zhkGlobalIncludeHolzofen (int) 1 enable holzofen detection module
zhkGlobalIncludeKessel (int) 1 enable kessel regler module
zhkGlobalIncludeValvePositions (int) 1 enable valve position correction module
zhkGlobalIncludeVorlauf (int) 1 enable vorlauf (general) module
zhkGlobalIncludeVorlaufZeischaltplan (int) 1 enable vorlauf timer module
zhkGlobalIncludeWarmwasser (int) 1 enable warmwasser module
zhkGlobalIncludeWwZeischaltplan (int) 1 enable warmwasser timer module
zhkGlobalPollInterval (int) 10 internal loop interval for recalc, increase if cpu load is too high
zhkHolzofenAlphaThreshold (float) 0.07 Meßtoleranz temp °C
zhkHolzofenAlphaUpAlarmDiffDeg (float) 3 min.diff für abschaltung hot
zhkHolzofenIgnoreTempIfFhemDev (string) dummyDisableHolzofen zb. Window shutter, do not trigger if FhemDev state is true
zhkHolzofenResetLowFhemDev (0) Heizg_Wohnzimmer1 fhem device to read reset-low temp from
zhkHolzofenResetLowFhemDevreading (0) desiredTemperature fhem device reading to read reset-low temp from
zhkHolzofenResetLowTemp (float) 18 temp für reset des state auf 0 (if no FhemDev)
zhkHolzofenTempSensorDefaultOnFailure (int) 20 temp.default if sensor fail
zhkHolzofenTempSensorFhemDev (string) 83_WohnZi_9554CD040000 fhem device to read the temperature from
zhkHolzofenTempSensorMinAge (int) 300 recalc alpha after seconds
zhkHolzofenTempSensorReading (string) temperature name of reading with float temp value
zhkKesselAbsoluteMaxTemp (int) 70 sicherheit falls rechenprobleme
zhkKesselAbsoluteMinTemp (int) 30 sicherheit falls rechenprobleme
zhkKesselMinDiffVorlauf (int) 10 min.diff Vorlauf-Soll/Kessel-Min-Soll
zhkKesselMinDiffWw (int) 8 min.diff Ww-Soll/Kessel-Min-Soll
zhkKesselMischerErhFaktor (float) 0 erhöhungsfaktor: gewichtung mischerposition für kesseltemp.einstellung
zhkKesselTempFhemDev (string) 4_14_Kessel_E3CD97050000 fhem device kesseltemperatur
zhkKesselTempFhemDevReading (string) temperature device reading kesseltemperatur
zhkKesselTempMaxReadingAge (int) 600 max age of kessel temp reading, if too old device is not present or has error ->log alert
zhkKesselTempSecondFhemDev (string) 0 fhem device kesseltemperatur backup-device
zhkKesselTempSecondFhemDevReading (string) temperature device reading kesseltemperatur backup-device
zhkKesselThreshold (int) 5 zulässige temp.schwankung kessel
zhkKesselVLRLdiffErhFaktor (float) 0 erhöhungsfaktor: gewichtung VL-RL-diff für kesseltemp.einstellung
zhkVorlaufHkurveAussenMax_TH (int) 15 max.wert für heizkurvenberechnung
zhkVorlaufHkurveAussenMin_TL (int) -20 min.wert für heizkurvenberechnung
zhkVorlaufHkurveVorlaufMax_TH (int) 50 max.wert für heizkurvenberechnung
zhkVorlaufHkurveVorlaufMin_TL (int) 20 min.wert für heizkurvenberechnung
zhkVorlaufIgnoreIfFhemDev (string) dummyDisableVorlauf while state if this fhem device is true, disable vorlauf(general)-calc temporarily
zhkVorlaufMischerFhemDev (string) VorlaufMischer zb STELLMOTOR FhemDev oder anderes Ventil
zhkVorlaufMischerPosFhemDev (string) MischerPosition heizkreis-mischer fhem device
zhkVorlaufMischerPosFhemDevReading (string) position heizkreis-mischer device reading für position
zhkVorlaufPumpOffFhemDev (string) P6_PumpOff FhemDev das Vorlauf stromzufuhr pumpe kappt
zhkVorlaufRLTempFhemDev (string) 2_12_Ruecklauf_56B897050000 fhem device name, rücklauf temp
zhkVorlaufRLTempFhemDevReading (string) temperature fhem device reading, rücklauf temp
zhkVorlaufTempTriggerFhemDev (string) VorlaufRegler evtl.PID20 oder Notify-FhemDev für Mischeransteuerung
zhkVorlaufTempTriggerFhemDevReading (string) desired evtl.PID20 oder Notify-FhemDev für Mischeransteuerung
zhkVorlaufTempTriggerFhemDevSetting (string) desired evtl.PID20 oder Notify-FhemDev für Mischeransteuerung
zhkVorlaufTimerScheduleDi (string) 0 schaltpunkte für wochentagsplanung
zhkVorlaufTimerScheduleDo (string) 0 schaltpunkte für wochentagsplanung
zhkVorlaufTimerScheduleFr (string) 0 schaltpunkte für wochentagsplanung
zhkVorlaufTimerScheduleMi (string) 0 schaltpunkte für wochentagsplanung
zhkVorlaufTimerScheduleMo (string) 0 schaltpunkte für wochentagsplanung
zhkVorlaufTimerScheduleSa (string) 0 schaltpunkte für wochentagsplanung
zhkVorlaufTimerScheduleSo (string) 0 schaltpunkte für wochentagsplanung
zhkVorlaufTotalOnOffMischerDelay (string) 150 delay to wait for mischer calibrate before VL off
zhkVorlaufVLTempFhemDev (string) 1_17_Vorlauf_D1F798050000 fhem device name, vorlauf temp
zhkVorlaufVLTempFhemDevReading (string) temperature fhem device reading, vorlauf temp
zhkWwAlphaDownAlarmDiffDeg (float) 0.8 mindest-temp-diff für sofort-aufheizung
zhkWwAlphaThreshold (float) 0.42 Meßtoleranz ww-temp °C
zhkWwAlphaUpAlarmDiffDeg (float) 5 min.diff zu abschaltung hot für AlphaUp
zhkWwBoostFhemDev (string) P2_WwBoost relais um analoge temperaturbegrenzug zu übergehen
zhkWwBoostStartTemp (int) 45 temp. ab der die umgehung notwendig ist
zhkWwConfortTemp (int) 31 tempvoreinstellung Confort-Modus
zhkWwEcoTemp (float) 37 tempvoreinstellung Eco-Modus
zhkWwPumpFhemDev (string) P7_WwStop WW pumpe, 0=on / 1=off
zhkWwTaktMinOnSec (int) 60 delay before off when WwPump started
zhkWwTempSensorDefaultOnFailure (int) 70 default temp to assume if temp-sensor fails
zhkWwTempSensorFhemDev (string) 5_15_WarmWasser_EB6F98050000 fhem device to read the temperature from
zhkWwTempSensorMaxAge (int) 300 sensor ignorieren wenn state-age > x seconds
zhkWwTempSensorReading (string) temperature name of reading with float temp value
zhkWwTimerScheduleDi (string) 0 schaltpunkte für wochentagsplanung
zhkWwTimerScheduleDo (string) 0 schaltpunkte für wochentagsplanung
zhkWwTimerScheduleFr (string) 0 schaltpunkte für wochentagsplanung
zhkWwTimerScheduleMi (string) 0 schaltpunkte für wochentagsplanung
zhkWwTimerScheduleMo (string) 0 schaltpunkte für wochentagsplanung
zhkWwTimerScheduleSa (string) 0 schaltpunkte für wochentagsplanung
zhkWwTimerScheduleSo (string) 0 schaltpunkte für wochentagsplanung

Links