Hallo zusammen.
ich versuche gerade einen Befehl der " beinhaltet von der myUtils.pm auszuführen. Und zwar möchte ich beim Heating_Control_SetTemp("HC_Bad") mit einer Verzögerung schalten. Dazu hab ich dann in der myUtils Datei folgenden Befehl:
if($Tageszeit == 1){
fhem("defmod HC_Bad_Delayed at +00:30:00 Heating_Control_SetTemp("HC_Bad")");
}
kopiere ich den Befehl in die fhem Befehlszeile, dann funktioniert es. Wenn ich die myUtils.pm speichern möchte, dann wird gemeckert. Ich denke es liegt an den ". Kann man das irgendwie machen, dass die so interpretiert werden, dass sie zu dem SetTemp-Befehl gehören und nicht zu dem fhem("..")???
Wenn es das ist, dann maskier sie.
Vg
Frank
es gibt zwei möglichkeiten:
- die inneren mir \ maskieren
- ' und " ineinander verschachteln
aber: du rufst eine perl routine aus dem fhem context auf. da fehlen ziemlich sicher noch geschweifte klammern.
fhem("defmod HC_Bad_Delayed at +00:30:00 {Heating_Control_SetTemp('HC_Bad')}");
gruss
andre
Es war eine Mischung aus beidem:
fhem("defmod HC_Bad_Delayed at +00:30:00 {Heating_Control_SetTemp(\"HC_Bad\")}");
DANKE! :)
Vielleicht sollte man sich mal damit beschäftigen, wieso perl die Zeichen ' und " unterschiedlich behandelt. Dann kann man sich das Leben erheblich einfacher machen.
Hier schön beschrieben ;)
https://de.wikibooks.org/wiki/Perl-Programmierung:_Variablen
VG
Frank