FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Dduieh am 18 August 2013, 18:57:41

Titel: Maskieren von " in einem at
Beitrag von: Dduieh am 18 August 2013, 18:57:41
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?
Titel: Aw: Maskieren von " in einem at
Beitrag von: Dietmar63 am 18 August 2013, 19:05:12
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)}");
 ...
}

Titel: Aw: Maskieren von " in einem at
Beitrag von: Dduieh am 18 August 2013, 19:15:42
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 "} }"
Titel: Aw: Maskieren von " in einem at
Beitrag von: Puschel74 am 18 August 2013, 19:21:45
Hallo,

dann hast du irgendwo ein } zuviel.

Grüße
Titel: Aw: Maskieren von " in einem at
Beitrag von: Dietmar63 am 18 August 2013, 19:26:02
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.
Titel: Aw: Maskieren von " in einem at
Beitrag von: betateilchen am 18 August 2013, 19:26:59
fhem("define sz_Rollo_up at +00:00:01 {Rollo('sz_Rollo_Dummy 30')}");
Titel: Aw: Maskieren von " in einem at
Beitrag von: Dduieh am 18 August 2013, 19:34:18
Ja, hatte noch ein } drin.

Mit dem ' geht es aber auch.

Super vielen Dank an EUCH!!!