AT-Befehl dynamisch über Variable gestalten

Begonnen von PeterS, 29 Dezember 2014, 16:05:28

Vorheriges Thema - Nächstes Thema

PeterS

Hallo Zusammen
Lässt sich der AT-Befehl auch dynamisch gestalten? Also das die Zeit über nicht fix sondern eine Variable mitgegeben wird ?

Beispiel:
define Notify_Fenster_Keller_Open1 notify Fenster_Keller:open define At_Fenster_Keller_Open1 at +*02:00:00 set Alarm on

Gruss Peter

rudolfkoenig

Ja.
Spaetestens wenn man im Notify auf perl ausweicht.

PeterS

Ok, es geht also nur über Perl  ::)

Der Folgende Code bringt mir die Dynamic, aber kann der Code "{my $Interval = $value{Interval};;fhem "define At_Switch_On at +*$Interval set Switch off"}" noch optimiert werden ?

Gruss Peter


define Switch dummy
attr Switch eventMap on:on off:off
attr Switch room Test
define Interval dummy
attr Interval room Test

define Notify_Switch_On notify Switch:on {my $Interval = $value{Interval};;fhem "define At_Switch_On at +*$Interval set Switch off"}
define Notify_Switch_Off notify Switch:off delete At_Switch_On

PeterS

Folgende Optimierung konnte ich noch vornehmen:
define Notify_Switch_On notify Switch:on {fhem "define At_Switch_On at +*$value{Interval} set Switch off"}

Mehr geht aber nicht mehr, oder ?

Gruss Peter

PeterS

Folgende finale Optimierung habe ich nun vorgenommen und festgestellt, dass es einen Wizard gibt ::-)
define Notify_Switch_On notify Switch:on define At_Switch_On at +*{$value{Interval}} set Switch off

Gruss Peter

rudolfkoenig

Statt $value{X} sollte man Value("X") verwenden.
Falls das Geraet es untrstuetzt, dann ist ein "set Switch on-for-timer V" besser als ein at mit "set Switch off"

PeterS

Hallo Rudolf

Danke für die Infos  :D

Gruss Peter