Hallo,
Bei einer meiner DOIFs kommt immer diese Meldung:
condition c02: Bareword "on" not allowed while "strict subs" in use at (eval 333250) line 1. Bareword "off" not allowed while "strict subs" in use at (eval 333250) line 1.
Hier noch das List meines DOIFs:
Internals:
DEF ([RolladenAutomatik_1OG] eq on and [{sunrise(+2377,"8:00","10:00")}|7] or [{sunrise(+577,"6:30","8:00")}|12345])
(set Fenster_gross pct 100)
DOELSEIF ([RolladenAutomatik_1OG] eq on and [Fenster_offen] eq off and [{sunset(-1500,"15:30","22:30")}])
(set Fenster_gross pct 0)
DOELSEIF ([RolladenAutomatik_1OG] eq on and [Fenster_offen] eq on and [{sunset(3600,"15:30","22:30")}])
(set Fenster_gross pct 0)
DOELSEIF ([RolladenAutomatik_1OG] eq on and [Fenster_offen] eq on and [Fenster_gross:pct] < 80)
(set Fenster_gross pct 100)
NAME di_Rolladen_CUL_HM_Fenster_gross
NR 1129
NTFY_ORDER 50-di_Rolladen_CUL_HM_Fenster_gross
STATE cmd_2
TYPE DOIF
READINGS:
2017-12-04 17:45:32 Device Fenster_offen
2017-12-04 17:01:35 cmd 2
2017-12-04 17:01:35 cmd_event set_cmd_2
2017-12-04 17:01:35 cmd_nr 2
2017-12-04 17:03:20 e_Fenster_gross_pct 90
2017-12-04 17:45:32 e_Fenster_offen_STATE off
2017-12-04 17:46:14 error condition c03: Bareword "on" not allowed while "strict subs" in use at (eval 333335) line 1.
Bareword "on" not allowed while "strict subs" in use at (eval 333335) line 1.
2017-12-04 17:01:35 state cmd_2
2017-12-04 16:55:57 timer_01_c01 05.12.2017 08:00:00|7
2017-12-04 16:55:57 timer_02_c01 05.12.2017 07:11:15|12345
2017-12-04 16:55:57 timer_03_c02 05.12.2017 16:20:58
2017-12-04 17:46:14 timer_04_c03 05.12.2017 17:45:58
condition:
0 InternalDoIf($hash,'RolladenAutomatik_1OG','STATE') eq on and DOIF_time_once($hash,0,$wday,"7") or DOIF_time_once($hash,1,$wday,"12345")
1 InternalDoIf($hash,'RolladenAutomatik_1OG','STATE') eq on and InternalDoIf($hash,'Fenster_offen','STATE') eq off and DOIF_time_once($hash,2,$wday)
2 InternalDoIf($hash,'RolladenAutomatik_1OG','STATE') eq on and InternalDoIf($hash,'Fenster_offen','STATE') eq on and DOIF_time_once($hash,3,$wday)
3 InternalDoIf($hash,'RolladenAutomatik_1OG','STATE') eq on and InternalDoIf($hash,'Fenster_offen','STATE') eq on and ReadingValDoIf($hash,'Fenster_gross','pct') < 80
days:
0 7
1 12345
devices:
0 RolladenAutomatik_1OG
1 RolladenAutomatik_1OG Fenster_offen
2 RolladenAutomatik_1OG Fenster_offen
3 RolladenAutomatik_1OG Fenster_offen Fenster_gross
all RolladenAutomatik_1OG Fenster_offen Fenster_gross
do:
0:
0 set Fenster_gross pct 100
1:
0 set Fenster_gross pct 0
2:
0 set Fenster_gross pct 0
3:
0 set Fenster_gross pct 100
4:
helper:
event timer_4
globalinit 1
last_timer 4
sleeptimer -1
triggerDev
triggerEvents:
timer_4
triggerEventsState:
state: off
internals:
0 RolladenAutomatik_1OG:STATE
1 RolladenAutomatik_1OG:STATE Fenster_offen:STATE
2 RolladenAutomatik_1OG:STATE Fenster_offen:STATE
3 RolladenAutomatik_1OG:STATE Fenster_offen:STATE
all RolladenAutomatik_1OG:STATE Fenster_offen:STATE
interval:
itimer:
localtime:
0 1512457200
1 1512454275
2 1512487258
3 1512492358
readings:
3 Fenster_gross:pct
all Fenster_gross:pct
realtime:
0 08:00:00
1 07:11:15
2 16:20:58
3 17:45:58
regexp:
0:
1:
2:
3:
all:
state:
STATE:
time:
0 {sunrise(+2377,"8:00","10:00")}
1 {sunrise(+577,"6:30","8:00")}
2 {sunset(-1500,"15:30","22:30")}
3 {sunset(3600,"15:30","22:30")}
timeCond:
0 0
1 0
2 1
3 2
timer:
0 0
1 0
2 0
3 0
timers:
0 0 1
1 2
2 3
trigger:
triggertime:
1512454275:
localtime 1512454275
hash:
1512457200:
localtime 1512457200
hash:
1512487258:
localtime 1512487258
hash:
1512492358:
localtime 1512492358
hash:
Attributes:
do always
room CUL_HM
Seit wann vergleichst du mit eq Zeichenketten wie: on, off ohne Anführungszeichen ;)
Uuups - da habe ich wohl einen fatalen Fehler gemacht :-[
Danke für die rasche Hilfe