Twilight: sr/ss_indoor und interne Readings (Schaltzeiten)

Begonnen von Morgennebel, 12 April 2016, 22:19:10

Vorheriges Thema - Nächstes Thema

Morgennebel

Guten Abend,


ich habe ein DOIF für meine Außenbeleuchtung, daß auf Twilight-ss_indoor und -sr_indoor reagieren soll:

Internals:
   CFGFN      ./FHEM/fhem-timers.cfg
   DEF        ( [05:30-[MyTwilight:sr_indoor]|8])
    (set D_TimerAussenlicht on, set Aussenlicht on)  ## Cmd1
DOELSEIF
( [06:30-[MyTwilight:sr_indoor]|7])
    (set D_TimerAussenlicht on, set Aussenlicht on)  ## Cmd2
DOELSEIF
( [[MyTwilight:ss_indoor]-22:15])
    (set D_TimerAussenlicht on, set Aussenlicht on)  ## Cmd3
DOELSEIF
( [[MyTwilight:ss_indoor]-01:00] and [PresTVWintergarten:presence] eq "present")
    (set D_TimerAussenlicht on, set Aussenlicht on)  ## Cmd4
DOELSE
    (set D_TimerAussenlicht off, set Aussenlicht off) ## Cmd5
   NAME       DI_TimerPresenceAussenlichtOnOff
   NR         769
   NTFY_ORDER 50-DI_TimerPresenceAussenlichtOnOff
   STATE      initialized
   TYPE       DOIF
   Readings:
     2016-04-12 21:41:00   state           initialized
     2016-04-12 21:41:01   timer_1_c1      13.04.2016 05:30:00|8
     2016-04-12 22:12:21   timer_2_c1      13.04.2016 06:40:39|8
     2016-04-12 21:41:01   timer_3_c2      13.04.2016 06:30:00|7
     2016-04-12 22:12:21   timer_4_c2      13.04.2016 06:40:39|7
     2016-04-12 22:12:21   timer_5_c3      13.04.2016 20:09:17
     2016-04-12 21:41:01   timer_6_c3      12.04.2016 22:15:00
     2016-04-12 22:12:21   timer_7_c4      13.04.2016 20:09:17
     2016-04-12 21:41:01   timer_8_c4      13.04.2016 01:00:00
   Condition:
     0           DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"8")
     1           DOIF_time($hash,$hash->{realtime}{2},$hash->{realtime}{3},$wday,$hms,"7")
     2           DOIF_time($hash,$hash->{realtime}{4},$hash->{realtime}{5},$wday,$hms,"")
     3           DOIF_time($hash,$hash->{realtime}{6},$hash->{realtime}{7},$wday,$hms,"") and ReadingValDoIf($hash,'PresTVWintergarten','presence','','',AttrVal($hash->{NAME},'notexist',undef)) eq "present"
   Days:
     0          8
     1          8
     2          7
     3          7
   Devices:
     3           PresTVWintergarten
     all         PresTVWintergarten
   Do:
     0:
       0          set D_TimerAussenlicht on, set Aussenlicht on
     1:
       0          set D_TimerAussenlicht on, set Aussenlicht on
     2:
       0          set D_TimerAussenlicht on, set Aussenlicht on
     3:
       0          set D_TimerAussenlicht on, set Aussenlicht on
     4:
       0          set D_TimerAussenlicht off, set Aussenlicht off
   Helper:
     globalinit 1
     last_timer 8
     sleeptimer -1
   Interval:
     0          -1
     1          0
     2          -1
     3          2
     4          -1
     5          4
     6          -1
     7          6
   Itimer:
     all         MyTwilight
   Localtime:
     0          1460518200
     1          1460522439
     2          1460521800
     3          1460522439
     4          1460570957
     5          1460492100
     6          1460570957
     7          1460502000
   Readings:
     3           PresTVWintergarten:presence
     all         PresTVWintergarten:presence
   Realtime:
     0          05:30:00
     1          06:40:39
     2          06:30:00
     3          06:40:39
     4          20:09:17
     5          22:15:00
     6          20:09:17
     7          01:00:00
   Regexp:
     All:
   State:
   Time:
     0          05:30:00
     1          [MyTwilight:sr_indoor]
     2          06:30:00
     3          [MyTwilight:sr_indoor]
     4          [MyTwilight:ss_indoor]
     5          22:15:00
     6          [MyTwilight:ss_indoor]
     7          01:00:00
   Timecond:
     0          0
     1          0
     2          1
     3          1
     4          2
     5          2
     6          3
     7          3
   Timer:
     0          0
     1          0
     2          0
     3          0
     4          0
     5          0
     6          0
     7          0
   Timers:
     0           0  1
     1           2  3
     2           4  5
     3           6  7
   Triggertime:
     1460492100:
       localtime  1460492100
       Hash:
     1460502000:
       localtime  1460502000
       Hash:
     1460518200:
       localtime  1460518200
       Hash:
     1460521800:
       localtime  1460521800
       Hash:
     1460522439:
       localtime  1460522439
       Hash:
     1460570957:
       localtime  1460570957
       Hash:
Attributes:
   do         always
   room       Aussen


Die berechneten Schaltzeiten (Readings) des DOIFs sind:

   Readings:
     2016-04-12 21:41:00   state           initialized
     2016-04-12 21:41:01   timer_1_c1      13.04.2016 05:30:00|8
     2016-04-12 22:12:21   timer_2_c1      13.04.2016 06:40:39|8
     2016-04-12 21:41:01   timer_3_c2      13.04.2016 06:30:00|7
     2016-04-12 22:12:21   timer_4_c2      13.04.2016 06:40:39|7
     2016-04-12 22:12:21   timer_5_c3      13.04.2016 20:09:17
     2016-04-12 21:41:01   timer_6_c3      12.04.2016 22:15:00
     2016-04-12 22:12:21   timer_7_c4      13.04.2016 20:09:17
     2016-04-12 21:41:01   timer_8_c4      13.04.2016 01:00:00


Es ist jetzt 22:14 und timer_5_c3 entspricht der [MyTwilight:ss_indoor]-Definition. Jedoch ist diese bereits für morgen - nicht für heute.

Damit funktioniert ein Konstrukt wie

  DOELSEIF ( [[MyTwilight:ss_indoor]-22:15])

niemals, denn der Schaltpunkt ist immer morgen, am nächsten Tag - nicht heute.

Verstehe ich hier etwas falsch, oder ist das ein "Fehler"?

Danke, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA