Hauptmenü

DOIF Verständnisfrage

Begonnen von Bytechanger, 03 Januar 2018, 10:26:51

Vorheriges Thema - Nächstes Thema

Bytechanger

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

Damian

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.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF