FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: roedert am 16 August 2021, 21:58:32

Titel: Warum wird 22:00 das else ausgeführt?
Beitrag von: roedert am 16 August 2021, 21:58:32
Fürs Gartenlicht habe ich dieses DOIF
([16:00-23:00] && ($month >= 3 && $month <= 9) && [Aussen.Helligkeit:brightness]<20) (
  {
    Log 2,"DOIF $SELF: $DEVICE $EVENT cmd_1";
    fhem("set Garten.Licht scene abends_Sommer");
  }
)
DOELSEIF ([16:00-22:00] && ($month >= 10 || $month <= 2) && [Aussen.Helligkeit:brightness]<20 && [Weihnachtsbeleuchtung]==1) (
  {
    Log 2,"DOIF $SELF: $DEVICE $EVENT cmd_2";
    fhem("set Garten.Licht scene Weihnachten");
  }
)
DOELSEIF ([16:00-22:00] && ($month >= 10 || $month <= 2) && [Aussen.Helligkeit:brightness]<20) (
  {
    Log 2,"DOIF $SELF: $DEVICE $EVENT cmd_3";
    fhem("set Garten.Licht scene abends_Winter");
  }
)
DOELSE (
  {
    Log 2,"DOIF $SELF: $DEVICE $EVENT cmd_else";
    fhem("set Garten.Licht scene off");
  }
)

Warum wird um genau 22:00 das DOELSE ausgeführt?
Eigentlich sind doch alle Bedingungen des ersten Blocks erfüllt .... es ist zwischen 16 und 23:00, Monat liegt zwischen 3 und 9 und Aussen.Helligkeit:brightness ist auch kleiner 20.
Titel: Antw:Warum wird 22:00 das else ausgeführt?
Beitrag von: Pfriemler am 16 August 2021, 22:19:48
Ich würde vermuten: Auch um 22 Uhr wird ein Timerevent ausgelöst für das DOIF. Aktuell lassen die übrigen Bedingungen dann aber nur das DOELSE übrig.
Titel: Antw:Warum wird 22:00 das else ausgeführt?
Beitrag von: Damian am 16 August 2021, 22:40:42
Zitat von: roedert am 16 August 2021, 21:58:32
Warum wird um genau 22:00 das DOELSE ausgeführt?
Eigentlich sind doch alle Bedingungen des ersten Blocks erfüllt .... es ist zwischen 16 und 23:00, Monat liegt zwischen 3 und 9 und Aussen.Helligkeit:brightness ist auch kleiner 20.

Weil der erste DOIF-Fall nicht betrachtet wird, weil dort der 22:00 Uhr-Trigger nicht vorkommt.