Wie schaffe ich es, das notify am we und am Freitag auszuführen?

Begonnen von heinzfo, 20 Juli 2016, 08:08:32

Vorheriges Thema - Nächstes Thema

heinzfo

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

rudolfkoenig

Man achte auf die Operator-Prezedenz. && ist staerker als ||:
if(($we || $wday == 5) && ReadingsVal("...")) {...}
Weniger Klammern sind meist besser.

heinzfo

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


heinzfo

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

TomWest

Wie wärs mit

if(($wday >= 5) && (ReadingsVal("...")) {...}

?
FHEM on R-π - HM-TC-IT-WM-W-EU - HM-LC-Sw1-FM - HM-SCI-3-FM - HM-CC-RT-DN

JoWiemann

Wenn state keinen Wert liefert wird 99 als Default zurück geliefert.


Grüße Jörg

Gesendet von iPhone mit Tapatalk
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM