FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: crusader85 am 23 Juni 2019, 12:14:03

Titel: DOELSE wird immer ausgeführt
Beitrag von: crusader85 am 23 Juni 2019, 12:14:03
Hi, folgendes Problem habe ich:

Beispielwerte (aktuell)
Gartenhaus_Temperatur = 25
Helligkeit_Sued = 18000
Wohnzimmer_Temperatur = 23
HitzeSchild = aktiv
Sonne:azimuth = 132


([Gartenhaus_Temperatur] >= 23 and [Helligkeit_Sued]>23000)
(set Hitze_Sued aktiv)
DOELSEIF
([HitzeSchild] eq "aktiv" and [Gartenhaus_Temperatur]>[Wohnzimmer_Temperatur])
(set Hitze_Sued aktiv)
DOELSEIF
([Gartenhaus_Temperatur] < 23) and [Helligkeit_Sued]<23000 and [Sonne:azimuth] < 240)
(set Hitze_Sued inaktiv)
DOELSE (set Hitze_Sued inaktiv)

Drücke ich jetzt "Checkall" wird richtigerweise CMD2 ausgeführt. Aber sobald sich irgendwo ein Wert ändert, springt er auf CMD4 (DOELSE).
Es ist ein Waittimer mit je 900Sekunden drin, dadurch fahren die Rollladen nicht alle paar Sekunden.
Ich habe aber keine Idee mehr, warum es automatisch nicht richtig funktioniert
Titel: Antw:DOELSE wird immer ausgeführt
Beitrag von: DasQ am 23 Juni 2019, 12:51:08
Doelse macht unabhängig von welchem Zustand zuvor auf ,,wahr" geprüft wurde, immer als letztes, ohne wahrheitsprüfung.

Also wird dein doif durch den Filter getriggert und ist unwahr, wird doelse ausgeführt.

Hoffentlich halbwechs verständlich erklärt.
Du kannst aber das doelse weglassen oder per doelseif dem doif verlassen.