Hallo
Das hier funktioniert wie es soll.
*09:00 { if (($we) && (ReadingsVal("Anwesenheit","state",99) eq "1")) { fhem "set LenovoYoga2Pro screenFullscreen on"; sleep 2; fhem "set LenovoYoga2Pro screen on" }}
Das aber nicht, wie schaffe ich es, das notify am we und am Freitag auszuführen?
*09:00 { if (($we) || ($wday == 5) && (ReadingsVal("Anwesenheit","state",99) eq "1")) { fhem "set LenovoYoga2Pro screenFullscreen on"; sleep 2; fhem "set LenovoYoga2Pro screen on" }}
Beste Grüße
Heinz
Man achte auf die Operator-Prezedenz. && ist staerker als ||:
if(($we || $wday == 5) && ReadingsVal("...")) {...}
Weniger Klammern sind meist besser.
Zitat von: rudolfkoenig am 20 Juli 2016, 08:14:38
Man achte auf die Operator-Prezedenz. && ist staerker als ||:
if(($we || $wday == 5) && ReadingsVal("...")) {...}
Weniger Klammern sind meist besser.
Okay, danke!
Teste ich heute Abend 8)
Gesendet von meinem GT-I9505 mit Tapatalk
So konnte ich es lösen:
Noch weniger Klammern geht evtl. nicht.
Für !$we
*17:00 { if ((!$we || $wday == 5) && ReadingsVal("Anwesenheit","state",99) eq "1") { fhem "set LenovoYoga2Pro screenFullscreen on"; sleep 2; fhem "set LenovoYoga2Pro screen on" }}
Für $we
*09:00 { if (($we || !$wday == 5) && ReadingsVal("Anwesenheit","state",99) eq "1") { fhem "set LenovoYoga2Pro screenFullscreen on"; sleep 2; fhem "set LenovoYoga2Pro screen on" }}
PS: was macht die 99 ?
Grüße
Heinz
Wie wärs mit
if(($wday >= 5) && (ReadingsVal("...")) {...}
?
Wenn state keinen Wert liefert wird 99 als Default zurück geliefert.
Grüße Jörg
Gesendet von iPhone mit Tapatalk