ZHK: Unterschied zwischen den Versionen

Aus FHEMWiki
KKeine Bearbeitungszusammenfassung
(Ersetzung von Forum-Links mit Vorlage Link2Forum)
 
(14 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{SEITENTITEL:ZentralHeizKessel}}
<!-- {{SEITENTITEL:ZentralHeizKessel}} -->
{{Infobox Modul
{{Infobox Modul
|ModPurpose=Dieses Modul ist noch Entwicklung
|ModPurpose=Dieses Modul ist noch Entwicklung
|ModType=x
<!-- |ModCategory= (noch?) nicht verwendet -->
<!-- |ModCategory= (noch?) nicht verwendet -->
|ModCmdRef= ---- noch nicht Teil von FHEM ----
<!-- |ModCmdRef= ---- noch nicht Teil von FHEM -->
|ModForumArea=Codeschnipsel
|ModTechName=98_ZHK.pm
|ModTechName=98_ZHK.pm
|ModOwner=epsrw1}}
|ModOwner=epsrw1}}
Das Fhem-Modul [[:Kategorie:Heizungssteuerung]] [[ZentralHeizKessel]] (ZHK) bietet die Möglichkeit, einen Zentralheizkessel mit Vorlauf,Vorlaufmischer/Rücklaufanhebung,Warmwasserspeicher+Ladepumpe zu steuern.  
 
Das FHEM-Modul [[ZHK|ZentralHeizKessel (ZHK)]] bietet die Möglichkeit, einen Zentralheizkessel mit Vorlauf, Vorlaufmischer/Rücklaufanhebung, Warmwasserspeicher+Ladepumpe zu steuern.  


== Features ==
== Features ==
 
{{Baustelle}}
<u>Modul und diese Bearbeitung sind noch in Entwicklung</u>
{{Todo|
*Einfache Beispielkonfigurationen aus erfolgreich in Betrieb gegangenen Anlagen, um einen leichteren Einstieg zu ermöglichen.
*Einstiegstext im Abschnitt Funktionsweise
*Randbedingungen und Wirkungsweise ausführlicher erläutern}}


----
----


<u>umfassende Parametereinstellung</u>
''' <u>umfassende Parametereinstellung</u> '''
* alle Modulteile können einzeln eingestellt oder deaktiviert werden
* alle Modulteile können einzeln eingestellt oder deaktiviert werden


<u>derzeit enthaltene interne Module</u>
''' <u>derzeit enthaltene interne Module</u> '''
* VorlaufRegler: Heizkurvenberechnung und/oder Zusatzmodule berücksichtigen
* VorlaufRegler: Heizkurvenberechnung und/oder Zusatzmodule berücksichtigen
* VorlaufZeitschaltplan: Wochenplaner für VL-Absenkung nach Zeiten
* VorlaufZeitschaltplan: Wochenplaner für VL-Absenkung nach Zeiten
Zeile 27: Zeile 33:
* Warmwasser: manuelle Einstellung Eco/Confort/Gradzahl
* Warmwasser: manuelle Einstellung Eco/Confort/Gradzahl
* WarmWasser Kochprogramm über Wochenplaner  
* WarmWasser Kochprogramm über Wochenplaner  
* KesselRegler: Einstellen der optimalen Kesseltemp. nach WarmWasser,Vorlauf,Brennertakt,VL/RL-Differenztemp.
* KesselRegler: Einstellen der optimalen Kesseltemp. nach WarmWasser, Vorlauf, Brennertakt, VL/RL-Differenztemperatur
 
== Funktionsweise ==


