Hallo,
ich will in einem at eine eigene Methode (99_MyUtils.pm) aufrufen.
Die Methode erwartet einen String "abc" als Parameter.
Wenn ich den Befehl so schreibe:
{ ...
fhem("define sz_Rollo_up at +00:00:01 {Rollo("sz_Rollo_Dummy 30")}");
... }
geht es nicht, da nach einem " der fhem Befehl zu ende ist.
Gibt es eine Möglichkeit das " zu maskieren?
so:
{ ...
my $temp = "sz_Rollo_Dummy 30";
fhem("define sz_Rollo_up at +00:00:01 {Rollo($temp)}");
...
}
wahrscheinlich ist folgendes richtiger bestimmt einfacher(zwei Parameter):
{ ...
my $temp = "sz_Rollo_Dummy";
fhem("define sz_Rollo_up at +00:00:01 {Rollo($temp, 30)}");
...
}
Funktioniert leider nicht:
2013.08.18 19:13:00 3: Unmatched right curly bracket at (eval 348) line 1, at end of line
syntax error at (eval 348) line 1, near "} }"
Hallo,
dann hast du irgendwo ein } zuviel.
Grüße
ich habe folgendes gemacht:
an();
sub an{
my $temp = "sz_Rollo_Dummy";
Log 3, "temp------------>$temp";
fhem("define sz_Rollo_up at +00:00:01 {Rollo($temp, 30)}");
}
sub Rollo ($) {
}
sub fhem ($) {
my($c) = @_;
Log 3, "c------------>$c";
}
dies war der output:
temp------------>sz_Rollo_Dummy
c------------>define sz_Rollo_up at +00:00:01 {Rollo(sz_Rollo_Dummy, 30)}
Process completed, Exit Code 0.
Execution time: 00:00.140
Syntktisch also ok. funzt auch.
Vielleicht lässt sich dies nicht über die Oberfläche von fhem eingeben.
Ich erfasse mit einem ordentlichen Editor.
fhem("define sz_Rollo_up at +00:00:01 {Rollo('sz_Rollo_Dummy 30')}");
Ja, hatte noch ein } drin.
Mit dem ' geht es aber auch.
Super vielen Dank an EUCH!!!