Hallo,
habe am notify folgenden Code angehangen:
define Fernseher_Off notify Fernseher:off {\
if (Value("Fernseher") eq "on)\
{fhem("set TV_Fernbedienung KEY_POWER;; define a1 at +00:01:00 {system("sudo /usr/local/bin/pilight-send -p rev2_switch -i B1 -u 56 -f&")}")}}
Leider funktioniert er nicht und ich bekomme folgende Fehlermeldung:
2015.03.09 19:25:16 1: PERL WARNING: Bareword found where operator expected at (eval 19926) line 3, near ""set TV_Fernbedienung KEY_POWER; define a1 at +00:01:00 {system("sudo"
2015.03.09 19:25:16 3: eval: {
if (Value("Fernseher") eq "on"){
fhem("set TV_Fernbedienung KEY_POWER; define a1 at +00:01:00 {system("sudo /usr/local/bin/pilight-send -p rev2_switch -i B1 -u 56 -f&")}")}}
2015.03.09 19:25:16 1: PERL WARNING: Having no space between pattern and following word is deprecated at (eval 19926) line 3.
2015.03.09 19:25:16 3: eval: {
if (Value("Fernseher") eq "on"){
fhem("set TV_Fernbedienung KEY_POWER; define a1 at +00:01:00 {system("sudo /usr/local/bin/pilight-send -p rev2_switch -i B1 -u 56 -f&")}")}}
2015.03.09 19:25:16 1: PERL WARNING: Warning: Use of "-f" without parentheses is ambiguous at (eval 19926) line 3.
2015.03.09 19:25:16 3: eval: {
if (Value("Fernseher") eq "on"){
fhem("set TV_Fernbedienung KEY_POWER; define a1 at +00:01:00 {system("sudo /usr/local/bin/pilight-send -p rev2_switch -i B1 -u 56 -f&")}")}}
2015.03.09 19:25:16 3: Fernseher_Off return value: Can't find string terminator '"' anywhere before EOF at (eval 19926) line 3.
Die IF schleife fragt die Steckdose des Fernsehers ab.
Vielen Dank im voraus
arokh12
http://forum.fhem.de/index.php/topic,34649.msg269519.html#msg269519 und http://www.if-schleife.de/
falsche Klammersetzung und an der einen oder anderen Stelle ein Anführungszeichen zuwenig oder zuviel...
Ich würde das Ganze in eine Funktion in die 99_myUtils.pm auslagern, dann wird das viel einfacher.