FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: gloob am 26 Januar 2017, 11:04:19

Titel: DOIF - Zeit über Dummy
Beitrag von: gloob am 26 Januar 2017, 11:04:19
Hallo,

Ich versuche gerade einen Wecker mit DOIF zu realisieren. Die Zeiten der Ausführung würde ich gerne in einem Dummy haben. Folgendermaßen ist mein DOIF definiert:

define PflanzenlampeOn DOIF ([[Pflanzenlampe_time_on]]) (set teleBot message "on")
attr PflanzenlampeOn do always


der Dummy sieht so aus:


Internals:
   NAME       Pflanzenlampe_time_on
   NR         549
   STATE      10:58
   TYPE       dummy
   Readings:
     2017-01-26 10:57:28   Minute          58
     2017-01-26 10:54:16   Stunde          10
     2017-01-26 10:57:28   state           10:58
Attributes:
   room       Pflanzen
   stateFormat state
   userReadings Stunde {()},Minute {()},


Wenn ich jetzt den Dummy anpasse, wird die neue Zeit nicht im DOIF übernommen. Es wird immer der vorher gehende Wert aus dem Dummy genutzt.
Stelle ich 10:00 im Dummy ein und danach 11:00, wird das DOIF um 10:00 ausgeführt.
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: Damian am 26 Januar 2017, 11:13:47
Dann erzeugt die Änderung des Dummys offenbar kein Event, welches das DOIF aufweckt - könnte evtl. an FHEM2FHEM liegen.
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: gloob am 26 Januar 2017, 11:25:29
Im Event Monitor sehe ich folgende Events wenn ich die Minute Ändere:


2017-01-26 11:24:33 dummy Pflanzenlampe_time_on Minute: 26
2017-01-26 11:24:33 dummy Pflanzenlampe_time_on 11:26



Der State des Dummys erzeugt also scheinbar ein Event. Daran kann es nicht liegen.
Es läuft kein FHEM2FHEM.
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: gloob am 26 Januar 2017, 11:47:10
Gibt es eine Möglichkeit das DOIF manuell dazu zu bewegen sich die Uhrzeit neu aus dem Dummy zu holen?
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: Amenophis86 am 26 Januar 2017, 12:46:36
mit einem at und set initialize zB
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: Damian am 26 Januar 2017, 12:53:04
Zitat von: gloob am 26 Januar 2017, 11:47:10
Gibt es eine Möglichkeit das DOIF manuell dazu zu bewegen sich die Uhrzeit neu aus dem Dummy zu holen?

Da sollte man die Ursache finden, ansonsten würden tausende von DOIF-Modulen nicht richtig funktionieren und das bezweifle ich.
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: igami am 26 Januar 2017, 12:55:59
kann es daran liegen, dass STATE ausgewertet wird und nicht state?
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: Damian am 26 Januar 2017, 13:01:44
Zitat von: igami am 26 Januar 2017, 12:55:59
kann es daran liegen, dass STATE ausgewertet wird und nicht state?

Das wird es wohl sein. Daher [[Pflanzenlampe_time_on:state]] ausprobieren.
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: gloob am 26 Januar 2017, 13:30:33
Damit funktioniert es leider auch nicht.

Ich versuche daher gerade den Ansatz über interne readings:

