ZHK
---- 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
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
- Thread im Forum, in dem dieses Modul vorgestellt wurde