Hallo Forum.
Ich habe hier ein Problem mit dem DOIF und ich finde den Fehler nicht.
Meine Definition:
define Licht_Weihnacht DOIF ([05:30-01:00] and [TH_Helligkeit:state] eq "dunkel") (set ELRO_B on) DOELSE (set ELRO_B off)
erzeugt bspw. 05:30 Uhr folgende Fehlermeldung:
2015.11.06 05:30:00 2: Licht_Weihnacht: perl error in condition: DOIF_time_once($hash,$hash->{timer}{0},$wday,"") and TH_Helligkeit:dunkel: syntax error at (eval 75601) line 1, near "TH_Helligkeit:"
Jetzt habe ich schon verschieden Dinge getestet (Klammern, Anführungszeichen) bekomme aber die Fehlermeldung nicht weg. Schalten nach Zeit geht aber.
'TH_Helligkeit:state' bezieht sich hier auf ein 'THRESHOLD' und dessen Reading 'state'.
Danke schon mal im voraus.
Zitat von: majorshark am 06 November 2015, 11:20:10
Hallo Forum.
Ich habe hier ein Problem mit dem DOIF und ich finde den Fehler nicht.
Meine Definition:
define Licht_Weihnacht DOIF ([05:30-01:00] and [TH_Helligkeit:state] eq "dunkel") (set ELRO_B on) DOELSE (set ELRO_B off)
erzeugt bspw. 05:30 Uhr folgende Fehlermeldung:
2015.11.06 05:30:00 2: Licht_Weihnacht: perl error in condition: DOIF_time_once($hash,$hash->{timer}{0},$wday,"") and TH_Helligkeit:dunkel: syntax error at (eval 75601) line 1, near "TH_Helligkeit:"
Jetzt habe ich schon verschieden Dinge getestet (Klammern, Anführungszeichen) bekomme aber die Fehlermeldung nicht weg. Schalten nach Zeit geht aber.
'TH_Helligkeit:state' bezieht sich hier auf ein 'THRESHOLD' und dessen Reading 'state'.
Danke schon mal im voraus.
Poste hier Ausgabe von:
list Licht_Weihnacht
Gruß
Damian
list Licht_Weihnacht
Internals:
DEF ([05:30-01:00] and [TH_Helligkeit:state] eq "dunkel")
(set ELRO_B on)
DOELSE
(set ELRO_B off)
NAME Licht_Weihnacht
NR 273
NTFY_ORDER 50-Licht_Weihnacht
STATE cmd_1
TYPE DOIF
Readings:
2015-11-06 16:53:06 Device TH_Helligkeit
2015-11-06 16:53:07 cmd_event TH_Helligkeit
2015-11-06 16:53:07 cmd_nr 1
2015-11-06 16:53:06 e_TH_Helligkeit_state dunkel
2015-11-06 16:53:07 state cmd_1
2015-11-06 10:27:16 timer_1_c1 07.11.2015 05:30:00
2015-11-06 10:27:16 timer_2_c1 07.11.2015 01:00:00
Condition:
0 DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") and ReadingValDoIf('TH_Helligkeit','state','') eq "dunkel"
Days:
Devices:
0 TH_Helligkeit
all TH_Helligkeit
Do:
0:
0 set ELRO_B on
1:
0 set ELRO_B off
Helper:
globalinit 1
last_timer 2
sleeptimer -1
Internals:
Itimer:
Readings:
0 TH_Helligkeit:state
all TH_Helligkeit:state
Realtime:
0 05:30:00
1 01:00:00
State:
Time:
0 05:30:00
1 01:00:00
Timecond:
0 0
1 0
Timer:
0 0
1 0
Timerfunc:
Timers:
0 0 1
Trigger:
Attributes:
Danke schon mal.
Zitat von: majorshark am 06 November 2015, 16:56:35
list Licht_Weihnacht
Internals:
DEF ([05:30-01:00] and [TH_Helligkeit:state] eq "dunkel")
(set ELRO_B on)
DOELSE
(set ELRO_B off)
NAME Licht_Weihnacht
NR 273
NTFY_ORDER 50-Licht_Weihnacht
STATE cmd_1
TYPE DOIF
Readings:
2015-11-06 16:53:06 Device TH_Helligkeit
2015-11-06 16:53:07 cmd_event TH_Helligkeit
2015-11-06 16:53:07 cmd_nr 1
2015-11-06 16:53:06 e_TH_Helligkeit_state dunkel
2015-11-06 16:53:07 state cmd_1
2015-11-06 10:27:16 timer_1_c1 07.11.2015 05:30:00
2015-11-06 10:27:16 timer_2_c1 07.11.2015 01:00:00
Condition:
0 DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") and ReadingValDoIf('TH_Helligkeit','state','') eq "dunkel"
Days:
Devices:
0 TH_Helligkeit
all TH_Helligkeit
Do:
0:
0 set ELRO_B on
1:
0 set ELRO_B off
Helper:
globalinit 1
last_timer 2
sleeptimer -1
Internals:
Itimer:
Readings:
0 TH_Helligkeit:state
all TH_Helligkeit:state
Realtime:
0 05:30:00
1 01:00:00
State:
Time:
0 05:30:00
1 01:00:00
Timecond:
0 0
1 0
Timer:
0 0
1 0
Timerfunc:
Timers:
0 0 1
Trigger:
Attributes:
Danke schon mal.
Die Fehlermeldung passt nicht zu dieser Definition.
Gemeldete Fehlermeldung:
DOIF_time_once($hash,$hash->{timer}{0},$wday,"") and TH_Helligkeit:dunkel
ist nicht
DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") and ReadingValDoIf('TH_Helligkeit','state','') eq "dunkel"
Gruß
Damian
Komisch. Was ist das dann für ein Logeintrag?
Heute Morgen habe ich kein entsprechenden Logeintrag gefunden. Es scheint ganz normal zu funktionieren. Muss ich mal weiter beobachten.