Verschachtelte Fhem-Funktionen

Begonnen von m8ichael, 14 November 2015, 14:34:23

Vorheriges Thema - Nächstes Thema

m8ichael

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

dev0

Schau mal hier. In der vorletzten Zeile der Sub motionAction2d() findest du ein funktionierendes Beispiel von mir.

m8ichael

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.