Hauptmenü

DOELSE wird immer ausgeführt

Begonnen von crusader85, 23 Juni 2019, 12:14:03

Vorheriges Thema - Nächstes Thema

crusader85

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

DasQ

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.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org