Hallo zusammen,
ich möchte einen Bewegungsmelder abhängig von den Lichtverhältnissen nutzen um das Aussenlicht zu schalten. Dazu will ich das Twilightmodul nutzen und hab folgendes notify erstellt:
define Test notify (BM_Garage:M.*) {\
if ((MyTW:light)<2){\
fhem('set Licht_Garage '.$EVTPART1);;;;\
}\
}
Aber leider funktioniert das nicht wirklich. Im Logfile steht diese Fehlermeldung:
2016.07.30 14:39:13 3: Test return value: syntax error at (eval 163161) line 2, near "MyTW:"
syntax error at (eval 163161) line 5, near "}
}"
Hat jemand eine Idee wo der Fehler liegt?
MfG zebbl
MyTW:light
Ist kein gültiger Perlausdruck
Okay... Wie muss es denn aussehen?!
Such mal nach ReadingsVal (... )
Danke für den Tipp...
Hab jetzt sowas gefunden, aber ich hab ja keine Ahnung von Perl.......
Was sagst du dazu?
define Test notify (BM_Garage:M.*) {\
my $licht=ReadingsVal("MyTW","light","6");;\
if ($licht<2){\
fhem('set Licht_Garage '.$EVTPART1);;;;\
}\
}
Könnte klappen
Zitat von: zebbl am 01 August 2016, 14:13:30
Danke für den Tipp...
Hab jetzt sowas gefunden, aber ich hab ja keine Ahnung von Perl.......
Was sagst du dazu?
define Test notify (BM_Garage:M.*) {\
my $licht=ReadingsVal("MyTW","light","6");;\
if ($licht<2){\
fhem('set Licht_Garage '.$EVTPART1);;;;\
}\
}
Ich denke die 6 sollte ohne Anführungszeichen da stehen, da es sonst (falls das Reading mal nicht da sein sollte und eben auf die 6 zurückfällt) als String und nicht als Zahl interpretiert wird und somit der Vergleich (<) nicht mehr funktioniert.
Gruß
Dan
Edit: Wozu sind denn die vier Semikolon? Zwei sollten doch maximal reichen!