Autor Thema: Maskieren von " in einem at  (Gelesen 1721 mal)

Offline Dduieh

  • Jr. Member
  • **
  • Beiträge: 54
Maskieren von " in einem at
« 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?

Offline Dietmar63

  • Hero Member
  • *****
  • Beiträge: 2329
Aw: Maskieren von " in einem at
« Antwort #1 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)}");
 ...
}

Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Offline Dduieh

  • Jr. Member
  • **
  • Beiträge: 54
Aw: Maskieren von " in einem at
« Antwort #2 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 "} }"

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Aw: Maskieren von " in einem at
« Antwort #3 am: 18 August 2013, 19:21:45 »
Hallo,

dann hast du irgendwo ein } zuviel.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline Dietmar63

  • Hero Member
  • *****
  • Beiträge: 2329
Aw: Maskieren von " in einem at
« Antwort #4 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.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16056
  • s/fhem\.cfg/configDB/g
Aw: Maskieren von " in einem at
« Antwort #5 am: 18 August 2013, 19:26:59 »
fhem("define sz_Rollo_up at +00:00:01 {Rollo('sz_Rollo_Dummy 30')}");
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg Stammtisch am 20.09.2019

Offline Dduieh

  • Jr. Member
  • **
  • Beiträge: 54
Aw: Maskieren von " in einem at
« Antwort #6 am: 18 August 2013, 19:34:18 »
Ja, hatte noch ein } drin.

Mit dem ' geht es aber auch.

Super vielen Dank an EUCH!!!