Hallo,
Ich steuere über einen Raum-Temperaturfühler ein Relais an, der meinen Gasbrenner ein oder ausschaltet.
Nun ist es aber oft so, dass der Brenner ständig aus und wieder einschaltet, wenn die Temperatur erreicht ist.
Das will ich unterbinden.
Ich habe dazu ein Relais installiert, dass mir die Steuerbefehle vom Thermostat-Relais abfängt.
Ich will nun den Brenner, mit einer Mindesteinschaltzeit versehen.
Wenn Brenner ein, dann Relais ein, das das Ausschalten durch das Thermostat für 60 min unterbindet.
Dazu habe ich mir folgende Definition eingerichtet:
Internals:
DEF Gaseinsatz_Schalter
IF ([Gaseinsatz] eq "on") ( { fhem("set Gaseinsatz_Schalter on ; define Gasheizung_Timer_off at +01:00:00 set Gaseinsatz_Schalter off")})
NAME Gasheizung_Timer
NOTIFYDEV Gaseinsatz_Schalter
NR 774
NTFY_ORDER 50-Gasheizung_Timer
REGEXP Gaseinsatz_Schalter
STATE active
TYPE notify
READINGS:
2017-10-31 17:40:53 state active
Attributes:
room 2.03_Heizung_Schalter
Doch diese reagiert nicht auf den Einschaltimpuls.
Was ist falsch, bzw wie soll ich das besser lösen?
Endlich Mal einer der sowas noch mit notify macht.
Dein notify-syntax ist falsch.
Gaseinsatz_schalter:.* {
If (ReadingsVal("Gaseinsatz","state","") eq "on") { ... Deine befehle}
}
Für den Timer bitte defmod nutzen.
Ich weiß nicht ob das jetzt so gewollt ist. Wann immer der Event getriggert (immer wenn Gaseinsatz_Schalter einen event generiert,auch bei "Off"....) wird, wird dein Timer auf eine Stunde gesetzt (also verlängert).
Ist das Thermostat auch ein fhem-device? Wenn ja, dann solltest du die Events dort durch threshold eindampfen,dann bist du deinen Scheiss los und hast eine gute Zweipunkt-regelung.