Hauptmenü

Variable sleep Zeit

Begonnen von aequinox, 13 Januar 2014, 15:35:19

Vorheriges Thema - Nächstes Thema

aequinox

Hallo Ihr fhem-Experten,

folgende Frage hätte ich in der Hoffnung, dass ich mich nicht gänzlich als newbee oute:

Ich habe ein Hoflicht, dass durch mehrere Ereignisse eingeschaltet wird und nach 600sec automatisch wieder abgeschaltet wird. Folgende Zeilen erledigen das:

define HofLichtAuto1 notify (RC1_bulp|HoflichtSchalterOben:on) set HoflichtUnten on
define HofLichtAuto2 notify (HoflichtUnten:on) sleep 600;;set HoflichtUnten off


Jetzt möchte ich die "Anzeit" variable gestalten. Dazu habe ich einen dummy angelegt, dessen Wert ich über einen Slider einstellen kann. Folgende Zeilen tun das:

define HofLichtAnZeit dummy
attr HofLichtAnZeit setList state:slider,0,10,900
attr HofLichtAnZeit webCmd state
attr HofLichtAnZeit room Licht
define InitHoflichtAnZeit notify global:INITIALIZED set HofLichtAnZeit 600


FRAGE:
Wie bringe ich das jetzt zusammen ?
Mit welcher Syntax kann ich die "600" hinter dem "sleep" nun ersetzen, damit der Wert aus "HofLichtAnZeit" von "sleep" übernommen wird ?

Danke & Viele Grüße

Aequinox





betateilchen

#1
spontaner Vorschlag:

define HofLichtAuto2 notify (HoflichtUnten:on) { fhem("sleep ".Value('HofLichtAnZeit')); fhem('set HoflichtUnten off') }

Wobei mir unklar ist, warum Du das so aufwändig über das INITIALIZED machen willst. Du kannst doch die 600 auch direkt setzen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

aequinox

Hallo Betateilchen,

Danke für den Vorschlag - probiere ich heute abend gleich aus. Ich dachte, das geht ggf. ohne perl Einbettung. 

ZitatWobei mir unklar ist, warum Du das so aufwändig über das INITIALIZED machen willst. Du kannst doch die 600 auch direkt setzen.

Sorry, Mein Anfängerdasein begründet sich auf eine einstellige Tageszahl - bin aber von fhem schon ganz gut infiziert. Ich dachte, ich muss das Setzen des Wertes an ein Ereignis binden, das bestimmt, wann genau das passiert (?)