Skip to content

Instantly share code, notes, and snippets.

@sidey79
Last active June 29, 2019 22:17
Show Gist options
  • Save sidey79/f6b8ba9bad6bb1b0518d4ea18d0fe6da to your computer and use it in GitHub Desktop.
Save sidey79/f6b8ba9bad6bb1b0518d4ea18d0fe6da to your computer and use it in GitHub Desktop.
defmod ti_timertest DOIF (\
[[$SELF:next]]\
and int(time-time_str2num(ReadingsTimestamp("$SELF","T_reset",0))) > [$SELF:T_everyDays]\
and ([$SELF:T_mode] eq "automatik") \
)\
(set [$SELF:dev] [$SELF:devReading] on)(set $SELF T_reset [({time})], set $SELF aus)\
DOELSEIF (["$SELF:onfor"])\
(set [$SELF:dev] [$SELF:devReading] on)(set $SELF T_reset [$SELF:t_reset:sec], set $SELF aus)\
DOELSE \
(set [$SELF:dev] [$SELF:devReading] off)
attr ti_timertest alias Timertest
attr ti_timertest cmdIcon ein:general_an aus:general_aus onfor:general_an_fuer_zeit
attr ti_timertest cmdState ein|onfor|aus
attr ti_timertest comment & ([?$SELF:t_reset:sec] > ([$SELF:everyDays])) & ([$SELF:T_mode] eq "automatik") | ["$SELF:ein"]
attr ti_timertest do always
attr ti_timertest readingList T_mode T_reset T_everyDays T_time T_duration dev devReading
attr ti_timertest room Timer,test
attr ti_timertest selftrigger wait
attr ti_timertest setList T_mode:uzsuToggle,automatik,manuell\
T_reset:uzsuToggle,1, \
T_everyDays:uzsuSelectRadio,1,10,20,30,60,120\
T_duration:uzsuSelectRadio,2,4,5,10,15,20,25,30,40,45\
T_time\
dev\
devReading
attr ti_timertest userReadings aktuell {int(time);;;;},\
reset {int(time_str2num(ReadingsTimestamp("ti_timertest","T_reset",0)));;;;},\
secSinceReset {int(time-time_str2num(ReadingsTimestamp("ti_timertest","T_reset",0)));;;;},\
next {POSIX::strftime("%H:%M:%S",localtime(time+ReadingsVal("ti_timertest","T_everyDays",0)))}
attr ti_timertest wait 0,4:0,10
attr ti_timertest webCmd T_mode:ein:aus:onfor:T_everyDays
setstate ti_timertest initialized
setstate ti_timertest 2019-06-29 14:00:25 T_duration 25
setstate ti_timertest 2019-06-29 14:10:15 T_everyDays 60
setstate ti_timertest 2019-06-29 14:32:49 T_mode automatik
setstate ti_timertest 2019-06-30 00:01:07 T_reset [({time})]
setstate ti_timertest 2019-06-29 14:00:42 T_time
setstate ti_timertest 2019-06-30 00:17:11 aktuell 1561846631
setstate ti_timertest 2019-06-30 00:17:11 cmd 0
setstate ti_timertest 2019-06-30 00:17:11 mode enabled
setstate ti_timertest 2019-06-30 00:17:11 next 00:18:11
setstate ti_timertest 2019-06-30 00:17:11 reset 1561845667
setstate ti_timertest 2019-06-30 00:17:11 secSinceReset 964
setstate ti_timertest 2019-06-30 00:17:11 state initialized
setstate ti_timertest 2019-06-30 00:17:11 timer_01_c01 30.06.2019 00:18:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment