FHEM Forum

FHEM => Automatisierung => Thema gestartet von: m8ichael am 14 November 2015, 14:34:23

Titel: Verschachtelte Fhem-Funktionen
Beitrag von: m8ichael am 14 November 2015, 14:34:23
Hallo,

ich versuche, innerhalb einer at-Definition ein neues "define" mit Perl-Code abzusetzen:


*05:45:00 {
if ( Value("dmArbeitstag") eq "1" ) {
fhem("set og.sz.Hauptbeleuchtung dim 12");
fhem("define tmpwakeup1 at 05:50 { if ( Value(\"og.sz.Hauptbeleuchtung\") =~ /on|dim/ ) { fhem(\"set og.sz.Hauptbeleuchtung dim 18\") } }";
}
}


Irgendwie habe ich aber offenbar noch einen Denkfehler, denn ich bekomme beim Ausführen einen Fehler.

Könnt ihr mir hier einen Tipp geben?

Viele Grüße

Michael
Titel: Antw:Verschachtelte Fhem-Funktionen
Beitrag von: dev0 am 14 November 2015, 17:39:09
Schau mal hier (https://github.com/ddtlabs/smartvisu-widgets/blob/master/motionDetection/99_myMdUtils.pm). In der vorletzten Zeile der Sub motionAction2d() findest du ein funktionierendes Beispiel von mir.
Titel: Antw:Verschachtelte Fhem-Funktionen
Beitrag von: m8ichael am 15 November 2015, 17:46:09
Man, man...gerade mal meinen Code per Handy durchgegangen, und schon sind die Tomaten weg.

Am Ende der Zeile muss die Funktion "FHEM" natürlich noch durch eine schließende Klammer ")" geschlossen werden... Und wenn man dann statt der doppelten Anführungszeichen einfache setzt
fhem('...')
dann kann in der zu setzenden Anweisung auch Text mit doppelten Anführungszeichen stehen.