Internals:
   DEF        ([[$SELF:_timeOn,"12:00"]]) (set teleBot message "Pflanzenlampe Test on") DOELSEIF ([[$SELF:_timeOff,"12:00"]]) (set teleBot message "Pflanzenlampe Test off")
   NAME       PflanzenLampeDoif
   NR         578
   NTFY_ORDER 50-PflanzenLampeDoif
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2017-01-26 12:05:50   _einaus         on
     2017-01-26 13:26:32   _timeOff        13:28
     2017-01-26 13:26:26   _timeOn         13:27
     2017-01-26 13:28:00   cmd             1
     2017-01-26 13:28:00   cmd_event       timer_1
     2017-01-26 13:28:00   cmd_nr          1
     2017-01-26 13:28:00   state           cmd_1
     2017-01-26 13:28:00   timer_01_c01    27.01.2017 13:27:00
     2017-01-26 13:28:00   timer_02_c02    27.01.2017 13:28:00
   Condition:
     0          DOIF_time_once($hash,0,$wday)
     1          DOIF_time_once($hash,1,$wday)
   Days:
   Devices:
   Do:
     0:
       0          set teleBot message "Pflanzenlampe Test on"
     1:
       0          set teleBot message "Pflanzenlampe Test off"
   Helper:
     event      timer_1
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev
     timerevent timer_1
     timereventsState
     triggerDev
     timerevents:
       timer_1
     triggerEvents:
       timer_1
   Internals:
   Interval:
   Itimer:
     all         PflanzenLampeDoif
   Localtime:
     0          1485520020
     1          1485520080
   Readings:
   Realtime:
     0          13:27:00
     1          13:28:00
   Regexp:
   State:
   Time:
     0          [PflanzenLampeDoif:_timeOn,"12:00"]
     1          [PflanzenLampeDoif:_timeOff,"12:00"]
   Timecond:
     0          0
     1          1
   Timer:
     0          1
     1          1
   Timers:
     0           0
     1           1
   Triggertime:
     1485520020:
       localtime  1485520020
       Hash:
     1485520080:
       localtime  1485520080
       Hash:
Attributes:
   do         always
   readingList _einaus _timeOn _timeOff
   room       Pflanzen
   selftrigger all
   setList    _einaus:on,off _timeOn:time _timeOff:time


Leider wird zu beiden Zeiten der CMD1 ausgelöst und ich bekomme immer

Pflanzenlampe Test on
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: gloob am 26 Januar 2017, 13:55:30
Leider lauft das Sample von hier

https://wiki.fhem.de/wiki/DOIF/Ein-_und_Ausgabe_in_FHEMWEB_und_Tablet-UI_am_Beispiel_einer_Schaltuhr

(["$SELF:P_mybutton: on"] or [[$SELF:P_mybegin,"00:00"]])\
   (set lamp_Labor000 on)\
DOELSEIF (["$SELF:P_mybutton: off"] or [[$SELF:P_myend,"00:01"]])\
   (set lamp_Labor000 off)

readingList P_mybutton P_mybegin P_myend
setList P_mybutton:on,off P_mybegin:time P_myend:time
webCmd P_mybutton:P_mybegin:P_myend



auch nicht richtig.

Folgende Ausgaben erhalte ich im Log:

2017.01.26 13:52:00 2: TestDoif: set lamp_Labor000 on: Please define lamp_Labor000 first
2017.01.26 13:53:00 2: TestDoif: set lamp_Labor000 on: Please define lamp_Labor000 first

Es scheint als wird CMD 2 nicht ausgeführt.
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: kumue am 26 Januar 2017, 14:09:25
denn dummy aus dem Beispiel hattes du angelegt.. ?
define lamp_Labor000 dummy
attr lamp_Labor000 alias Lampe
attr lamp_Labor000 group Labor: Zeitsteuerung mit manuell Ein/Aus
attr lamp_Labor000 room DOIF_Labor
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: gloob am 26 Januar 2017, 14:13:49
Den Dummy habe ich danach auch angelegt und auch mit getestet.

Hier ist die vollständige Konfiguration:


define lamp_Labor000 dummy
attr lamp_Labor000 alias Lampe
attr lamp_Labor000 group Labor: Zeitsteuerung mit manuell Ein/Aus
attr lamp_Labor000 room DOIF_Labor

define time_switch_Labor DOIF (["$SELF:P_mybutton: on"] or [[$SELF:P_mybegin,"00:00"]])\
   (set lamp_Labor000 on)\
DOELSEIF (["$SELF:P_mybutton: off"] or [[$SELF:P_myend,"00:01"]])\
   (set lamp_Labor000 off)
attr time_switch_Labor alias Schaltuhr
attr time_switch_Labor cmdState on|off
attr time_switch_Labor group Labor: Zeitsteuerung mit manuell Ein/Aus
attr time_switch_Labor readingList P_mybutton P_mybegin P_myend
attr time_switch_Labor room DOIF_Labor
attr time_switch_Labor setList P_mybutton:uzsuSelectRadio,on,off P_mybegin:time P_myend:time
attr time_switch_Labor webCmd P_mybutton:P_mybegin:P_myend

