Hallo,
ich verwende innerhalb von perl einen fhem("sleep 15; Befehl.
Danach soll eine perl-Funktion aufgerufen werden. Wie füge ich diese dort ein?
{ fhem("sleep 15;{Funkt();}") } würde ja nicht funktionieren...
Greets
Doch, das funktioniert genau so. Hier ein Beispiel aus meiner 99_MyUtils.pm:fhem("sleep 4 sleep_mySpeak1;{myPollySpeak(\"$text\",10)}");
Zitatfhem("sleep 4 sleep_mySpeak1;{myPollySpeak(\"$text\",10)}");
Ich hab bisher mitgenommen und gerade auch die Tage wieder so umgesetzt, das man bei der Übergabe von Variablen als Parameter keine Quotes angeben muss (unabhängig davon ob Text oder numerische Werte übergeben werden), also auch nix maskieren.
Mag aber auch nicht ausschliessen das ich irgendwas übersehe und es Situationen gibt wo die Quotes vonnöten sind.
Zitat{ fhem("sleep 15;{Funkt();}") } würde ja nicht funktionieren...
Ich meine das das funktioniert, aber ich wuerde sowas "sauber" bauen mit:
{ InternalTimer(gettimeofday()+15, "Funkt", undef, 0) }
oder
{ InternalTimer(gettimeofday()+15, \&Funkt, undef, 0) }