Thread im Forum:[http://forum.fhem.de/index.php/topic,24021.0.html]
:<u>Global</u>
* jedes Untermodul kann mit attr abgeschaltet bzw. deaktiviert bzw. auf null gesetzte werden
* Timer-Einstellung für Zeitspanne bis zur nächsten periodischen Neuberechnung der Werte


== Beschreibung ==
:<u>Vorlauf</u>
* Vorlauf(allgemein) führt Vorlauf-Untermodule zusammen
* komplett frei konfigurierbare Parameter für lineare Heizkurve (über attr)
* Vorlauf: Heizkurve nach Außentemperatur
* Vorlauf: Nachjustierung nach Mischerposition
* Vorlauf: Nachjustierung nach VL/RL-Differenz
* Vorlauf: Nachregulierung über valvePosition falls Thermostat-Daten vorhanden
* Vorlauf: Abschaltung nach Außentemperatur-Limit
* Vorlauf: Abschaltung wenn Temperatursprung durch Holzofen erkannt
* integrierter Wochenzeitplan für timergesteuerte Erhöhung/Absenkung


die von FHEM mit dem modul ZHK gesteuerten Lastrelais werden in Reihe mit den sicherheitsrelevanten Teilen der Heizing 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.
:<u>Kessel</u>
Im aktuellen Modulumfang sind folgende Anschlüsse an der Heizung enthalten:
* Grundeinstellung mit klassischer Heizkurve nach aktueller Außentemperatur (kann abgeschaltet werden)
* Totalabschaltung nach aktueller Außentemperatur
* Mindest-Temp nach Diff zu aktueller Warmwasser-Temperatur
* Mindest-Temp nach Diff zu aktueller Vorlauf-Temperatur
* Anpassung mit Rechenfaktor zu aktueller Vorlauf-Rücklauf Differenztemperatur
* Anpassung mit Rechenfaktor zu aktueller Mischer-Position
* Schlußkontrolle Sicherheitseinstellungen (attr) absoluteMax und absoluteMin
 
:<u>Warmwasser</u>
* vordefinierte Temperaturen für Eco und Confort Modus
* manuelle Temp.Einstellung über FHEM jederzeit möglich
* manuelle Temp.Einstellung wird beim nächsten Zeitschaltplan automatisch auf Auto zurückgesetzt
* integrierter Wochenzeitplan für timergesteuerte Temperatureinstellung
 
:<u>Valvepositions</u>
* Nachregulierung Vorlauf über valvePositions
 
:<u>TaktOpt</u>
* Auswertung Brennertakt, häufige Starts vermeiden durch dynamische Nachregelung des Kesseltemp-Thresholds
* zhkBrennerAlwasTriggerWw: attr um automatisch bei Brennerstart die Ww-Ladepumpe zu starten
 
== Zeitpläne ==
 
<u>Zeitplan-Syntax</u>
<einzelner Wochentag oder * für alle> <Zeitplan in text kodiert>
 
<u>Beispiele</u>
* für den Warmwasser-Timer werden feste Temperatureinstellungen angegeben:
:<code>Fr 00:00=30|05:00=35|08:00=30|17:00=35|22:00=30|23:00=20</code>
* zur programmierten Uhrzeit wird die Ww-Temp- automatisch eingestellt.
* für den Vorlauf-Timer werden Diff.Temperaturen angegeben:
:<code>* 01:00=-3|04:00=2|07:00=-1|17:00=1|22:00=-1|23:00=-2</code>
 
 
== Elektrische Anschlüsse ==
 
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, dass 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 Elektrischen Anschlussmöglichkeiten an der Heizung enthalten:


* BrennerStop
* BrennerStop
Zeile 40: Zeile 97:
* Warmwasser-Boost (übergehen der Max.Temp.)
* Warmwasser-Boost (übergehen der Max.Temp.)
* VorlaufPumpe Aus/An
* VorlaufPumpe Aus/An
* Mischermotor zB.: [http://www.fhemwiki.de/wiki/Mischersteuerung]  
* Mischermotor zB.: [http://www.fhemwiki.de/wiki/Mischersteuerung]
* Thermometer Kessel
* Thermometer Kessel(2nd backup)
* Thermometer Warmwasser
* Thermometer Vorlauf
* Thermometer Rücklauf
* Thermometer Referenzraum Holzofen
* Thermometer Außentemperatur
 
<b>Elektrische Anschlüsse am Kessel dürfen nur von Fachleuten durchgeführt werden. Lebensgefahr durch Stromschlag!</b>
 


== Define ==
== Define ==
<code>
:<code>define <name> ZHK <startverzögerung></code>
  define <name> ZHK <startverzögerung>  
der wert <startverzögerung> gibt an, wie viele Sekunden ZHK wartet bevor die Berechnung startet. Empfohlen sind ca.120 Sekunden; damit auch langsame devices wie zb. OW thermometer über Ethernet genug Zeit haben, werte zu liefern.
</code>
 


Um die Wirkung unf Funktionsweise auszuprobieren, bietet sich an mehrere '''Dummys''' zu verwenden:
Um die Wirkung und Funktionsweise des Moduls auszuprobieren, bietet sich an, mehrere '''Dummys''' zu verwenden:


<code>
<code>
define zhkBrennerFhemDev dummy
define zhkBrennerFhemDev dummy
define zhkWwPumpFhemDev dummy
define zhkWwPumpFhemDev dummy
define zhkWwBoostFhemDev dummy
define zhkWwBoostFhemDev dummy
define zhkVorlaufPumpOffFhemDev dummy
define zhkVorlaufPumpOffFhemDev dummy
define zhkVorlaufMischerFhemDev dummy
define zhkVorlaufMischerFhemDev dummy
define zhkVorlaufTempTriggerFhemDev dummy
define zhkVorlaufTempTriggerFhemDev dummy
</code>
</code>


Um alle Einstellmöglichkeiten auf Standardwerte Grundeinzustellen kann das Kommando SetAttribs verwendet werden. Bereits bestehende Einstellungen werden dabei nicht überschrieben.
* zhkVorlaufTempTriggerFhemDev ist bewusst ausgelagert als FhemDev, hier kann entweder ein notify oder eigenes dev oder zB PID20 oder eine bereits bestehende Hardware-Temperaturregelung eingebunden werden
<code>
 
set <name> SetAttribs
* Um alle Einstellmöglichkeiten auf Standardwerte Grundeinzustellen kann das Kommando SetAttribs verwendet werden. Bereits bestehende Einstellungen werden dabei nicht überschrieben.
</code>
 
:<code>set <name> SetAttribs</code>


Der Wochenplan für die Vorlaufabsenkung kann mit dem befehl vltimer eingestellt werden. Die Syntax ist:
* Der Wochenplan für die Vorlaufabsenkung kann mit dem befehl vltimer eingestellt werden. Die Syntax ist:
<code>
:<code>set <name> vltimer <Mo|Di|Mi|Do|Fr|Sa|So|*> <04:00=0|08:30=-3|17:00=0|22:00=-3></code>
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!
</code>
Achtung: bei set "*" werde alle Tage auf einmal überschrieben!


Der Wochenplan für die Warmwassertemperatur kann mit dem befehl wwtimer eingestellt werden. Die Syntax ist:
* Der Wochenplan für die Warmwassertemperatur kann mit dem befehl wwtimer eingestellt werden. Die Syntax ist:
<code>
:<code>set <name> wwtimer <Mo|Di|Mi|Do|Fr|Sa|So|*> <04:00=45|08:30=30|17:00=45|22:00=30></code>
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!
</code>
Achtung: bei set "*" werde 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.
* Die Warmwassertemperatur kann jederzeit mit FHEM manuell eingestellt werden. Beim nächsten Zeitplan-Punkt geht die Temperatur automatisch wieder auf den vorprogrammierten Wert.
<code>
:<code>set <name> zhkWwSollTemp <Eco|Confort| gradzahl ></code>
set <name> zhkWwSollTemp <Eco|Confort| gradzahl >
</code>
Eco und Confort sind Standardtemperaturen die über Attr voreingestellt werden können.
Eco und Confort sind Standardtemperaturen die über Attr voreingestellt werden können.
== Set ==
:<code>set <name> <command> <option></code>
* zhkWwSollTemp: 30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,Eco,Confort
* SetAttribs
* vorlauf: 20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,auto
* vltimer +string
* wwtimer +string
== Get ==
:<code>get <name> <command> <option></code>
extracted usage of get command:
* zhkHolzofenTempSensorTimestamp
* zhkWwPriorityOn
* zhkBrennerActualState
* autocontrol
* zhkAussenTempYesterday
* state
* zhkKesselActualMischerAnhebung
* zhkWwBetriebsmodus
* zhkAussenTempAlarmThreshold
* zhkAussenTempAlarmTempLimit
* zhkWwBoostStatus
* zhkWwIstTempVal
* zhkAussenTempIsWarmState
* zhkWwSollTemp
* zhkHolzofenState
* zhkKesselActualVLRLAnhebung
* zhkAussenTempYesterdayMax
* zhkVorlaufTotalOnOffState
* zhkAussenTempDelayCache
* zhkWwAlphaActualVal
* zhkVorlaufActualTempVL
* looptime
* zhkWwPumpStopStatus
* zhkKesselDesiredTemp
* zhkKesselState
* zhkBrennerLogLastStateChange
* zhkWwIstLastReading
* zhkBrennerLaststart
* zhkVorlaufState
* zhkKesselActualVLRLdiff
* zhkWwIstTempTimestamp
* zhkAussenTempYesterdayMin
* zhkHolzofenTempHistoryCache
* zhkWwTimerLastSetValue
* zhkWwPumpLaststart
* zhkVorlaufDesiredTemp
* zhkVorlaufMischerPosActualPosition
* zhkKesselActualTemp
* zhkHolzofenAlphaActualVal
* zhkBrennerLogLastStopDauer
* zhkHolzofenTempSensorActValue
* zhkAussenTempActualVal
* zhkHolzofenResetLowTemp
* zhkVorlaufTimerTempAdjust
* zhkAussenTempTodayMax
* zhkVorlaufActualTempRL
* attrHelp: zhkBrennerTaktMinOnSec,zhkAussenTempMaxAge,zhkVorlaufTempTriggerFhemDevReading,zhkVorlaufHkurveAussenMax_TH,zhkWwTaktMinOnSec,zhkGlobalIncludeWwZeischaltplan,autocontrol,zhkBrennerTaktMinOffSec,zhkGlobalIncludeVorlauf,zhkGlobalPollInterval,zhkGlobalIncludeAussentemp,zhkKesselAbsoluteMaxTemp,zhkKesselTempMaxReadingAge,zhkAussenTempFhemDevReadingFallback,zhkWwTimerScheduleSo,zhkVorlaufPumpOffFhemDev,zhkHolzofenAlphaUpAlarmDiffDeg,zhkAussenTempFhemDevFallback,zhkAussenTempIgnoreIfFhemDev,zhkWwAlphaThreshold,zhkHolzofenIgnoreTempIfFhemDev,zhkVorlaufTimerScheduleSo,zhkKesselTempSecondFhemDevReading,zhkAussenTempAlarmThreshold,zhkHolzofenTempSensorMinAge,zhkVorlaufTimerScheduleDo,zhkAussenTempAlarmTempLimit,zhkWwTimerScheduleMi,zhkVorlaufMischerPosFhemDevReading,zhkWwTimerScheduleMo,zhkVorlaufMischerPosFhemDev,zhkVorlaufHkurveVorlaufMin_TL,zhkGlobalIncludeKessel,zhkWwTempSensorMaxAge,zhkVorlaufHkurveAussenMin_TL,zhkWwTempSensorFhemDev,zhkHolzofenResetLowFhemDev,zhkWwBoostStartTemp,zhkHolzofenTempSensorFhemDev,zhkAussenTempFhemDevReading,zhkGlobalIncludeVorlaufZeischaltplan,zhkKesselTempFhemDev,zhkHolzofenTempSensorReading,zhkWwTimerScheduleDi,zhkWwTempSensorDefaultOnFailure,zhkWwAlphaUpAlarmDiffDeg,zhkGlobalIncludeValvePositions,zhkWwTimerScheduleFr,zhkVorlaufTimerScheduleMo,zhkHolzofenTempSensorDefaultOnFailure,zhkHolzofenResetLowFhemDevreading,zhkKesselVLRLdiffErhFaktor,zhkAussenTempAlarmDelay,zhkWwBoostFhemDev,zhkKesselTempSecondFhemDev,zhkKesselMinDiffVorlauf,zhkHolzofenAlphaThreshold,zhkGlobalIncludeHolzofen,zhkVorlaufTimerScheduleSa,zhkVorlaufTimerScheduleFr,zhkKesselThreshold,zhkVorlaufTotalOnOffMischerDelay,zhkAussenTempIsWarmState,zhkVorlaufRLTempFhemDevReading,zhkKesselTempFhemDevReading,zhkWwTimerScheduleDo,zhkVorlaufTimerScheduleDi,zhkVorlaufVLTempFhemDevReading,zhkVorlaufRLTempFhemDev,zhkKesselMinDiffWw,zhkVorlaufTempTriggerFhemDevSetting,zhkWwAlphaDownAlarmDiffDeg,zhkBrennerFhemDev,zhkVorlaufTimerScheduleMi,zhkKesselAbsoluteMinTemp,zhkWwTempSensorReading,zhkWwEcoTemp,zhkKesselMischerErhFaktor,zhkGlobalIncludeWarmwasser,zhkVorlaufMischerFhemDev,zhkVorlaufTempTriggerFhemDev,zhkAussenTempFhemDev,zhkWwPumpFhemDev,zhkVorlaufVLTempFhemDev,zhkVorlaufHkurveVorlaufMax_TH,zhkWwTimerScheduleSa,zhkVorlaufIgnoreIfFhemDev,zhkHolzofenResetLowTemp,zhkWwConfortTemp,autocontrol
* readingsHelp: zhkHolzofenTempSensorTimestamp,zhkWwPriorityOn,zhkBrennerActualState,autocontrol,zhkAussenTempYesterday,zhkVorlaufHkurveCalcFaktor,zhkKesselActualMischerAnhebung,zhkWwBetriebsmodus,zhkBrennerLogLastStartDauer,zhkWwBoostStatus,zhkWwIstTempVal,zhkAussenTempTodayMin,zhkWwSollTemp,zhkHolzofenState,zhkKesselActualVLRLAnhebung,zhkAussenTempYesterdayMax,zhkVorlaufTotalOnOffState,zhkAussenTempDelayCache,zhkWwAlphaActualVal,zhkVorlaufActualTempVL,zhkWwPumpStopStatus,zhkKesselDesiredTemp,zhkKesselState,zhkVorlaufTotalOnOffReqTimeOff,zhkWwIstLastReading,zhkBrennerLogLastStateChange,zhkVorlaufState,zhkBrennerLaststart,zhkGlobalAutoGeneratedReadings,zhkWwIstTempTimestamp,zhkKesselActualVLRLdiff,zhkAussenTempYesterdayMin,zhkHolzofenTempHistoryCache,zhkWwTimerLastSetValue,zhkVorlaufManual,zhkWwPumpLaststart,zhkVorlaufDesiredTemp,zhkVorlaufMischerPosActualPosition,zhkKesselActualTemp,zhkAussenTempActualTimestamp,zhkHolzofenAlphaActualVal,zhkBrennerLogLastStopDauer,zhkHolzofenTempSensorActValue,zhkVorlaufTimerTempAdjust,zhkAussenTempActualVal,zhkAussenTempTodayMax,zhkVorlaufActualTempRL,
* all: ,Aussen,Brenner,Global,Holzofen,Kessel,Vorlauf,VorlaufTimer,Ww,WwTimer
* zhkWwiki: get,set,readings,attr
== Readings ==
Alle Readings sind auch in FHEM durch das Kommando get readingsHelp <varname> erklärt, für das "schnelle nachschauen zwischendurch".
{| class="wikitable sortable"
|-
! Reading !! (Typ) Default !! Beschreibung
|-
| zhkHolzofenTempSensorTimestamp|| (string) 0 || timestamp last OW update
|-
| zhkWwPriorityOn|| (int) 0 || wenn 1, dann brenner sofort starten
|-
| zhkBrennerActualState|| (int) 0 || burner state 0=off 1=on
|-
| autocontrol|| (int) 30 || initial delay after FHEM start before ZHK starts running, needed to wait for temp sensors or other slow devices
|-
| zhkAussenTempYesterday|| (float) 0 || cache of yesterday's date
|-
| zhkVorlaufHkurveCalcFaktor|| (float) 1.16 || erhöhungsfaktor heizkurve
|-
| zhkKesselActualMischerAnhebung|| (float) 0 || cached actual kessel temp
|-
| zhkWwBetriebsmodus|| (string) Unbekannt || wird über SET eingestellt: Eco | Confort (zb. mit at plan)
|-
| zhkBrennerLogLastStartDauer|| (int) 0 || cache zeitstempel für log betriebsstunden
|-
| zhkWwBoostStatus|| (string) off || zeigt aktuellen status 1=warmwasser temperaturbegrenzer überbrückt
|-
| zhkWwIstTempVal|| (float) 0 || OW lesen, wenn fehler dann default MAX
|-
| zhkAussenTempTodayMin|| (float) 0 || aussentemp today's minimum temp
|-
| zhkWwSollTemp|| (int) 30 || einstellung User (zeitplan mit at möglich)
|-
| zhkHolzofenState|| (int) 0 || actual calc result 0|1
|-
| zhkKesselActualVLRLAnhebung|| (float) 0 || cached actual kessel temp
|-
| zhkAussenTempYesterdayMax|| (float) 0 || aussentemp yesterday's maximum temp
|-
| zhkVorlaufTotalOnOffState|| (int) 1 || status VL totalabschaltung 1=pump on  0=all off
|-
| zhkAussenTempDelayCache|| (string) 0=22334455 || cache für trägheit aussentemp last-temp=timestamp
|-
| zhkWwAlphaActualVal|| (float) 0 || zuletzt berechneter wert für alpha
|-
| zhkVorlaufActualTempVL|| (float) 0 | VL readErr || cached actual vorlauf temperature
|-
| zhkWwPumpStopStatus|| (string) off || zeigt aktuellen status 1=warmwasser ladepumpe gestoppt 0=aufheizen
|-
| zhkKesselDesiredTemp|| (int) 35 || aktuelle soll-temp kessel
|-
| zhkKesselState|| (string) 0 || actual kessel State (BURN=brenner an, hot=max.temp erreicht idle=innerh.threshold) xx °C)
|-
| zhkVorlaufTotalOnOffReqTimeOff|| (float) 0 || internal cache for zhkVorlaufTotalOnOffMischerDelay
|-
| zhkWwIstLastReading|| (string) 0 || cached last OW temp for alpha-calc
|-
| zhkBrennerLogLastStateChange|| (int) 0 || cache zeitstempel für log betriebsstunden
|-
| zhkVorlaufState|| (int) 0 || actual vorlauf state (auto manual disabled off °C)
|-
| zhkBrennerLaststart|| (int) 0 || brenner cached last start timestamp
|-
| zhkGlobalAutoGeneratedReadings|| (string) 0 || alert if readings were not present in statefile at start
|-
| zhkWwIstTempTimestamp|| (string) 0 || timestamp last OW update
|-
| zhkKesselActualVLRLdiff|| (float) 0 || cached actual kessel temp
|-
| zhkAussenTempYesterdayMin|| (float) 0 || aussentemp yesterday's minimum temp
|-
| zhkHolzofenTempHistoryCache|| (string) 20=11223344 20=11225566 || cached last 2 temp readings
|-
| zhkWwTimerLastSetValue|| (int) 0 || last Ww desired temp set by timer function
|-
| zhkVorlaufManual|| (int) 0 || cached manual setting fixed temp if >0
|-
| zhkWwPumpLaststart|| (int) 0 || zeitstempel lester start warmwasser ladepumpe
|-
| zhkVorlaufDesiredTemp|| (float) 20 || calculated desired vorlauf temp
|-
| zhkVorlaufMischerPosActualPosition|| (int) 0 || heizkreis-mischer actual position
|-
| zhkKesselActualTemp|| (float) 0 || cached actual kessel temp
|-
| zhkAussenTempActualTimestamp|| (float) 0 || timestamp of last aussentemp value
|-
| zhkHolzofenAlphaActualVal|| (float) 0 || zuletzt berechneter wert für alpha (./zhkHolzofenTempSensorMinAge
|-
| zhkBrennerLogLastStopDauer|| (int) 0 || cache zeitstempel für log betriebsstunden
|-
| zhkHolzofenTempSensorActValue|| (float) 0 || actual temp of sensor in holzofen room
|-
| zhkVorlaufTimerTempAdjust|| (int) 0 || wird in VL zu desired-t addiert
|-
| zhkAussenTempActualVal|| (float) 0 || actual aussentemp sensor temperature value
|-
| zhkAussenTempTodayMax|| (float) 0 || aussentemp today's maximum temp
|-
| zhkVorlaufActualTempRL|| (float) 0 | RL readErr || cached actual rücklauf temperature
|-
|}
== Attributes ==
Alle Attributes sind auch in FHEM durch das Kommando get attrHelp <varname> erklärt, für's "schnelle nachschauen zwischendurch".
{| class="wikitable sortable"
|-
! Attribute !! (Typ) Default !! Beschreibung
|-
| zhkBrennerTaktMinOnSec|| (int) 300 || brenner delay before set off after on-command
|-
| zhkBrennerAlwasTriggerWw|| (int) 1 || 1= always trigger Ww pump when burn starts
|-
| zhkAussenTempMaxAge|| (int) 1200 || max age of out-temp reading timestamp before ignore
|-
| zhkVorlaufTempTriggerFhemDevReading|| (string) desired || evtl.PID20 oder Notify-FhemDev für Mischeransteuerung
|-
| zhkVorlaufHkurveAussenMax_TH|| (int) 15 || max.wert für heizkurvenberechnung
|-
| zhkWwTaktMinOnSec|| (int) 60 || delay before off when WwPump started
|-
| zhkGlobalIncludeWwZeischaltplan|| (int) 1 || enable warmwasser timer module
|-
| autocontrol|| (int) 30 || initial delay after FHEM start before ZHK starts running, needed to wait for temp sensors or other slow devices
|-
| zhkBrennerTaktMinOffSec|| (int) 30 || delay before set on
|-
| zhkGlobalIncludeVorlauf|| (int) 1 || enable vorlauf (general) module
|-
| zhkGlobalPollInterval|| (int) 10 || internal loop interval for recalc, increase if cpu load is too high
|-
| zhkGlobalIncludeAussentemp|| (int) 1 || enable aussentemp module
|-
| zhkKesselAbsoluteMaxTemp|| (int) 70 || sicherheit falls rechenprobleme
|-
| zhkKesselTempMaxReadingAge|| (int) 600 || max age of kessel temp reading, if too old device is not present or has error ->log alert
|-
| zhkAussenTempFhemDevReadingFallback|| (string) state || FHEM dev reading aussentemp second (fallback or dummy)
|-
| zhkWwTimerScheduleSo|| (string) 0 || schaltpunkte für wochentagsplanung
|-
| zhkVorlaufPumpOffFhemDev|| (string) P6_PumpOff || FhemDev das Vorlauf stromzufuhr pumpe kappt
|-
| zhkHolzofenAlphaUpAlarmDiffDeg|| (float) 3 || min.diff für abschaltung hot
|-
| zhkAussenTempFhemDevFallback|| (string) dummyOnlineWeatherTemp || FHEM device aussentemp second (fallback or dummy)
|-
| zhkAussenTempIgnoreIfFhemDev|| (string) dummyDisableAussentemp || while state if this FHEM device is true, disable aussentemp-calc temporarily
|-
| zhkWwAlphaThreshold|| (float) 0.42 || Meßtoleranz ww-temp °C
|-
| zhkHolzofenIgnoreTempIfFhemDev|| (string) dummyDisableHolzofen || zb. Window shutter, do not trigger if FhemDev state is true
|-
| zhkVorlaufTimerScheduleSo|| (string) 0 || schaltpunkte für wochentagsplanung
|-
| zhkKesselTempSecondFhemDevReading|| (string) temperature || device reading kesseltemperatur backup-device
|-
| zhkAussenTempAlarmThreshold|| (float) 1 || Mindestabweichung vom schaltpunkt für umschaltung
|-
| zhkHolzofenTempSensorMinAge|| (int) 300 || recalc alpha after seconds
|-
| zhkVorlaufTimerScheduleDo|| (string) 0 || schaltpunkte für wochentagsplanung
|-
| zhkAussenTempAlarmTempLimit|| (float) 16 || grundeinstellung AT schaltpunkt °C
|-
| zhkWwTimerScheduleMi|| (string) 0 || schaltpunkte für wochentagsplanung
|-
| zhkVorlaufMischerPosFhemDevReading|| (string) position || heizkreis-mischer device reading für position
|-
| zhkWwTimerScheduleMo|| (string) 0 || schaltpunkte für wochentagsplanung
|-
| zhkVorlaufMischerPosFhemDev|| (string) MischerPosition || heizkreis-mischer FHEM device
|-
| zhkVorlaufHkurveVorlaufMin_TL|| (int) 20 || min.wert für heizkurvenberechnung
|-
| zhkGlobalIncludeKessel|| (int) 1 || enable kessel regler module
|-
| zhkWwTempSensorMaxAge|| (int) 300 || sensor ignorieren wenn state-age > x seconds
|-
| zhkVorlaufHkurveAussenMin_TL|| (int) -20 || min.wert für heizkurvenberechnung
|-
| zhkWwTempSensorFhemDev|| (string) 5_15_WarmWasser_EB6F98050000 || FHEM device to read the temperature from
|-
| zhkHolzofenResetLowFhemDev|| (string) Heizg_Wohnzimmer1 || FHEM device to read reset-low temp from
|-
| zhkWwBoostStartTemp|| (int) 45 || temp. ab der die umgehung notwendig ist
|-
| zhkHolzofenTempSensorFhemDev|| (string) 83_WohnZi_9554CD040000 || FHEM device to read the temperature from
|-
| zhkAussenTempFhemDevReading|| (string) temperature || FHEM dev reading aussentemp
|-
| zhkGlobalIncludeVorlaufZeischaltplan|| (int) 1 || enable vorlauf timer module
|-
| zhkKesselTempFhemDev|| (string) 4_14_Kessel_E3CD97050000 || FHEM device kesseltemperatur
|-
| zhkHolzofenTempSensorReading|| (string) temperature || name of reading with float temp value
|-
| zhkWwTimerScheduleDi|| (string) 0 || schaltpunkte für wochentagsplanung
|-
| zhkWwTempSensorDefaultOnFailure|| (int) 70 || default temp to assume if temp-sensor fails
|-
| zhkWwAlphaUpAlarmDiffDeg|| (float) 5 || min.diff zu abschaltung hot für AlphaUp
|-
| zhkGlobalIncludeValvePositions|| (int) 1 || enable valve position correction module
|-
| zhkWwTimerScheduleFr|| (string) 0 || schaltpunkte für wochentagsplanung
|-
| zhkVorlaufTimerScheduleMo|| (string) 0 || schaltpunkte für wochentagsplanung
|-
| zhkHolzofenTempSensorDefaultOnFailure|| (int) 20 || temp.default if sensor fail
|-
| zhkHolzofenResetLowFhemDevreading|| (string) desiredTemperature || FHEM device reading to read reset-low temp from
|-
| zhkKesselVLRLdiffErhFaktor|| (float) 0 || erhöhungsfaktor: gewichtung VL-RL-diff für kesseltemp.einstellung
|-
| zhkAussenTempAlarmDelay|| (int) 600 || Trägheit AT schaltung seconds
|-
| zhkWwBoostFhemDev|| (string) P2_WwBoost || relais um analoge temperaturbegrenzug zu übergehen
|-
| zhkKesselTempSecondFhemDev|| (string) 0 || FHEM device kesseltemperatur backup-device
|-
| zhkKesselMinDiffVorlauf|| (int) 10 || min.diff Vorlauf-Soll/Kessel-Min-Soll
|-
| zhkHolzofenAlphaThreshold|| (float) 0.07 || Meßtoleranz temp °C
|-
| zhkGlobalIncludeHolzofen|| (int) 1 || enable holzofen detection module
|-
| zhkVorlaufTimerScheduleSa|| (string) 0 || schaltpunkte für wochentagsplanung
|-
| zhkVorlaufTimerScheduleFr|| (string) 0 || schaltpunkte für wochentagsplanung
|-
| zhkKesselThreshold|| (int) 5 || zulässige temp.schwankung kessel
|-
| zhkVorlaufTotalOnOffMischerDelay|| (string) 150 || delay to wait for mischer calibrate before VL off
|-
| zhkAussenTempIsWarmState|| (int) 0 || actual state, 1=warm 0=cold
|-
| zhkVorlaufRLTempFhemDevReading|| (string) temperature || FHEM device reading, rücklauf temp
|-
| zhkKesselTempFhemDevReading|| (string) temperature || device reading kesseltemperatur
|-
| zhkWwTimerScheduleDo|| (string) 0 || schaltpunkte für wochentagsplanung
|-
| zhkVorlaufTimerScheduleDi|| (string) 0 || schaltpunkte für wochentagsplanung
|-
| zhkVorlaufVLTempFhemDevReading|| (string) temperature || FHEM device reading, vorlauf temp
|-
| zhkVorlaufRLTempFhemDev|| (string) 2_12_Ruecklauf_56B897050000 || FHEM device name, rücklauf temp
|-
| zhkKesselMinDiffWw|| (int) 8 || min.diff Ww-Soll/Kessel-Min-Soll
|-
| zhkVorlaufTempTriggerFhemDevSetting|| (string) desired || evtl.PID20 oder Notify-FhemDev für Mischeransteuerung
|-
| zhkWwAlphaDownAlarmDiffDeg|| (float) 0.8 || mindest-temp-diff für sofort-aufheizung
|-
| zhkBrennerFhemDev|| (string) P3_BrennerStop || brennerschalter, 0=burn 1=off
|-
| zhkVorlaufTimerScheduleMi|| (string) 0 || schaltpunkte für wochentagsplanung
|-
| zhkKesselAbsoluteMinTemp|| (int) 30 || sicherheit falls rechenprobleme
|-
| zhkWwTempSensorReading|| (string) temperature || name of reading with float temp value
|-
| zhkWwEcoTemp|| (float) 37 || tempvoreinstellung Eco-Modus
|-
| zhkKesselMischerErhFaktor|| (float) 0 || erhöhungsfaktor: gewichtung mischerposition für kesseltemp.einstellung
|-
| zhkGlobalIncludeWarmwasser|| (int) 1 || enable warmwasser module
|-
| zhkVorlaufMischerFhemDev|| (string) VorlaufMischer || zb STELLMOTOR FhemDev oder anderes Ventil
|-
| zhkVorlaufTempTriggerFhemDev|| (string) VorlaufRegler || evtl.PID20 oder Notify-FhemDev für Mischeransteuerung
|-
| zhkAussenTempFhemDev|| (string) 81_Aussen_D745CE040000 || FHEM device aussentemp
|-
| zhkWwPumpFhemDev|| (string) P7_WwStop || WW pumpe, 0=on / 1=off
|-
| zhkVorlaufVLTempFhemDev|| (string) 1_17_Vorlauf_D1F798050000 || FHEM device name, vorlauf temp
|-
| zhkVorlaufHkurveVorlaufMax_TH|| (int) 50 || max.wert für heizkurvenberechnung
|-
| zhkWwTimerScheduleSa|| (string) 0 || schaltpunkte für wochentagsplanung
|-
| zhkVorlaufIgnoreIfFhemDev|| (string) dummyDisableVorlauf || while state if this FHEM device is true, disable vorlauf(general)-calc temporarily
|-
| zhkHolzofenResetLowTemp|| (float) 18 || temp für reset des state auf 0 (if no FhemDev)
|-
| zhkWwConfortTemp|| (int) 31 || tempvoreinstellung Confort-Modus
|-
|}
== Links ==
* {{Link2Forum|Topic=24021|LinkText=Thread im Forum}}, in dem dieses Modul vorgestellt wurde
[[Kategorie:Heizungssteuerung]]
== Request for Help ==
Jegliche zusätzliche Erklärung die über die - zugegeben etwas technisch orientierte- Grundfassung dieses Artikels hinausgeht, ist herzlich willkommen.
Bitte einfach den "Bearbeiten" Link oben anklicken und eigene Texte ungefragt einfügen. Dankeschön!

Aktuelle Version vom 19. März 2017, 20:36 Uhr


ZHK
Zweck / Funktion
Dieses Modul ist noch Entwicklung
Allgemein
Typ Inoffiziell
Details
Dokumentation siehe Forum
Support (Forum) Codeschnipsel
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.


Todo:
  • Einfache Beispielkonfigurationen aus erfolgreich in Betrieb gegangenen Anlagen, um einen leichteren Einstieg zu ermöglichen.
  • Einstiegstext im Abschnitt Funktionsweise
  • Randbedingungen und Wirkungsweise ausführlicher erläutern



 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

Funktionsweise

Global
* jedes Untermodul kann mit attr abgeschaltet bzw. deaktiviert bzw. auf null gesetzte werden
* Timer-Einstellung für Zeitspanne bis zur nächsten periodischen Neuberechnung der Werte
Vorlauf
  • Vorlauf(allgemein) führt Vorlauf-Untermodule zusammen
  • komplett frei konfigurierbare Parameter für lineare Heizkurve (über attr)
  • Vorlauf: Heizkurve nach Außentemperatur
  • Vorlauf: Nachjustierung nach Mischerposition
  • Vorlauf: Nachjustierung nach VL/RL-Differenz
  • Vorlauf: Nachregulierung über valvePosition falls Thermostat-Daten vorhanden
  • Vorlauf: Abschaltung nach Außentemperatur-Limit
  • Vorlauf: Abschaltung wenn Temperatursprung durch Holzofen erkannt
  • integrierter Wochenzeitplan für timergesteuerte Erhöhung/Absenkung
Kessel
  • Grundeinstellung mit klassischer Heizkurve nach aktueller Außentemperatur (kann abgeschaltet werden)
  • Totalabschaltung nach aktueller Außentemperatur
  • Mindest-Temp nach Diff zu aktueller Warmwasser-Temperatur
  • Mindest-Temp nach Diff zu aktueller Vorlauf-Temperatur
  • Anpassung mit Rechenfaktor zu aktueller Vorlauf-Rücklauf Differenztemperatur
  • Anpassung mit Rechenfaktor zu aktueller Mischer-Position
  • Schlußkontrolle Sicherheitseinstellungen (attr) absoluteMax und absoluteMin
Warmwasser
  • vordefinierte Temperaturen für Eco und Confort Modus
  • manuelle Temp.Einstellung über FHEM jederzeit möglich
  • manuelle Temp.Einstellung wird beim nächsten Zeitschaltplan automatisch auf Auto zurückgesetzt
  • integrierter Wochenzeitplan für timergesteuerte Temperatureinstellung
Valvepositions
  • Nachregulierung Vorlauf über valvePositions
TaktOpt
  • Auswertung Brennertakt, häufige Starts vermeiden durch dynamische Nachregelung des Kesseltemp-Thresholds
  • zhkBrennerAlwasTriggerWw: attr um automatisch bei Brennerstart die Ww-Ladepumpe zu starten

Zeitpläne

Zeitplan-Syntax <einzelner Wochentag oder * für alle> <Zeitplan in text kodiert>

Beispiele

  • für den Warmwasser-Timer werden feste Temperatureinstellungen angegeben:
Fr 00:00=30|05:00=35|08:00=30|17:00=35|22:00=30|23:00=20
  • zur programmierten Uhrzeit wird die Ww-Temp- automatisch eingestellt.
  • für den Vorlauf-Timer werden Diff.Temperaturen angegeben:
* 01:00=-3|04:00=2|07:00=-1|17:00=1|22:00=-1|23:00=-2


Elektrische Anschlüsse

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, dass 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 Elektrischen Anschlussmöglichkeiten an der Heizung enthalten:

  • BrennerStop
  • Warmwasser-Ladepumpe
  • Warmwasser-Boost (übergehen der Max.Temp.)
  • VorlaufPumpe Aus/An
  • Mischermotor zB.: [1]
  • Thermometer Kessel
  • Thermometer Kessel(2nd backup)
  • Thermometer Warmwasser
  • Thermometer Vorlauf
  • Thermometer Rücklauf
  • Thermometer Referenzraum Holzofen
  • Thermometer Außentemperatur

Elektrische Anschlüsse am Kessel dürfen nur von Fachleuten durchgeführt werden. Lebensgefahr durch Stromschlag!


Define

define <name> ZHK <startverzögerung>

der wert <startverzögerung> gibt an, wie viele Sekunden ZHK wartet bevor die Berechnung startet. Empfohlen sind ca.120 Sekunden; damit auch langsame devices wie zb. OW thermometer über Ethernet genug Zeit haben, werte zu liefern.

Um die Wirkung und Funktionsweise des Moduls 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

  • zhkVorlaufTempTriggerFhemDev ist bewusst ausgelagert als FhemDev, hier kann entweder ein notify oder eigenes dev oder zB PID20 oder eine bereits bestehende Hardware-Temperaturregelung eingebunden werden
  • 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 wieder auf den vorprogrammierten Wert.
set <name> zhkWwSollTemp <Eco|Confort| gradzahl >

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

Set

set <name> <command> <option>
  • zhkWwSollTemp: 30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,Eco,Confort
  • SetAttribs
  • vorlauf: 20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,auto
  • vltimer +string
  • wwtimer +string

Get

get <name> <command> <option>

extracted usage of get command:


  • zhkHolzofenTempSensorTimestamp
  • zhkWwPriorityOn
  • zhkBrennerActualState
  • autocontrol
  • zhkAussenTempYesterday
  • state
  • zhkKesselActualMischerAnhebung
  • zhkWwBetriebsmodus
  • zhkAussenTempAlarmThreshold
  • zhkAussenTempAlarmTempLimit
  • zhkWwBoostStatus
  • zhkWwIstTempVal
  • zhkAussenTempIsWarmState
  • zhkWwSollTemp
  • zhkHolzofenState
  • zhkKesselActualVLRLAnhebung
  • zhkAussenTempYesterdayMax
  • zhkVorlaufTotalOnOffState
  • zhkAussenTempDelayCache
  • zhkWwAlphaActualVal
  • zhkVorlaufActualTempVL
  • looptime
  • zhkWwPumpStopStatus
  • zhkKesselDesiredTemp
  • zhkKesselState
  • zhkBrennerLogLastStateChange
  • zhkWwIstLastReading
  • zhkBrennerLaststart
  • zhkVorlaufState
  • zhkKesselActualVLRLdiff
  • zhkWwIstTempTimestamp
  • zhkAussenTempYesterdayMin
  • zhkHolzofenTempHistoryCache
  • zhkWwTimerLastSetValue
  • zhkWwPumpLaststart
  • zhkVorlaufDesiredTemp
  • zhkVorlaufMischerPosActualPosition
  • zhkKesselActualTemp
  • zhkHolzofenAlphaActualVal
  • zhkBrennerLogLastStopDauer
  • zhkHolzofenTempSensorActValue
  • zhkAussenTempActualVal
  • zhkHolzofenResetLowTemp
  • zhkVorlaufTimerTempAdjust
  • zhkAussenTempTodayMax
  • zhkVorlaufActualTempRL
  • attrHelp: zhkBrennerTaktMinOnSec,zhkAussenTempMaxAge,zhkVorlaufTempTriggerFhemDevReading,zhkVorlaufHkurveAussenMax_TH,zhkWwTaktMinOnSec,zhkGlobalIncludeWwZeischaltplan,autocontrol,zhkBrennerTaktMinOffSec,zhkGlobalIncludeVorlauf,zhkGlobalPollInterval,zhkGlobalIncludeAussentemp,zhkKesselAbsoluteMaxTemp,zhkKesselTempMaxReadingAge,zhkAussenTempFhemDevReadingFallback,zhkWwTimerScheduleSo,zhkVorlaufPumpOffFhemDev,zhkHolzofenAlphaUpAlarmDiffDeg,zhkAussenTempFhemDevFallback,zhkAussenTempIgnoreIfFhemDev,zhkWwAlphaThreshold,zhkHolzofenIgnoreTempIfFhemDev,zhkVorlaufTimerScheduleSo,zhkKesselTempSecondFhemDevReading,zhkAussenTempAlarmThreshold,zhkHolzofenTempSensorMinAge,zhkVorlaufTimerScheduleDo,zhkAussenTempAlarmTempLimit,zhkWwTimerScheduleMi,zhkVorlaufMischerPosFhemDevReading,zhkWwTimerScheduleMo,zhkVorlaufMischerPosFhemDev,zhkVorlaufHkurveVorlaufMin_TL,zhkGlobalIncludeKessel,zhkWwTempSensorMaxAge,zhkVorlaufHkurveAussenMin_TL,zhkWwTempSensorFhemDev,zhkHolzofenResetLowFhemDev,zhkWwBoostStartTemp,zhkHolzofenTempSensorFhemDev,zhkAussenTempFhemDevReading,zhkGlobalIncludeVorlaufZeischaltplan,zhkKesselTempFhemDev,zhkHolzofenTempSensorReading,zhkWwTimerScheduleDi,zhkWwTempSensorDefaultOnFailure,zhkWwAlphaUpAlarmDiffDeg,zhkGlobalIncludeValvePositions,zhkWwTimerScheduleFr,zhkVorlaufTimerScheduleMo,zhkHolzofenTempSensorDefaultOnFailure,zhkHolzofenResetLowFhemDevreading,zhkKesselVLRLdiffErhFaktor,zhkAussenTempAlarmDelay,zhkWwBoostFhemDev,zhkKesselTempSecondFhemDev,zhkKesselMinDiffVorlauf,zhkHolzofenAlphaThreshold,zhkGlobalIncludeHolzofen,zhkVorlaufTimerScheduleSa,zhkVorlaufTimerScheduleFr,zhkKesselThreshold,zhkVorlaufTotalOnOffMischerDelay,zhkAussenTempIsWarmState,zhkVorlaufRLTempFhemDevReading,zhkKesselTempFhemDevReading,zhkWwTimerScheduleDo,zhkVorlaufTimerScheduleDi,zhkVorlaufVLTempFhemDevReading,zhkVorlaufRLTempFhemDev,zhkKesselMinDiffWw,zhkVorlaufTempTriggerFhemDevSetting,zhkWwAlphaDownAlarmDiffDeg,zhkBrennerFhemDev,zhkVorlaufTimerScheduleMi,zhkKesselAbsoluteMinTemp,zhkWwTempSensorReading,zhkWwEcoTemp,zhkKesselMischerErhFaktor,zhkGlobalIncludeWarmwasser,zhkVorlaufMischerFhemDev,zhkVorlaufTempTriggerFhemDev,zhkAussenTempFhemDev,zhkWwPumpFhemDev,zhkVorlaufVLTempFhemDev,zhkVorlaufHkurveVorlaufMax_TH,zhkWwTimerScheduleSa,zhkVorlaufIgnoreIfFhemDev,zhkHolzofenResetLowTemp,zhkWwConfortTemp,autocontrol
  • readingsHelp: zhkHolzofenTempSensorTimestamp,zhkWwPriorityOn,zhkBrennerActualState,autocontrol,zhkAussenTempYesterday,zhkVorlaufHkurveCalcFaktor,zhkKesselActualMischerAnhebung,zhkWwBetriebsmodus,zhkBrennerLogLastStartDauer,zhkWwBoostStatus,zhkWwIstTempVal,zhkAussenTempTodayMin,zhkWwSollTemp,zhkHolzofenState,zhkKesselActualVLRLAnhebung,zhkAussenTempYesterdayMax,zhkVorlaufTotalOnOffState,zhkAussenTempDelayCache,zhkWwAlphaActualVal,zhkVorlaufActualTempVL,zhkWwPumpStopStatus,zhkKesselDesiredTemp,zhkKesselState,zhkVorlaufTotalOnOffReqTimeOff,zhkWwIstLastReading,zhkBrennerLogLastStateChange,zhkVorlaufState,zhkBrennerLaststart,zhkGlobalAutoGeneratedReadings,zhkWwIstTempTimestamp,zhkKesselActualVLRLdiff,zhkAussenTempYesterdayMin,zhkHolzofenTempHistoryCache,zhkWwTimerLastSetValue,zhkVorlaufManual,zhkWwPumpLaststart,zhkVorlaufDesiredTemp,zhkVorlaufMischerPosActualPosition,zhkKesselActualTemp,zhkAussenTempActualTimestamp,zhkHolzofenAlphaActualVal,zhkBrennerLogLastStopDauer,zhkHolzofenTempSensorActValue,zhkVorlaufTimerTempAdjust,zhkAussenTempActualVal,zhkAussenTempTodayMax,zhkVorlaufActualTempRL,
  • all: ,Aussen,Brenner,Global,Holzofen,Kessel,Vorlauf,VorlaufTimer,Ww,WwTimer
  • zhkWwiki: get,set,readings,attr


Readings

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

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

Attributes

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

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

Links

Request for Help

Jegliche zusätzliche Erklärung die über die - zugegeben etwas technisch orientierte- Grundfassung dieses Artikels hinausgeht, ist herzlich willkommen. Bitte einfach den "Bearbeiten" Link oben anklicken und eigene Texte ungefragt einfügen. Dankeschön!