FHEM Forum

FHEM => Automatisierung => Thema gestartet von: daedalus0815 am 18 August 2022, 12:25:32

Titel: [Lsg] 88_Timer.pm: // Timer aktivieren via Befehl ?
Beitrag von: daedalus0815 am 18 August 2022, 12:25:32
Hallo HomeAuto_User,

in der GUI kann man ja Timer aktiv/inaktiv setzen und muss folgend noch speichern.
=> das entsprechende Timer-Reading wird gesetzt

Wie kann man via Befehl o.e. Aktion durchführen...im Event-Manager läuft ja beim Aktivieren/Speichern auch nichts verwertbares auf.

Hintergrund:
Ich möchte z.B. via Telegram verschiedene Szenarien aktivieren/deaktivieren ...das Modul zeigt sich aber etwas zugeknöpft, oder ich überseh' was  ??

VG  :o

Titel: Antw:88_Timer.pm: // Timer aktivieren via Befehl ?
Beitrag von: daedalus0815 am 08 September 2022, 13:43:21
Grundidee: 
Komfortable Manipulation des UserReading im Timer via DOIF // ...das TimerModul aktualisiert sich anschließend eigenständig.
Die sonstige Definition des Timers sollte beibehalten werden.

An der letzten Stelle steht das aktiv/inaktiv - Flag mit 1/0:

Ein Beispiel-TimerAktiv-Reading:
Timer_01      alle,alle,alle,07,15,30,Keller,on,0,0,1,0,0,0,0,1



defmod Ellen_Timer_IO DOIF ([$SELF:"T11"])\
\
( setreading $SELF T1 {( substr( ReadingsVal("Ellen_Timer","Timer_01",""),0,-1) )}1  )\
( setreading {( substr( "$SELF",0,-3)) }  Timer_01  [$SELF:T1]  ) \
\
\
\
DOELSEIF\
([$SELF:"T10"])\
       ( setreading $SELF T1 {( substr( ReadingsVal("Ellen_Timer","Timer_01",""),0,-1) )}0  )\
      ( setreading {( substr( "$SELF",0,-3)) }  Timer_01  [$SELF:T1]  ) \

attr Ellen_Timer_IO DbLogExclude .*
attr Ellen_Timer_IO setList T11 T21 T31 T10 T20 T30

setstate Ellen_Timer_IO cmd_1
setstate Ellen_Timer_IO 2022-09-08 13:19:07 T1 alle,alle,alle,07,15,30,Timer_01,DEF,0,0,1,0,0,0,0,1
setstate Ellen_Timer_IO 2022-09-08 13:19:07 cmd 1.2
setstate Ellen_Timer_IO 2022-09-08 13:19:07 cmd_event Ellen_Timer_IO
setstate Ellen_Timer_IO 2022-09-08 13:19:07 cmd_nr 1
setstate Ellen_Timer_IO 2022-09-08 13:19:07 cmd_seqnr 2
setstate Ellen_Timer_IO 2022-09-08 13:19:07 e_Ellen_Timer_IO_events T11
setstate Ellen_Timer_IO 2022-09-08 13:18:58 mode enabled
setstate Ellen_Timer_IO 2022-09-08 13:19:07 state cmd_1



Timer_01 des Timer-Moduls mit dem Namen: Ellen_Timer aktivieren durch...:

Timer_01 des Timer-Moduls mit dem Namen: Ellen_Timer deaktivieren durch...:


...sicherlich ausbaufähig, aber ein Anfang ist gemacht  ;D


P.S:
substr( ReadingsVal("Ellen_Timer","Timer_01",""),0,-1) ist das gesammte Reading OHNE LETZTES Zeichen