Ich habe auch mit der Zeitberechnung getestet und komme zu keinem positiven Ergebnis.
Ich habe setreading di_KinderZimmer_Rolladen StartLangsam 09:30:00 gesetzt. Leider wird der Wert aber als 0 erkannt.
setreading di_KinderZimmer_Rolladen StartLangsam 09:30:00
ergibt dann
timer_10_c14 03.07.2020 00:10:00
Hier noch das ganze Listing:
Internals:
DEF ([06:15 | AT ] and [JasminFrei] eq "0" and ::isday and [KinderZimmer_Rolladen_Balkon:pct] < 20)
(set KinderZimmer_Rolladen_Balkon 20)
DOELSEIF ([({sunrise(0,"08:30", "9:00")}) | 7] and [wech] eq "wech")
(set KinderZimmer_Rolladen_Fenster on,
set KinderZimmer_Rolladen_Balkon on)
DOELSEIF ([({sunrise(0,"07:30", "9:00")}) | 6] and [wech] eq "wech")
(set KinderZimmer_Rolladen_Fenster on,
set KinderZimmer_Rolladen_Balkon on)
DOELSEIF ([({sunrise(0,"07:30", "9:00")} ) | AT ] and [wech] eq "wech")
(set KinderZimmer_Rolladen_Fenster on,
set KinderZimmer_Rolladen_Balkon on)
DOELSEIF ([({sunset(-600, "16:00", "22:00")} ) ] and [KinderZimmer_Balkontuer:state] eq "open" and [KinderZimmer_Rolladen_Balkon:pct] > 50)
(set KinderZimmer_Rolladen_Fenster off,
set KinderZimmer_Rolladen_Balkon 50,
setreading di_KinderZimmer_Rolladen Balkon soll_zu)
DOELSEIF ([({sunset(-600, "16:00", "22:00")} ) ] and [KinderZimmer_Balkontuer:state] eq "open" and [KinderZimmer_Rolladen_Balkon:pct] <= 50)
(set KinderZimmer_Rolladen_Fenster off)
DOELSEIF ([({sunset(-600, "16:00", "22:00")} ) ] and [KinderZimmer_Balkontuer:state] eq "closed")
(set KinderZimmer_Rolladen_Fenster off,
set KinderZimmer_Rolladen_Balkon off)
DOELSEIF ([({sunset(-600, "16:00", "22:00")} ) ] and [KinderZimmer_Balkontuer:state] eq "tilted" and [KinderZimmer_Rolladen_Balkon:pct] > 10)
(set KinderZimmer_Rolladen_Fenster off,
set KinderZimmer_Rolladen_Balkon 10,
setreading di_KinderZimmer_Rolladen Balkon soll_zu)
DOELSEIF ([({sunset(-600, "16:00", "22:00")} ) ] and [KinderZimmer_Balkontuer:state] eq "tilted" and [KinderZimmer_Rolladen_Balkon:pct] <= 10)
(set KinderZimmer_Rolladen_Fenster off,
set KinderZimmer_Rolladen_Balkon off)
DOELSEIF ([KinderZimmer_Balkontuer:state] eq "closed" and [di_KinderZimmer_Rolladen:Balkon] eq "soll_zu")
(set KinderZimmer_Rolladen_Balkon off,
setreading di_KinderZimmer_Rolladen Balkon zu)
DOELSEIF ([Temp_outside:temperature] > 25 and [KinderZimmer_Rolladen_Fenster:pct] > 40 and [KinderZimmer_Rolladen_Fenster:UserMode] ne "manuell")
(set KinderZimmer_Rolladen_Fenster 40)
DOELSEIF ([Temp_outside:temperature] > 25 and [KinderZimmer_Rolladen_Balkon:pct] > 40 and [KinderZimmer_Rolladen_Balkon:UserMode] ne "manuell")
(set KinderZimmer_Rolladen_Balkon 40)
DOELSEIF ([di_KinderZimmer_Rolladen:StartLangsam ] and [JasminFrei] eq "1" and ::isday and [KinderZimmer_Rolladen_Balkon:pct] < 25)
(set KinderZimmer_Rolladen_Balkon 25)
DOELSEIF ([di_KinderZimmer_Rolladen:StartLangsam | AT ] + [00:10] and [JasminFrei] eq "1" and ::isday and [KinderZimmer_Rolladen_Balkon:pct] < 50)
(set KinderZimmer_Rolladen_Balkon 50)
DOELSEIF ([di_KinderZimmer_Rolladen:StartLangsam | AT ] + [00:20] and [JasminFrei] eq "1" and ::isday and [KinderZimmer_Rolladen_Balkon:pct] < 75)
(set KinderZimmer_Rolladen_Balkon 75)
DOELSEIF ([di_KinderZimmer_Rolladen:StartLangsam | AT ] + [00:30] and [JasminFrei] eq "1" and ::isday and [KinderZimmer_Rolladen_Balkon:pct] < 100)
(set KinderZimmer_Rolladen_Balkon 100,
set KinderZimmer_Rolladen_Fenster on)
FUUID 5c4b3ffe-f33f-78f8-d9d1-105e980cbe03d91f
MODEL FHEM
NAME di_KinderZimmer_Rolladen
NOTIFYDEV KinderZimmer_Rolladen_Fenster,global,di_KinderZimmer_Rolladen,wech,KinderZimmer_Rolladen_Balkon,Temp_outside,JasminFrei,KinderZimmer_Balkontuer
NR 549
NTFY_ORDER 50-di_KinderZimmer_Rolladen
STATE initialize
TYPE DOIF
VERSION 22030 2020-05-25 14:10:16
READINGS:
2020-04-26 21:50:35 Balkon zu
2020-07-02 11:10:29 Device Temp_outside
2020-07-02 11:05:20 StartLangsam 09:30:00
2020-07-02 08:47:00 e_KinderZimmer_Balkontuer_state closed
2020-07-02 10:40:40 e_KinderZimmer_Rolladen_Balkon_UserMode Auto
2020-07-02 10:49:59 e_KinderZimmer_Rolladen_Balkon_pct 100
2020-07-02 10:40:09 e_KinderZimmer_Rolladen_Fenster_UserMode Auto
2020-07-02 10:49:59 e_KinderZimmer_Rolladen_Fenster_pct 100
2020-07-02 11:10:29 e_Temp_outside_temperature 20.5
2020-07-02 11:05:36 mode enabled
2020-07-02 11:05:37 state initialize
2020-07-02 08:24:36 timer_01_c01 03.07.2020 06:15:00|AT
2020-07-02 08:30:00 timer_02_c02 03.07.2020 08:30:00|7
2020-07-02 08:24:36 timer_03_c03 03.07.2020 07:30:00|6
2020-07-02 08:24:36 timer_04_c04 03.07.2020 07:30:00|AT
2020-07-02 08:24:36 timer_05_c05 02.07.2020 22:00:00
2020-07-02 08:24:36 timer_06_c06 02.07.2020 22:00:00
2020-07-02 08:24:36 timer_07_c07 02.07.2020 22:00:00
2020-07-02 08:24:36 timer_08_c08 02.07.2020 22:00:00
2020-07-02 08:24:36 timer_09_c09 02.07.2020 22:00:00
2020-07-02 08:24:36 timer_10_c14 03.07.2020 00:10:00
2020-07-02 08:24:36 timer_11_c15 03.07.2020 00:20:00
2020-07-02 08:24:36 timer_12_c16 03.07.2020 00:30:00
Regex:
accu:
cond:
JasminFrei:
0:
&STATE ^JasminFrei$
12:
&STATE ^JasminFrei$
13:
&STATE ^JasminFrei$
14:
&STATE ^JasminFrei$
15:
&STATE ^JasminFrei$
KinderZimmer_Balkontuer:
0:
1:
10:
11:
12:
13:
14:
15:
2:
3:
4:
state ^KinderZimmer_Balkontuer$:^state:
5:
state ^KinderZimmer_Balkontuer$:^state:
6:
state ^KinderZimmer_Balkontuer$:^state:
7:
state ^KinderZimmer_Balkontuer$:^state:
8:
state ^KinderZimmer_Balkontuer$:^state:
9:
state ^KinderZimmer_Balkontuer$:^state:
KinderZimmer_Rolladen_Balkon:
0:
pct ^KinderZimmer_Rolladen_Balkon$:^pct:
1:
10:
11:
UserMode ^KinderZimmer_Rolladen_Balkon$:^UserMode:
pct ^KinderZimmer_Rolladen_Balkon$:^pct:
12:
pct ^KinderZimmer_Rolladen_Balkon$:^pct:
13:
pct ^KinderZimmer_Rolladen_Balkon$:^pct:
14:
pct ^KinderZimmer_Rolladen_Balkon$:^pct:
15:
pct ^KinderZimmer_Rolladen_Balkon$:^pct:
2:
3:
4:
pct ^KinderZimmer_Rolladen_Balkon$:^pct:
5:
pct ^KinderZimmer_Rolladen_Balkon$:^pct:
6:
7:
pct ^KinderZimmer_Rolladen_Balkon$:^pct:
8:
pct ^KinderZimmer_Rolladen_Balkon$:^pct:
9:
KinderZimmer_Rolladen_Fenster:
0:
1:
10:
UserMode ^KinderZimmer_Rolladen_Fenster$:^UserMode:
pct ^KinderZimmer_Rolladen_Fenster$:^pct:
11:
12:
13:
14:
15:
2:
3:
4:
5:
6:
7:
8:
9:
Temp_outside:
0:
1:
10:
temperature ^Temp_outside$:^temperature:
11:
temperature ^Temp_outside$:^temperature:
12:
13:
14:
15:
2:
3:
4:
5:
6:
7:
8:
9:
di_KinderZimmer_Rolladen:
12:
StartLangsam ^di_KinderZimmer_Rolladen$:^StartLangsam :
13:
StartLangsam | AT ^di_KinderZimmer_Rolladen$:^StartLangsam | AT :
14:
StartLangsam | AT ^di_KinderZimmer_Rolladen$:^StartLangsam | AT :
15:
StartLangsam | AT ^di_KinderZimmer_Rolladen$:^StartLangsam | AT :
9:
Balkon ^di_KinderZimmer_Rolladen$:^Balkon:
wech:
1:
&STATE ^wech$
2:
&STATE ^wech$
3:
&STATE ^wech$
attr:
cmdState:
cmdpause:
120
120
wait:
0:
int(rand(300))
1:
int(rand(600))
2:
int(rand(600))
3:
int(rand(600))
4:
int(rand(600))
5:
int(rand(600))
6:
int(rand(600))
7:
int(rand(600))
8:
int(rand(600))
waitdel:
condition:
0 ::DOIF_time_once($hash,0,$wday,"AT") and ::InternalDoIf($hash,'JasminFrei','STATE') eq "0" and ::isday and ::ReadingValDoIf($hash,'KinderZimmer_Rolladen_Balkon','pct') < 20
1 ::DOIF_time_once($hash,1,$wday,"7") and ::InternalDoIf($hash,'wech','STATE') eq "wech"
10 ::ReadingValDoIf($hash,'Temp_outside','temperature') > 25 and ::ReadingValDoIf($hash,'KinderZimmer_Rolladen_Fenster','pct') > 40 and ::ReadingValDoIf($hash,'KinderZimmer_Rolladen_Fenster','UserMode') ne "manuell"
11 ::ReadingValDoIf($hash,'Temp_outside','temperature') > 25 and ::ReadingValDoIf($hash,'KinderZimmer_Rolladen_Balkon','pct') > 40 and ::ReadingValDoIf($hash,'KinderZimmer_Rolladen_Balkon','UserMode') ne "manuell"
12 ::ReadingValDoIf($hash,'di_KinderZimmer_Rolladen','StartLangsam ') and ::InternalDoIf($hash,'JasminFrei','STATE') eq "1" and ::isday and ::ReadingValDoIf($hash,'KinderZimmer_Rolladen_Balkon','pct') < 25
13 ::ReadingValDoIf($hash,'di_KinderZimmer_Rolladen','StartLangsam | AT ') + ::DOIF_time_once($hash,9,$wday) and ::InternalDoIf($hash,'JasminFrei','STATE') eq "1" and ::isday and ::ReadingValDoIf($hash,'KinderZimmer_Rolladen_Balkon','pct') < 50
14 ::ReadingValDoIf($hash,'di_KinderZimmer_Rolladen','StartLangsam | AT ') + ::DOIF_time_once($hash,10,$wday) and ::InternalDoIf($hash,'JasminFrei','STATE') eq "1" and ::isday and ::ReadingValDoIf($hash,'KinderZimmer_Rolladen_Balkon','pct') < 75
15 ::ReadingValDoIf($hash,'di_KinderZimmer_Rolladen','StartLangsam | AT ') + ::DOIF_time_once($hash,11,$wday) and ::InternalDoIf($hash,'JasminFrei','STATE') eq "1" and ::isday and ::ReadingValDoIf($hash,'KinderZimmer_Rolladen_Balkon','pct') < 100
2 ::DOIF_time_once($hash,2,$wday,"6") and ::InternalDoIf($hash,'wech','STATE') eq "wech"
3 ::DOIF_time_once($hash,3,$wday,"AT") and ::InternalDoIf($hash,'wech','STATE') eq "wech"
4 ::DOIF_time_once($hash,4,$wday) and ::ReadingValDoIf($hash,'KinderZimmer_Balkontuer','state') eq "open" and ::ReadingValDoIf($hash,'KinderZimmer_Rolladen_Balkon','pct') > 50
5 ::DOIF_time_once($hash,5,$wday) and ::ReadingValDoIf($hash,'KinderZimmer_Balkontuer','state') eq "open" and ::ReadingValDoIf($hash,'KinderZimmer_Rolladen_Balkon','pct') <= 50
6 ::DOIF_time_once($hash,6,$wday) and ::ReadingValDoIf($hash,'KinderZimmer_Balkontuer','state') eq "closed"
7 ::DOIF_time_once($hash,7,$wday) and ::ReadingValDoIf($hash,'KinderZimmer_Balkontuer','state') eq "tilted" and ::ReadingValDoIf($hash,'KinderZimmer_Rolladen_Balkon','pct') > 10
8 ::DOIF_time_once($hash,8,$wday) and ::ReadingValDoIf($hash,'KinderZimmer_Balkontuer','state') eq "tilted" and ::ReadingValDoIf($hash,'KinderZimmer_Rolladen_Balkon','pct') <= 10
9 ::ReadingValDoIf($hash,'KinderZimmer_Balkontuer','state') eq "closed" and ::ReadingValDoIf($hash,'di_KinderZimmer_Rolladen','Balkon') eq "soll_zu"
days:
0 AT
1 7
2 6
3 AT
do:
0:
0 set KinderZimmer_Rolladen_Balkon 20
1:
0 set KinderZimmer_Rolladen_Fenster on, set KinderZimmer_Rolladen_Balkon on
10:
0 set KinderZimmer_Rolladen_Fenster 40
11:
0 set KinderZimmer_Rolladen_Balkon 40
12:
0 set KinderZimmer_Rolladen_Balkon 25
13:
0 set KinderZimmer_Rolladen_Balkon 50
14:
0 set KinderZimmer_Rolladen_Balkon 75
15:
0 set KinderZimmer_Rolladen_Balkon 100, set KinderZimmer_Rolladen_Fenster on
16:
2:
0 set KinderZimmer_Rolladen_Fenster on, set KinderZimmer_Rolladen_Balkon on
3:
0 set KinderZimmer_Rolladen_Fenster on, set KinderZimmer_Rolladen_Balkon on
4:
0 set KinderZimmer_Rolladen_Fenster off, set KinderZimmer_Rolladen_Balkon 50, setreading di_KinderZimmer_Rolladen Balkon soll_zu
5:
0 set KinderZimmer_Rolladen_Fenster off
6:
0 set KinderZimmer_Rolladen_Fenster off, set KinderZimmer_Rolladen_Balkon off
7:
0 set KinderZimmer_Rolladen_Fenster off, set KinderZimmer_Rolladen_Balkon 10, setreading di_KinderZimmer_Rolladen Balkon soll_zu
8:
0 set KinderZimmer_Rolladen_Fenster off, set KinderZimmer_Rolladen_Balkon off
9:
0 set KinderZimmer_Rolladen_Balkon off, setreading di_KinderZimmer_Rolladen Balkon zu
helper:
DEVFILTER ^global$|^KinderZimmer_Rolladen_Fenster$|^wech$|^KinderZimmer_Rolladen_Balkon$|^Temp_outside$|^JasminFrei$|^di_KinderZimmer_Rolladen$|^KinderZimmer_Balkontuer$
NOTIFYDEV global|KinderZimmer_Rolladen_Fenster|wech|KinderZimmer_Rolladen_Balkon|Temp_outside|JasminFrei|di_KinderZimmer_Rolladen|KinderZimmer_Balkontuer
event battery: ok,humidity: 72,T: 20.5 H: 72,temperature: 20.5,DiffNordOstBlack: 12.3,DiffNordOstWhite: 8.1
globalinit 1
last_timer 12
sleeptimer -1
triggerDev Temp_outside
triggerEvents:
battery: ok
humidity: 72
T: 20.5 H: 72
temperature: 20.5
DiffNordOstBlack: 12.3
DiffNordOstWhite: 8.1
triggerEventsState:
battery: ok
humidity: 72
state: T: 20.5 H: 72
temperature: 20.5
DiffNordOstBlack: 12.3
DiffNordOstWhite: 8.1
internals:
all JasminFrei:STATE wech:STATE
interval:
intervalfunc:
localtime:
0 1593749700
1 1593757800
10 1593728400
11 1593729000
2 1593754200
3 1593754200
4 1593720000
5 1593720000
6 1593720000
7 1593720000
8 1593720000
9 1593727800
readings:
all KinderZimmer_Rolladen_Balkon:pct KinderZimmer_Balkontuer:state di_KinderZimmer_Rolladen:Balkon Temp_outside:temperature KinderZimmer_Rolladen_Fenster:pct KinderZimmer_Rolladen_Fenster:UserMode KinderZimmer_Rolladen_Balkon:UserMode di_KinderZimmer_Rolladen:StartLangsam
realtime:
0 06:15:00
1 08:30:00
10 00:20:00
11 00:30:00
2 07:30:00
3 07:30:00
4 22:00:00
5 22:00:00
6 22:00:00
7 22:00:00
8 22:00:00
9 00:10:00
time:
0 06:15:00
1 ({sunrise(0,"08:30","9:00")})
10 00:20:00
11 00:30:00
2 ({sunrise(0,"07:30","9:00")})
3 ({sunrise(0,"07:30","9:00")})
4 ({sunset(-600,"16:00","22:00")})
5 ({sunset(-600,"16:00","22:00")})
6 ({sunset(-600,"16:00","22:00")})
7 ({sunset(-600,"16:00","22:00")})
8 ({sunset(-600,"16:00","22:00")})
9 00:10:00
timeCond:
0 0
1 1
10 14
11 15
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 13
timer:
0 0
1 0
10 0
11 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
timers:
0 0
1 1
13 9
14 10
15 11
2 2
3 3
4 4
5 5
6 6
7 7
8 8
trigger:
triggertime:
1593720000:
localtime 1593720000
hash:
1593727800:
localtime 1593727800
hash:
1593728400:
localtime 1593728400
hash:
1593729000:
localtime 1593729000
hash:
1593749700:
localtime 1593749700
hash:
1593754200:
localtime 1593754200
hash:
1593757800:
localtime 1593757800
hash:
uiState:
uiTable:
Attributes:
cmdpause ::::::::::120:120
do always
room 99_System
timerWithWait 1
wait int(rand(300)):int(rand(600)):int(rand(600)):int(rand(600)):int(rand(600)):int(rand(600)):int(rand(600)):int(rand(600)):int(rand(600))
Was mache ich hier falsch?
Danke
Stefan
Update:
Ich konnte das Problem lösen. Die Klammern waren falsch:
HIer ein richtiger Eintrag:
DOELSEIF ([([di_KinderZimmer_Rolladen:StartLangsam]+[00:10]) | AT] and [JasminFrei] eq "1" and ::isday and [KinderZimmer_Rolladen_Balkon:pct] < 50)
Gruß
Stefan