Hallo zusammen,
das folgende Notify erzeugt den Fehler:
2016.07.22 12:18:46 3: AusDummyNeu3 return value: syntax error at (eval 297319) line 1, at EOF
AusDummy3:on {{(fhem"set Motion3Verlauf 0")} if (time - time_str2num(ReadingsTimestamp("Motion3Verlauf","state",0)) > 16 )}
Ich stehe da etwas auf dem Schlauch und kann eigentlich keinen Fehler finden
ich vermute mal, dass time eine Variable ist, und damit mit $time in die if-schleife gehört
... if ($time - time_str2num(Reading ...
ungetestet!
Diese Änderung bringt nur weitere Fehlermeldungen:
2016.07.22 14:44:24 1: PERL WARNING: Variable "$time" is not imported at (eval 318971) line 1.
2016.07.22 14:44:24 3: eval: my $EVTPART0='on';my $TYPE='dummy';my $SELF='AusDummyNeu3';my $EVENT='on';my $NAME='AusDummy3';{{(fhem"set Motion3Verlauf 0")} if ($time - time_str2num(ReadingsTimestamp("Motion3Verlauf","state",0)) > 16 )}
2016.07.22 14:44:24 3: AusDummyNeu3 return value: Global symbol "$time" requires explicit package name at (eval 318971) line 1.
syntax error at (eval 318971) line 1, at EOF
ungetestet:
AusDummy3:on { CommandSet(undef,'Motion3Verlauf 0') if (ReadingsAge('Motion3Verlauf','state',0) > 16) }
@betateilchen
scheint zu funktionieren, aber ich suche in Perl und der Commandreferenz mehr zu CommandSet() und Readingsage
Wo kann ich da genauere Beschreibungen finden ?
Zu CommandSet() wirst Du keine Doku finden, das ist die fhem-interne Funktion, die verwendet wird, wenn ein "set <device> irgendwas" ausgeführt werden soll. Es würde auch mit Deiner Variante fhem() funktionieren, aber das war mir zuviel Aufwand beim Schreiben 8)
ReadingsAge() ist eine Standardfunktion, die mit in die Gruppe ReadingsVal() und ReadingsTimestamp() gehört. Die Funktion ist in der fhem.pl dokumentiert. Sie gibt das Alter eine readings, ausgehend vom seinem Timestamp zurück und tut somit einfach genau das, was Du selbst versucht hast, auszurechnen.
ReadingsAge() existiert erst seit März 2016
https://forum.fhem.de/index.php/topic,50783.0.html
https://forum.fhem.de/index.php/topic,50812.0.html
Danke für deine Hilfe