Hallo zusammen,
erstmal das Listing:
Internals:
CHANGED
DEF ([HW.tk:?closed$] and
[HW.gk:?closed$])
(set FL.EG.anzeige.led07 led green)
DOELSEIF
([HW.tk] eq "closed" and
[HW.gk] eq "open")
(set FL.EG.anzeige.led07 led orange)
DOELSEIF
([HW.tk:?open$])
(set FL.EG.anzeige.led07 led red)
NAME HW.ledcontrol
NR 290
NTFY_ORDER 50-HW.ledcontrol
STATE initialize
TYPE DOIF
Readings:
2015-12-07 20:24:27 Device HW.gk
2015-12-07 20:24:27 e_HW.gk_STATE closed
2015-12-07 20:24:27 e_HW.gk_events closed
2015-12-07 20:24:22 e_HW.tk_STATE closed
2015-12-07 20:24:22 e_HW.tk_events closed
2015-12-07 20:28:57 state initialize
2015-12-07 20:24:23 wait_timer no timer
Condition:
0 EventDoIf('HW.tk',$hash->{helper}{triggerDev},$hash->{helper}{triggerEvents},'closed$') and EventDoIf('HW.gk',$hash->{helper}{triggerDev},$hash->{helper}{triggerEvents},'closed$')
1 InternalDoIf('HW.tk','STATE','') eq "closed" and InternalDoIf('HW.gk','STATE','') eq "open"
2 EventDoIf('HW.tk',$hash->{helper}{triggerDev},$hash->{helper}{triggerEvents},'open$')
Devices:
0 HW.tk HW.gk
1 HW.tk HW.gk
2 HW.tk
all HW.tk HW.gk
Do:
0:
0 set FL.EG.anzeige.led07 led green
1:
0 set FL.EG.anzeige.led07 led orange
2:
0 set FL.EG.anzeige.led07 led red
3:
Helper:
globalinit 1
last_timer 0
sleepdevice HW.tk
sleepsubtimer -1
sleeptimer -1
triggerDev HW.gk
triggerEvents:
closed
Internals:
1 HW.tk:STATE HW.gk:STATE
all HW.tk:STATE HW.gk:STATE
Itimer:
Readings:
State:
Timerfunc:
Trigger:
all HW.tk HW.gk
Attributes:
cmdState grün | orange | red
event-on-change-reading no
icon message_attention
room HW-Raum
wait 2:1:0
Bei ([HW.tk:?closed$] and [HW.gk:?closed$]) tut sich nichts, erst wenn ich ([HW.tk] eq "closed" and ([HW.gk] eq "closed") codiere ..
Wie aus dem Listing zu erkennen ist, müsste der State eigentlich auf grün sein.
gruß Klaus
Zitat von: Rampler am 07 Dezember 2015, 20:33:16
Hallo zusammen,
erstmal das Listing:
Internals:
CHANGED
DEF ([HW.tk:?closed$] and
[HW.gk:?closed$])
(set FL.EG.anzeige.led07 led green)
DOELSEIF
([HW.tk] eq "closed" and
[HW.gk] eq "open")
(set FL.EG.anzeige.led07 led orange)
DOELSEIF
([HW.tk:?open$])
(set FL.EG.anzeige.led07 led red)
NAME HW.ledcontrol
NR 290
NTFY_ORDER 50-HW.ledcontrol
STATE initialize
TYPE DOIF
Readings:
2015-12-07 20:24:27 Device HW.gk
2015-12-07 20:24:27 e_HW.gk_STATE closed
2015-12-07 20:24:27 e_HW.gk_events closed
2015-12-07 20:24:22 e_HW.tk_STATE closed
2015-12-07 20:24:22 e_HW.tk_events closed
2015-12-07 20:28:57 state initialize
2015-12-07 20:24:23 wait_timer no timer
Condition:
0 EventDoIf('HW.tk',$hash->{helper}{triggerDev},$hash->{helper}{triggerEvents},'closed$') and EventDoIf('HW.gk',$hash->{helper}{triggerDev},$hash->{helper}{triggerEvents},'closed$')
1 InternalDoIf('HW.tk','STATE','') eq "closed" and InternalDoIf('HW.gk','STATE','') eq "open"
2 EventDoIf('HW.tk',$hash->{helper}{triggerDev},$hash->{helper}{triggerEvents},'open$')
Devices:
0 HW.tk HW.gk
1 HW.tk HW.gk
2 HW.tk
all HW.tk HW.gk
Do:
0:
0 set FL.EG.anzeige.led07 led green
1:
0 set FL.EG.anzeige.led07 led orange
2:
0 set FL.EG.anzeige.led07 led red
3:
Helper:
globalinit 1
last_timer 0
sleepdevice HW.tk
sleepsubtimer -1
sleeptimer -1
triggerDev HW.gk
triggerEvents:
closed
Internals:
1 HW.tk:STATE HW.gk:STATE
all HW.tk:STATE HW.gk:STATE
Itimer:
Readings:
State:
Timerfunc:
Trigger:
all HW.tk HW.gk
Attributes:
cmdState grün | orange | red
event-on-change-reading no
icon message_attention
room HW-Raum
wait 2:1:0
Bei ([HW.tk:?closed$] and [HW.gk:?closed$]) tut sich nichts, erst wenn ich ([HW.tk] eq "closed" and ([HW.gk] eq "closed") codiere ..
Wie aus dem Listing zu erkennen ist, müsste der State eigentlich auf grün sein.
gruß Klaus
([HW.tk:?closed$] and [HW.gk:?closed$])
ist niemals wahr, denn zu einem Triggerzeitpunkt, ist nur eine der beiden Angaben wahr, je nachdem ob HW.tk oder HW.gk triggert.
Gruß
Damian
ist niemals wahr, denn zu einem Triggerzeitpunkt, ist nur eine der beiden Angaben wahr, je nachdem ob HW.tk oder HW.gk triggert.
Gruß
Damian
Und wieder mal, wurde ich eines besseren belehrt... (macht Sinn)
Ducken und weg .. ;).
DANKE
Gruß
Klaus