defmod rg_time_switch_Labor readingsGroup time_switch_Labor:+STATE,<P_mybutton>,P_mybutton,<P_mybegin>,P_mybegin,<P_myend>,P_myend
attr rg_time_switch_Labor commands {"P_mybutton"=>"P_mybutton:","P_mybegin"=>"P_mybegin:","P_myend"=>"P_myend:",}
attr rg_time_switch_Labor group Labor: Zeitsteuerung mit manuell Ein/Aus
attr rg_time_switch_Labor noheading 1
attr rg_time_switch_Labor room DOIF_Labor


Das Schalten über den Button funktioniert allerdings nicht über die Zeiten.
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: gloob am 26 Januar 2017, 21:18:04
Jemand eine Idee ob es ein Bug im DOIF ist?
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: Damian am 26 Januar 2017, 23:41:44
Teste erst mal:

define test_d dummy
set test_d 10:00
define test_di DOIF ([[test_d]])(set bla on)
set test_d 11:00


Wenn das schon nicht funktioniert, dann würde ich das ganze System neu aufsetzen. Einen so banalen Fehler in DOIF würde ich ausschließen - dafür gibt es zu viele DOIF-Benutzer, die dann schon längst auf die Barrikaden gingen.
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: gloob am 27 Januar 2017, 07:15:29
ich habe es jetzt mit dem Code von dir getestet und damit funktioniert es.


Hast du eine Idee, warum das Sample mit den DOIF internen Readings nicht richtig funktioniert. Es wird zwar zu den richtigen Zeitpunkten getriggert, aber nicht der richtige Command ausgeführt.
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: Ellert am 27 Januar 2017, 07:40:40
Ich habe die Schaltuhr heute morgen getestet.

Sie schaltet zur Einschaltzeit ein, aber nicht zur Ausschaltzeit aus.

Das kann ich nicht erklären, eigentlich sollte es funktionieren.

Hier das Einschalt-Listing:

2017-01-27_07:30:00.087 DOIFtoolsLog [11] +++++ Listing time_switch_Labor:cmd: 1 +++++
jump to: prev  next Listing
DOIF-Version: 98_DOIF.pm 12961 2017-01-04 22:23:57Z Damian
Internals:
   DEF        (["$SELF:P_mybutton: on","0"] or [[$SELF:P_mybegin,"00:00"]])
   (set lamp_Labor000 on)
DOELSEIF (["$SELF:P_mybutton: off","0"] or [[$SELF:P_myend,"00:01"]])
   (set lamp_Labor000 off)
   INTRIGGER  1
   NAME       time_switch_Labor
   NR         39
   NTFY_ORDER 50-time_switch_Labor
   NTFY_TRIGGERTIME 2017-01-27 07:30:00
   STATE      on
   TYPE       DOIF
   CHANGED:
     cmd_nr: 1
     cmd: 1
     cmd_event: timer_1
     on
   CHANGEDWITHSTATE:
     cmd_nr: 1
     cmd: 1
     cmd_event: timer_1
     state: on
   Readings:
     2017-01-27 07:28:44   Device          time_switch_Labor
     2017-01-27 07:28:26   P_mybegin       07:30
     2017-01-27 07:28:44   P_mybutton      off
     2017-01-27 07:28:28   P_myend         07:35
     2017-01-27 07:30:00   cmd             1
     2017-01-27 07:30:00   cmd_event       timer_1
     2017-01-27 07:30:00   cmd_nr          1
     2017-01-27 07:28:43   matched_event_c1_1 P_mybutton: on
     2017-01-27 07:28:44   matched_event_c2_1 P_mybutton: off
     2017-01-27 07:30:00   state           on
     2017-01-27 07:28:44   timer_01_c01    27.01.2017 07:30:00
     2017-01-27 07:28:44   timer_02_c02    27.01.2017 07:35:00
   Condition:
     0          EventDoIf('time_switch_Labor',$hash,'P_mybutton: on',0,'[^\:]*: (.*)','','0') or DOIF_time_once($hash,0,$wday)
     1          EventDoIf('time_switch_Labor',$hash,'P_mybutton: off',0,'[^\:]*: (.*)','','0') or DOIF_time_once($hash,1,$wday)
   Days:
   Devices:
   Do:
     0:
       0          set lamp_Labor000 on
     1:
       0          set lamp_Labor000 off
   Helper:
     cur_cmd_nr timer 1485498600
     event      timer_1
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev   
     timerevent timer_1
     triggerDev
     timerevents:
       timer_1
     timereventsState:
       P_mybutton: off
       timer_01_c01: 27.01.2017 07:30:00
       timer_02_c02: 27.01.2017 07:35:00
       Device: time_switch_Labor
       matched_event_c2_1: P_mybutton: off
       cmd_nr: 2
       cmd: 2
       cmd_event: time_switch_Labor
       off
     triggerEvents:
       timer_1
     triggerEventsState:
       P_mybutton: off
       timer_01_c01: 27.01.2017 07:30:00
       timer_02_c02: 27.01.2017 07:35:00
       Device: time_switch_Labor
       matched_event_c2_1: P_mybutton: off
       cmd_nr: 2
       cmd: 2
       cmd_event: time_switch_Labor
       off
   Internals:
   Interval:
   Itimer:
     all         time_switch_Labor
   Localtime:
     0          1485498600
     1          1485498900
   Readings:
   Realtime:
     0          07:30:00
     1          07:35:00
   Regexp:
     0:
       0          time_switch_Labor:P_mybutton: on
     1:
       0          time_switch_Labor:P_mybutton: off
     All:
       0          time_switch_Labor:P_mybutton: on
       1          time_switch_Labor:P_mybutton: off
   State:
   Time:
     0          [time_switch_Labor:P_mybegin,"00:00"]
     1          [time_switch_Labor:P_myend,"00:01"]
   Timecond:
     0          0
     1          1
   Timer:
     0          1
     1          0
   Timers:
     0           0
     1           1
   Trigger:
   Triggertime:
     1485498900:
       localtime  1485498900
       Hash:
