Hallo, irgendwie scheitere ich iMo an einem simplen Problem. Ich habe in einer sub u.a. folgenden Codeteil:
my $switch = Value("Klima_Schalter");
my $send = Value("Klima_send_dummy");
if ($send eq "on" && $switch eq "on" && ($hour >= 12 && $hour <= 19)) {
fhem "set pifhem {system("irsend SEND_ONCE Klima KEY_POWER")}"
}
if ($send eq "on" && $switch eq "off" && ($hour >= 12 && $hour <= 19)) {
fhem "set Klima_Schalter on; sleep 2; set pifhem {system("irsend SEND_ONCE Klima KEY_POWER")}"
}
der system Befehl: fhem "set pifhem {system("irsend SEND_ONCE Klima KEY_POWER")}" bringt mir laufend einen Syntax Fehler und ich komme nicht darauf warum. pifhem ist ein dummy und sendet den Befehl über F2F an einen RASPI, dort hängt das IR Teil dran.
Rufe ich den Code auf Kommandoebene von FHEM auf, funktioniert es wie gewollt:
define Klima_Power_schalten notify Klima_Power_send_dummy:on set pifhem {system("irsend SEND_ONCE Klima KEY_POWER")}
das funktioniert.
hat jemand einen Tipp?
VG
Frank
Könnte es an der verschachtelten Verwendung der doppelten Anführungszeichen liegen?
Vielleicht geht es so:
fhem "set pifhem {system('irsend SEND_ONCE Klima KEY_POWER')}"
Ich denke das war es, komme iMo nicht zum testen. Manchmal ist man blind und sieht die einfachsten Dinge nicht :o
VG
Frank
auch hier ist der system aufruf und die perl ebene ziemlich sicher unnötig. "irsend..."
sollte reichen.
gruss
andre
Hallo Andre, der Aufruf wird über F2F an einen pi 1:1 "durchgereicht" und auf der Instanz braucht es den Aufruf über system..., wäre es local ginge es ohne, da ich auf Perl Ebene bin, hoffe ich liege nicht vollkommen falsch. ;)
VG
Frank
eben. weil es 1:1 durchgereicht wird sollte es gehen. die " werden ja mit durchgereicht.
OK, kann ich morgen testen, dachte das auf der remote Instanz der Aufruf wider mit {system("irsend SEND_ONCE Klima KEY_POWER")} erfolgen muss.
Auf der remote Instanz ist folgendes definiert:
define F2F FHEM2FHEM 192.168.2.66:7072 LOG:pifhem.*
attr F2F room System
define n_pifhem notify pifhem.* {Log 3, "$NAME: $EVENT";;fhem("$EVENT")}
attr n_pifhem disable 0
attr n_pifhem room Infrarot
VG
Frank