Guten Tag,
es ist wahrscheinlich ein Anwenderfehler, aber ich "sehe" ihn nicht:
define DI_TimerPresenceAussenlichtOnOff DOIF ( [05:30-08:30|8] and [MyTwilight:twilight_weather] < 40)
(set D_TimerAussenlicht on, set Aussenlicht on) ## Cmd1
DOELSEIF ( [06:30-09:00|7] and [MyTwilight:twilight_weather] < 40)
(set D_TimerAussenlicht on, set Aussenlicht on) ## Cmd2
DOELSEIF ( [15:00-22:15] and [MyTwilight:twilight_weather] < 40)
(set D_TimerAussenlicht on, set Aussenlicht on) ## Cmd3
DOELSEIF ( [15:00-01:00] and [PresTVWintergarten:state] eq "present" and [MyTwilight:twilight_weather] < 40 )
(set D_TimerAussenlicht on, set Aussenlicht on) ## Cmd4
DOELSE
(set D_TimerAussenlicht off, set Aussenlicht off) ## Cmd5
Soll also morgens um 5:30 oder um 6:30 (WE und Ferien) das Licht bis zum Erreichen des Helligkeitswertes 40 von Twilight aktivieren. Ebenso abends (Dämmerung bis 22:15 oder 01:00 wenn der Fernseher noch läuft).
Hier noch ein list auf das DOIF:
Internals:
CFGFN ./FHEM/fhem-timers.cfg
DEF ( [05:30-08:30|8] and [MyTwilight:twilight_weather] < 40)
(set D_TimerAussenlicht on, set Aussenlicht on) ## Cmd1
DOELSEIF
( [06:30-09:00|7] and [MyTwilight:twilight_weather] < 40)
(set D_TimerAussenlicht on, set Aussenlicht on) ## Cmd2
DOELSEIF
( [15:00-22:15] and [MyTwilight:twilight_weather] < 40)
(set D_TimerAussenlicht on, set Aussenlicht on) ## Cmd3
DOELSEIF
( [15:00-01:00] and [PresTVWintergarten:state] eq "present" and [MyTwilight:twilight_weather] < 40 )
(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 cmd_5
TYPE DOIF
Readings:
2016-04-12 12:51:51 Device MyTwilight
2016-04-12 12:51:51 cmd_event MyTwilight
2016-04-12 12:51:51 cmd_nr 5
2016-04-12 12:51:51 e_MyTwilight_twilight_weather 100
2016-04-12 12:51:41 e_PresTVWintergarten_state absent
2016-04-12 12:51:51 state cmd_5
2016-04-12 08:30:00 timer_1_c1 13.04.2016 05:30:00|8
2016-04-12 08:30:00 timer_2_c1 13.04.2016 08:30:00|8
2016-04-12 09:00:00 timer_3_c2 13.04.2016 06:30:00|7
2016-04-12 09:00:00 timer_4_c2 13.04.2016 09:00:00|7
2016-04-11 22:15:00 timer_5_c3 12.04.2016 15:00:00
2016-04-11 22:15:00 timer_6_c3 12.04.2016 22:15:00
2016-04-12 01:00:00 timer_7_c4 12.04.2016 15:00:00
2016-04-12 01:00:00 timer_8_c4 13.04.2016 01:00:00
Condition:
0 DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"8") and ReadingValDoIf($hash,'MyTwilight','twilight_weather','','',AttrVal($hash->{NAME},'notexist',undef)) < 40
1 DOIF_time($hash,$hash->{realtime}{2},$hash->{realtime}{3},$wday,$hms,"7") and ReadingValDoIf($hash,'MyTwilight','twilight_weather','','',AttrVal($hash->{NAME},'notexist',undef)) < 40
2 DOIF_time($hash,$hash->{realtime}{4},$hash->{realtime}{5},$wday,$hms,"") and ReadingValDoIf($hash,'MyTwilight','twilight_weather','','',AttrVal($hash->{NAME},'notexist',undef)) < 40
3 DOIF_time($hash,$hash->{realtime}{6},$hash->{realtime}{7},$wday,$hms,"") and ReadingValDoIf($hash,'PresTVWintergarten','state','','',AttrVal($hash->{NAME},'notexist',undef)) eq "present" and ReadingValDoIf($hash,'MyTwilight','twilight_weather','','',AttrVal($hash->{NAME},'notexist',undef)) < 40
Days:
0 8
1 8
2 7
3 7
Devices:
0 MyTwilight
1 MyTwilight
2 MyTwilight
3 PresTVWintergarten MyTwilight
all MyTwilight 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:
event azimuth: 168.8,elevation: 45.35,twilight: 100,twilight_weather: 100,compasspoint: south-southeast
globalinit 1
last_timer 8
sleeptimer -1
timerdev MyTwilight
timerevent azimuth: 168.8,elevation: 45.35,twilight: 100,twilight_weather: 100,compasspoint: south-southeast
triggerDev MyTwilight
timerevents:
azimuth: 168.8
elevation: 45.35
twilight: 100
twilight_weather: 100
compasspoint: south-southeast
triggerEvents:
azimuth: 168.8
elevation: 45.35
twilight: 100
twilight_weather: 100
compasspoint: south-southeast
Internals:
Interval:
0 -1
1 0
2 -1
3 2
4 -1
5 4
6 -1
7 6
Itimer:
Localtime:
0 1460518200
1 1460529000
2 1460521800
3 1460530800
4 1460466000
5 1460492100
6 1460466000
7 1460502000
Readings:
0 MyTwilight:twilight_weather
1 MyTwilight:twilight_weather
2 MyTwilight:twilight_weather
3 PresTVWintergarten:state MyTwilight:twilight_weather
all MyTwilight:twilight_weather PresTVWintergarten:state
Realtime:
0 05:30:00
1 08:30:00
2 06:30:00
3 09:00:00
4 15:00:00
5 22:15:00
6 15:00:00
7 01:00:00
Regexp:
0:
1:
2:
3:
All:
State:
Time:
0 05:30:00
1 08:30:00
2 06:30:00
3 09:00:00
4 15:00:00
5 22:15:00
6 15:00:00
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
Trigger:
Triggertime:
1460466000:
localtime 1460466000
Hash:
1460492100:
localtime 1460492100
Hash:
1460502000:
localtime 1460502000
Hash:
1460518200:
localtime 1460518200
Hash:
1460521800:
localtime 1460521800
Hash:
1460529000:
localtime 1460529000
Hash:
1460530800:
localtime 1460530800
Hash:
Attributes:
do always
room Aussen
Morgens geht das Licht jedoch AN und nach 5 Sekunden wieder aus. Danach wieder An und Aus, und An und Aus - eine richtig langsame Schunkel-Disko.
D_TimerAussenlicht ist ein Dummy, der die Bewegungsmelder deaktiviert. Aussenlicht eine structure aus mehreren Lichtern.
Hier ein Auszug aus dem Logfile aus der structure Aussenlicht
2016-04-12_05:30:00 Aussen.AtelierWandlicht set_on
2016-04-12_05:30:01 Aussen.AtelierWandlicht deviceMsg: on (to vccu)
2016-04-12_05:30:01 Aussen.AtelierWandlicht level: 100
2016-04-12_05:30:01 Aussen.AtelierWandlicht pct: 100
2016-04-12_05:30:01 Aussen.AtelierWandlicht on
2016-04-12_05:30:01 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:30:08 Aussen.AtelierWandlicht set_off
2016-04-12_05:30:08 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:30:08 Aussen.AtelierWandlicht level: 0
2016-04-12_05:30:08 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:30:08 Aussen.AtelierWandlicht off
2016-04-12_05:30:08 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:30:45 Aussen.AtelierWandlicht set_off
2016-04-12_05:30:45 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:30:45 Aussen.AtelierWandlicht level: 0
2016-04-12_05:30:45 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:30:45 Aussen.AtelierWandlicht off
2016-04-12_05:30:45 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:31:21 Aussen.AtelierWandlicht set_off
2016-04-12_05:31:21 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:31:21 Aussen.AtelierWandlicht level: 0
2016-04-12_05:31:21 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:31:21 Aussen.AtelierWandlicht off
2016-04-12_05:31:21 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:31:29 Aussen.AtelierWandlicht set_on
2016-04-12_05:31:30 Aussen.AtelierWandlicht deviceMsg: on (to vccu)
2016-04-12_05:31:30 Aussen.AtelierWandlicht level: 100
2016-04-12_05:31:30 Aussen.AtelierWandlicht pct: 100
2016-04-12_05:31:30 Aussen.AtelierWandlicht on
2016-04-12_05:31:30 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:31:59 Aussen.AtelierWandlicht set_off
2016-04-12_05:31:59 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:31:59 Aussen.AtelierWandlicht level: 0
2016-04-12_05:31:59 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:31:59 Aussen.AtelierWandlicht off
2016-04-12_05:31:59 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:32:35 Aussen.AtelierWandlicht set_off
2016-04-12_05:32:35 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:32:35 Aussen.AtelierWandlicht level: 0
2016-04-12_05:32:35 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:32:35 Aussen.AtelierWandlicht off
2016-04-12_05:32:35 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:33:11 Aussen.AtelierWandlicht set_off
2016-04-12_05:33:12 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:33:12 Aussen.AtelierWandlicht level: 0
2016-04-12_05:33:12 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:33:12 Aussen.AtelierWandlicht off
2016-04-12_05:33:12 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:33:48 Aussen.AtelierWandlicht set_off
2016-04-12_05:33:48 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:33:48 Aussen.AtelierWandlicht level: 0
2016-04-12_05:33:48 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:33:48 Aussen.AtelierWandlicht off
2016-04-12_05:33:48 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:34:24 Aussen.AtelierWandlicht set_off
2016-04-12_05:34:24 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:34:24 Aussen.AtelierWandlicht level: 0
2016-04-12_05:34:24 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:34:24 Aussen.AtelierWandlicht off
2016-04-12_05:34:24 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:35:01 Aussen.AtelierWandlicht set_off
2016-04-12_05:35:01 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:35:01 Aussen.AtelierWandlicht level: 0
2016-04-12_05:35:01 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:35:01 Aussen.AtelierWandlicht off
2016-04-12_05:35:01 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:35:38 Aussen.AtelierWandlicht set_off
2016-04-12_05:35:38 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:35:38 Aussen.AtelierWandlicht level: 0
2016-04-12_05:35:38 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:35:38 Aussen.AtelierWandlicht off
2016-04-12_05:35:38 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:36:14 Aussen.AtelierWandlicht set_off
2016-04-12_05:36:14 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:36:14 Aussen.AtelierWandlicht level: 0
2016-04-12_05:36:14 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:36:14 Aussen.AtelierWandlicht off
2016-04-12_05:36:14 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:36:30 Aussen.AtelierWandlicht set_on
2016-04-12_05:36:30 Aussen.AtelierWandlicht deviceMsg: on (to vccu)
2016-04-12_05:36:30 Aussen.AtelierWandlicht level: 100
2016-04-12_05:36:30 Aussen.AtelierWandlicht pct: 100
2016-04-12_05:36:30 Aussen.AtelierWandlicht on
2016-04-12_05:36:30 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:36:51 Aussen.AtelierWandlicht set_off
2016-04-12_05:36:51 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:36:51 Aussen.AtelierWandlicht level: 0
2016-04-12_05:36:51 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:36:51 Aussen.AtelierWandlicht off
2016-04-12_05:36:51 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:37:27 Aussen.AtelierWandlicht set_off
2016-04-12_05:37:27 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:37:27 Aussen.AtelierWandlicht level: 0
2016-04-12_05:37:27 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:37:27 Aussen.AtelierWandlicht off
2016-04-12_05:37:27 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:38:05 Aussen.AtelierWandlicht set_off
2016-04-12_05:38:05 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:38:05 Aussen.AtelierWandlicht level: 0
2016-04-12_05:38:05 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:38:05 Aussen.AtelierWandlicht off
2016-04-12_05:38:05 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:38:41 Aussen.AtelierWandlicht set_off
2016-04-12_05:38:41 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:38:41 Aussen.AtelierWandlicht level: 0
2016-04-12_05:38:41 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:38:41 Aussen.AtelierWandlicht off
2016-04-12_05:38:41 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:39:17 Aussen.AtelierWandlicht set_off
2016-04-12_05:39:18 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:39:18 Aussen.AtelierWandlicht level: 0
2016-04-12_05:39:18 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:39:18 Aussen.AtelierWandlicht off
2016-04-12_05:39:18 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:39:54 Aussen.AtelierWandlicht set_off
2016-04-12_05:39:54 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:39:54 Aussen.AtelierWandlicht level: 0
2016-04-12_05:39:54 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:39:54 Aussen.AtelierWandlicht off
2016-04-12_05:39:54 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:40:30 Aussen.AtelierWandlicht set_off
2016-04-12_05:40:30 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:40:30 Aussen.AtelierWandlicht level: 0
2016-04-12_05:40:30 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:40:30 Aussen.AtelierWandlicht off
2016-04-12_05:40:30 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:41:07 Aussen.AtelierWandlicht set_off
2016-04-12_05:41:07 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:41:07 Aussen.AtelierWandlicht level: 0
2016-04-12_05:41:07 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:41:07 Aussen.AtelierWandlicht off
2016-04-12_05:41:07 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:41:30 Aussen.AtelierWandlicht set_on
2016-04-12_05:41:30 Aussen.AtelierWandlicht deviceMsg: on (to vccu)
2016-04-12_05:41:30 Aussen.AtelierWandlicht level: 100
2016-04-12_05:41:30 Aussen.AtelierWandlicht pct: 100
2016-04-12_05:41:30 Aussen.AtelierWandlicht on
2016-04-12_05:41:30 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:41:43 Aussen.AtelierWandlicht set_off
2016-04-12_05:41:44 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:41:44 Aussen.AtelierWandlicht level: 0
2016-04-12_05:41:44 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:41:44 Aussen.AtelierWandlicht off
2016-04-12_05:41:44 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:42:19 Aussen.AtelierWandlicht set_off
2016-04-12_05:42:20 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:42:20 Aussen.AtelierWandlicht level: 0
2016-04-12_05:42:20 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:42:20 Aussen.AtelierWandlicht off
2016-04-12_05:42:20 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:42:57 Aussen.AtelierWandlicht set_off
2016-04-12_05:42:57 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:42:57 Aussen.AtelierWandlicht level: 0
2016-04-12_05:42:57 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:42:57 Aussen.AtelierWandlicht off
2016-04-12_05:42:57 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:43:33 Aussen.AtelierWandlicht set_off
2016-04-12_05:43:33 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:43:33 Aussen.AtelierWandlicht level: 0
2016-04-12_05:43:33 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:43:33 Aussen.AtelierWandlicht off
2016-04-12_05:43:33 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:44:10 Aussen.AtelierWandlicht set_off
2016-04-12_05:44:11 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:44:11 Aussen.AtelierWandlicht level: 0
2016-04-12_05:44:11 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:44:11 Aussen.AtelierWandlicht off
2016-04-12_05:44:11 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:44:46 Aussen.AtelierWandlicht set_off
2016-04-12_05:44:47 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:44:47 Aussen.AtelierWandlicht level: 0
2016-04-12_05:44:47 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:44:47 Aussen.AtelierWandlicht off
2016-04-12_05:44:47 Aussen.AtelierWandlicht timedOn: off
2016-04-12_05:45:22 Aussen.AtelierWandlicht set_off
2016-04-12_05:45:23 Aussen.AtelierWandlicht deviceMsg: off (to vccu)
2016-04-12_05:45:23 Aussen.AtelierWandlicht level: 0
2016-04-12_05:45:23 Aussen.AtelierWandlicht pct: 0
2016-04-12_05:45:23 Aussen.AtelierWandlicht off
Ratschlag und "RTFM" werden dankend entgegengenommen...
Danke, -MN
In diesem Zweig
ZitatDOELSEIF ( [15:00-01:00] and [PresTVWintergarten:state] eq "present" and [MyTwilight:twilight_weather] < 40 )
wird [PresTVWintergarten:state] regelmäßig aktualisiert und jedesmal wenn [PresTVWintergarten:state] eq "present" unwahr ist, wird der DOELSE-Zweig geschaltet.
Lösungsvorschlag 1: Setze das Attribut auf event-on-change-reading für PresTVWintergarten auf presence und frage im DOIF [PresTVWintergarten:presence] ab.
Lösungsvorschlag 2: Ersetze DOELSE durch DOELSEIF mit einer passenden Ausschaltbedingung.
Vielen Dank,
geändert und ich werde beobachten, was heute abend und morgen früh passiert.
Danke, -MN