Attributes:
   alias      Schaltuhr
   cmdState   on|off
   group      Labor: Zeitsteuerung mit manuell Ein/Aus
   readingList P_mybutton P_mybegin P_myend
   room       DOIF_Labor
   setList    P_mybutton:uzsuSelectRadio,on,off P_mybegin:time P_myend:time
   webCmd     P_mybutton:P_mybegin:P_myend

2017-01-27_07:30:00.118 time_switch_Labor cmd_nr: 1
2017-01-27_07:30:00.118 time_switch_Labor cmd: 1
2017-01-27_07:30:00.118 time_switch_Labor cmd_event: timer_1
2017-01-27_07:30:00.118 time_switch_Labor on


Da der zweite Timer nicht getriggert hat hier das manuell erzeugte Listing nach dem Ausschaltzeitpunkt

Internals:
   DEF        (["$SELF:P_mybutton: on","0"] or [[$SELF:P_mybegin,"00:00"]])
   (set lamp_Labor000 on)
DOELSEIF (["$SELF:P_mybutton: off","0"] or [[$SELF:P_myend,"00:01"]])
   (set lamp_Labor000 off)
   NAME       time_switch_Labor
   NR         39
   NTFY_ORDER 50-time_switch_Labor
   STATE      on
   TYPE       DOIF
   Readings:
     2017-01-27 07:28:44   Device          time_switch_Labor
     2017-01-27 07:28:26   P_mybegin       07:30
     2017-01-27 07:28:44   P_mybutton      off
     2017-01-27 07:28:28   P_myend         07:35
     2017-01-27 07:30:00   cmd             1
     2017-01-27 07:30:00   cmd_event       timer_1
     2017-01-27 07:30:00   cmd_nr          1
     2017-01-27 07:28:43   matched_event_c1_1 P_mybutton: on
     2017-01-27 07:28:44   matched_event_c2_1 P_mybutton: off
     2017-01-27 07:30:00   state           on
     2017-01-27 07:30:00   timer_01_c01    28.01.2017 07:30:00
     2017-01-27 07:35:00   timer_02_c02    28.01.2017 07:35:00
   Condition:
     0          EventDoIf('time_switch_Labor',$hash,'P_mybutton: on',0,'[^\:]*: (.*)','','0') or DOIF_time_once($hash,0,$wday)
     1          EventDoIf('time_switch_Labor',$hash,'P_mybutton: off',0,'[^\:]*: (.*)','','0') or DOIF_time_once($hash,1,$wday)
   Days:
   Devices:
   Do:
     0:
       0          set lamp_Labor000 on
     1:
       0          set lamp_Labor000 off
   Helper:
     event      timer_1
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev
     timerevent timer_1
     triggerDev
     timerevents:
       timer_1
     timereventsState:
       P_mybutton: off
       timer_01_c01: 27.01.2017 07:30:00
       timer_02_c02: 27.01.2017 07:35:00
       Device: time_switch_Labor
       matched_event_c2_1: P_mybutton: off
       cmd_nr: 2
       cmd: 2
       cmd_event: time_switch_Labor
       off
     triggerEvents:
       timer_1
     triggerEventsState:
       P_mybutton: off
       timer_01_c01: 27.01.2017 07:30:00
       timer_02_c02: 27.01.2017 07:35:00
       Device: time_switch_Labor
       matched_event_c2_1: P_mybutton: off
       cmd_nr: 2
       cmd: 2
       cmd_event: time_switch_Labor
       off
   Internals:
   Interval:
   Itimer:
     all         time_switch_Labor
   Localtime:
     0          1485585000
     1          1485585300
   Readings:
   Realtime:
     0          07:30:00
     1          07:35:00
   Regexp:
     0:
       0          time_switch_Labor:P_mybutton: on
     1:
       0          time_switch_Labor:P_mybutton: off
     All:
       0          time_switch_Labor:P_mybutton: on
       1          time_switch_Labor:P_mybutton: off
   State:
   Time:
     0          [time_switch_Labor:P_mybegin,"00:00"]
     1          [time_switch_Labor:P_myend,"00:01"]
   Timecond:
     0          0
     1          1
   Timer:
     0          1
     1          0
   Timers:
     0           0
     1           1
   Trigger:
   Triggertime:
     1485585000:
       localtime  1485585000
       Hash:
     1485585300:
       localtime  1485585300
       Hash:
Attributes:
   alias      Schaltuhr
   cmdState   on|off
   group      Labor: Zeitsteuerung mit manuell Ein/Aus
   readingList P_mybutton P_mybegin P_myend
   room       DOIF_Labor
   setList    P_mybutton:uzsuSelectRadio,on,off P_mybegin:time P_myend:time
   webCmd     P_mybutton:P_mybegin:P_myend


Bemerkenswert ist allerdings, dass der Ausschalttimer aktualisiert wurde 2017-01-27 07:35:00   timer_02_c02    28.01.2017 07:35:00
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: gloob am 27 Januar 2017, 07:47:50
Wie muss man denn die Uhrzeitangabe "00:01" verstehen?

[[$SELF:P_myend,"00:01"]]
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: Ellert am 27 Januar 2017, 07:58:05
Zitat von: gloob am 27 Januar 2017, 07:47:50
Wie muss man denn die Uhrzeitangabe "00:01" verstehen?

[[$SELF:P_myend,"00:01"]]
https://fhem.de/commandref_DE.html#DOIF_notexist
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: gloob am 27 Januar 2017, 08:12:01
Ich habe auch nochmal ein List gemacht von der Schaltuhr nach dem "Einschalten" und nach dem "Ausschalten"
Es wird zu beiden Zeiten etwas ausgeführt, jedoch nicht der richtige CMD

Trigger 1:


