FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Bytechanger am 03 Januar 2018, 10:26:51

Titel: DOIF Verständnisfrage
Beitrag von: Bytechanger am 03 Januar 2018, 10:26:51
Hallo,

ich habe eine Verständnisfrage...
Ich möchte, dass nach einer gewissen Zeit meine Außenlampen abgeschaltet werden, damit sie -wenn sie vergessen wurden- nicht die ganze Nacht durchbrennen.

Dafür hatte ich folgendes DOIF verwendet:
### wird es nach 30 Minuten abgeschaltet
([LichtGarageSeite:state] eq "on") ({
  fhem("set LichtGarageSeite off");
})
DOELSEIF([LichtGarageHinten:state] eq "on") ({
   fhem("set LichtGarageHinten off");
})
DOELSE


Mit einem wait 1800:1800

Nun stellte ich jedoch fest, dass nur eine Lampe abgeschaltet wird. Die zweite leuchtet weiter.
Die zuletzt eingeschaltete Lampe wird abgeschaltet...

Ich vermute, dass dies mit den Events zusammenhängt?!
Die letzte Lampe triggert ihren DOIF Zweig und der wird dann nach Ablauf der WAIT Zeit aktiv.
Danach tritt kein Event mehr auf um auch den anderen DOIF-Zweig zu aktivieren?!
Richtig so gedacht?
Dann könnte ich mein Problem nur lösen, wenn ich zwei DOIF Schleifen lege...

Greets

Byte
Titel: Antw:DOIF Verständnisfrage
Beitrag von: Damian am 03 Januar 2018, 10:30:56
Zitat von: Bytechanger am 03 Januar 2018, 10:26:51
Hallo,

ich habe eine Verständnisfrage...
Ich möchte, dass nach einer gewissen Zeit meine Außenlampen abgeschaltet werden, damit sie -wenn sie vergessen wurden- nicht die ganze Nacht durchbrennen.

Dafür hatte ich folgendes DOIF verwendet:
### wird es nach 30 Minuten abgeschaltet
([LichtGarageSeite:state] eq "on") ({
  fhem("set LichtGarageSeite off");
})
DOELSEIF([LichtGarageHinten:state] eq "on") ({
   fhem("set LichtGarageHinten off");
})
DOELSE


Mit einem wait 1800:1800

Nun stellte ich jedoch fest, dass nur eine Lampe abgeschaltet wird. Die zweite leuchtet weiter.
Die zuletzt eingeschaltete Lampe wird abgeschaltet...

Ich vermute, dass dies mit den Events zusammenhängt?!
Die letzte Lampe triggert ihren DOIF Zweig und der wird dann nach Ablauf der WAIT Zeit aktiv.
Danach tritt kein Event mehr auf um auch den anderen DOIF-Zweig zu aktivieren?!
Richtig so gedacht?
Dann könnte ich mein Problem nur lösen, wenn ich zwei DOIF Schleifen lege...

Greets

Byte

ja, wenn es zwei unabhängige Ereignisse sind, die sich nicht beeinflussen sollen, dann definierst du zwei separate DOIF-Module.