FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: mitdra am 26 Dezember 2017, 18:03:02

Titel: Doif Problem bei Heizungssteuerung do always funzt nicht wie gewünscht
Beitrag von: mitdra am 26 Dezember 2017, 18:03:02
Hallo zusammen,
wir haben im Kellerraum eine Infrarotheizung, die ich über einen Homematic Stecker schalte.
Wenn der Status Heimkino_Aktiv = JA ist, dann geht die Heizung bis zur Wunschtemperatur hoch und schaltet brav ab.
Wenn Status Heimkino_Aktiv = NEIN ist oder die Temperatur >= der Wunschtemperatur ist dann schaltet er auch brav aus.

Mit dem Attr do always funktioniert es, jedoch schaltet er permanent den Stecker aus, auch wenn der Status = NEIN ist. Dies sollte er jedoch einmalig tun.
([Heimkino_Aktiv:STATE] eq "JA" and [KG_WThermostat_Climate:measured-temp] lt [KG_WThermostat_Climate:desired-temp]) (set KG_Schalter_IFRot_Heizung on)
DOELSEIF (([Heimkino_Aktiv:STATE] eq "NEIN") or ([KG_WThermostat_Climate:measured-temp] ge [KG_WThermostat_Climate:desired-temp]))(set KG_Schalter_IFRot_Heizung off)


Wo liegt der Denkfehler, das er nur einmalig ausschaltet, wenn der Status Heimkino_AKtiv = NEIN ist?

Viele Grüße
mitdra
Titel: Antw:Doif Problem bei Heizungssteuerung do always funzt nicht wie gewünscht
Beitrag von: Ellert am 26 Dezember 2017, 19:41:07
Mit dem Attr do always funktioniert es, jedoch schaltet er permanent den Stecker aus, auch wenn der Status = NEIN ist.

Genau, das ist der Zweck von do always, immer wenn die Bedingung geprüft wird und wahr ist, dann wird geschaltet.

Zeichenketten Operatoren (lt, ge) scheinen mir bei numerischen Operanden unangebracht.

Du könntest FILTER im set-Befehl verwenden, siehe https://fhem.de/commandref_DE.html#devspec
Titel: Antw:Doif Problem bei Heizungssteuerung do always funzt nicht wie gewünscht
Beitrag von: Damian am 27 Dezember 2017, 07:21:08
Das Reading [Heimkino_Aktiv:STATE] gibt es nicht, entweder [Heimkino_Aktiv:state] oder [Heimkino_Aktiv] wenn du den Status (Internal) meinst.