Internals:
   DEF        (["$SELF:P_mybutton: on"] or [[$SELF:P_mybegin,"06:00"]])(set lamp_Labor000 on;set teleBot message "Pflanzenlampe Test on") DOELSEIF (["$SELF:P_mybutton: off"] or [[$SELF:P_myend,"18:00"]])(set lamp_Labor000 off;set teleBot message "Pflanzenlampe Test off")
   NAME       time_switch_Labor
   NR         582
   NTFY_ORDER 50-time_switch_Labor
   STATE      on
   TYPE       DOIF
   Readings:
     2017-01-27 08:06:19   Device          time_switch_Labor
     2017-01-27 08:07:08   P_mybegin       08:08
     2017-01-27 08:06:19   P_mybutton      off
     2017-01-27 08:07:14   P_myend         08:09
     2017-01-27 08:08:00   cmd             1
     2017-01-27 08:08:00   cmd_event       timer_1
     2017-01-27 08:08:00   cmd_nr          1
     2017-01-27 08:06:17   matched_event_c1_1 P_mybutton: on
     2017-01-27 08:06:19   matched_event_c2_1 P_mybutton: off
     2017-01-27 08:08:00   state           on
     2017-01-27 08:08:00   timer_01_c01    28.01.2017 08:08:00
     2017-01-27 08:08:00   timer_02_c02    27.01.2017 08:09:00
   Condition:
     0          EventDoIf('time_switch_Labor',$hash,'P_mybutton: on',0) or DOIF_time_once($hash,0,$wday)
     1          EventDoIf('time_switch_Labor',$hash,'P_mybutton: off',0) or DOIF_time_once($hash,1,$wday)
   Days:
   Devices:
   Do:
     0:
       0          set lamp_Labor000 on;set teleBot message "Pflanzenlampe Test on"
     1:
       0          set lamp_Labor000 off;set teleBot message "Pflanzenlampe Test off"
   Helper:
     event      timer_1
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev
     timerevent timer_1
     triggerDev
     timerevents:
       timer_1
     timereventsState:
       P_mybutton: off
       timer_01_c01: 27.01.2017 14:11:00
       timer_02_c02: 27.01.2017 14:12:00
       Device: time_switch_Labor
       matched_event_c2_1: P_mybutton: off
       cmd_nr: 2
       cmd: 2
       cmd_event: time_switch_Labor
       off
     triggerEvents:
       timer_1
     triggerEventsState:
       P_mybutton: off
       timer_01_c01: 27.01.2017 14:11:00
       timer_02_c02: 27.01.2017 14:12:00
       Device: time_switch_Labor
       matched_event_c2_1: P_mybutton: off
       cmd_nr: 2
       cmd: 2
       cmd_event: time_switch_Labor
       off
   Internals:
   Interval:
   Itimer:
     all         time_switch_Labor
   Localtime:
     0          1485587280
     1          1485500940
   Readings:
   Realtime:
     0          08:08:00
     1          08:09:00
   Regexp:
     0:
       0          time_switch_Labor:P_mybutton: on
     1:
       0          time_switch_Labor:P_mybutton: off
     All:
       0          time_switch_Labor:P_mybutton: on
       1          time_switch_Labor:P_mybutton: off
   State:
   Time:
     0          [time_switch_Labor:P_mybegin,"06:00"]
     1          [time_switch_Labor:P_myend,"18:00"]
   Timecond:
     0          0
     1          1
   Timer:
     0          1
     1          0
   Timers:
     0           0
     1           1
   Trigger:
   Triggertime:
     1485500940:
       localtime  1485500940
       Hash:
     1485587280:
       localtime  1485587280
       Hash:
Attributes:
   alias      Schaltuhr
   cmdState   on|off
   group      Labor: Zeitsteuerung mit manuell Ein/Aus
   readingList P_mybutton P_mybegin P_myend
   room       DOIF_Labor
   setList    P_mybutton:uzsuSelectRadio,on,off P_mybegin:time P_myend:time
   verbose    5
   webCmd     P_mybutton:P_mybegin:P_myend


Trigger 2:

Internals:
   DEF        (["$SELF:P_mybutton: on"] or [[$SELF:P_mybegin,"06:00"]])(set lamp_Labor000 on;set teleBot message "Pflanzenlampe Test on") DOELSEIF (["$SELF:P_mybutton: off"] or [[$SELF:P_myend,"18:00"]])(set lamp_Labor000 off;set teleBot message "Pflanzenlampe Test off")
   NAME       time_switch_Labor
   NR         582
   NTFY_ORDER 50-time_switch_Labor
   STATE      on
   TYPE       DOIF
   Readings:
     2017-01-27 08:06:19   Device          time_switch_Labor
     2017-01-27 08:07:08   P_mybegin       08:08
     2017-01-27 08:06:19   P_mybutton      off
     2017-01-27 08:07:14   P_myend         08:09
     2017-01-27 08:08:00   cmd             1
     2017-01-27 08:08:00   cmd_event       timer_1
     2017-01-27 08:08:00   cmd_nr          1
     2017-01-27 08:06:17   matched_event_c1_1 P_mybutton: on
     2017-01-27 08:06:19   matched_event_c2_1 P_mybutton: off
     2017-01-27 08:08:00   state           on
     2017-01-27 08:08:00   timer_01_c01    28.01.2017 08:08:00
     2017-01-27 08:09:00   timer_02_c02    28.01.2017 08:09:00
   Condition:
     0          EventDoIf('time_switch_Labor',$hash,'P_mybutton: on',0) or DOIF_time_once($hash,0,$wday)
     1          EventDoIf('time_switch_Labor',$hash,'P_mybutton: off',0) or DOIF_time_once($hash,1,$wday)
   Days:
   Devices:
   Do:
     0:
       0          set lamp_Labor000 on;set teleBot message "Pflanzenlampe Test on"
     1:
       0          set lamp_Labor000 off;set teleBot message "Pflanzenlampe Test off"
   Helper:
     event      timer_1
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev
     timerevent timer_1
     triggerDev
     timerevents:
       timer_1
     timereventsState:
       P_mybutton: off
       timer_01_c01: 27.01.2017 14:11:00
       timer_02_c02: 27.01.2017 14:12:00
       Device: time_switch_Labor
       matched_event_c2_1: P_mybutton: off
       cmd_nr: 2
       cmd: 2
       cmd_event: time_switch_Labor
       off
     triggerEvents:
       timer_1
     triggerEventsState:
       P_mybutton: off
       timer_01_c01: 27.01.2017 14:11:00
       timer_02_c02: 27.01.2017 14:12:00
       Device: time_switch_Labor
       matched_event_c2_1: P_mybutton: off
       cmd_nr: 2
       cmd: 2
       cmd_event: time_switch_Labor
       off
   Internals:
   Interval:
   Itimer:
     all         time_switch_Labor
   Localtime:
     0          1485587280
     1          1485587340
   Readings:
   Realtime:
     0          08:08:00
     1          08:09:00
   Regexp:
     0:
       0          time_switch_Labor:P_mybutton: on
     1:
       0          time_switch_Labor:P_mybutton: off
     All:
       0          time_switch_Labor:P_mybutton: on
       1          time_switch_Labor:P_mybutton: off
   State:
   Time:
     0          [time_switch_Labor:P_mybegin,"06:00"]
     1          [time_switch_Labor:P_myend,"18:00"]
   Timecond:
     0          0
     1          1
   Timer:
     0          1
     1          0
   Timers:
     0           0
     1           1
   Trigger:
   Triggertime:
     1485587280:
       localtime  1485587280
       Hash:
     1485587340:
       localtime  1485587340
       Hash:
Attributes:
   alias      Schaltuhr
   cmdState   on|off
   group      Labor: Zeitsteuerung mit manuell Ein/Aus
   readingList P_mybutton P_mybegin P_myend
   room       DOIF_Labor
   setList    P_mybutton:uzsuSelectRadio,on,off P_mybegin:time P_myend:time
   verbose    5
   webCmd     P_mybutton:P_mybegin:P_myend
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: Ellert am 27 Januar 2017, 08:40:26
Nur am Rande, Befehlstrenner ist das Komma nicht das Semikolon.
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: gloob am 27 Januar 2017, 08:53:01
Okay, wobei es mit Semikolon auch funktioniert hat  :)  Zumindest das Schalten über den "Button"
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: Ellert am 27 Januar 2017, 08:58:36
Zitatjedoch nicht der richtige CMD

Wie has Du das festgestellt?
Welches wird ausgeführt, gib es dazu einen Logeinrag?
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: gloob am 27 Januar 2017, 09:08:09
Zum einen hatte ich Verbose auf 5 gesetzt und zum anderen bekomme ich die gleiche Fehlermeldung im Log oder über meinen Telegram Bot:


2017.01.26 13:52:00 2: TestDoif: set lamp_Labor000 on: Please define lamp_Labor000 first
2017.01.26 13:53:00 2: TestDoif: set lamp_Labor000 on: Please define lamp_Labor000 first


Der zweite Eintrag im Log sollte im korrekten Fall lauten.

set lamp_Labor000 off

Es ist ja egal ob das Device vorhanden ist was geschaltet wird oder nicht.
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: Ellert am 27 Januar 2017, 09:39:32
Poste mal ein list lamp_Labor000
Titel: Antw:DOIF - Zeit über Dummy
Beitrag von: Damian am 27 Januar 2017, 18:20:34
Das gleiche Problem, siehe https://forum.fhem.de/index.php/topic,64736.msg570867.html#msg570867