Hallo.
habe durch Zufall, und nicht durch DOIF, erfahren das einer meiner Batterien "low" ist.
Warum bekomme ich aber keine Meldung?
Habe mal ein list angehängt
Internals:
DEF (([":^battery:.*low"] or [":^battery:.*0"]) and [?$SELF:$DEVICE] eq "0") ( {set Telegram message @xxxxxxxxxx send 'Battery warnung "$DEVICE: $EVENT"}, {Log 3,"$DEVICE: Batteriewarnung $EVENT"}, setreading $SELF $DEVICE low)
DOELSEIF (([":^battery:.*low"] or [":^battery:.*0"]) and ([?$SELF:$DEVICE] eq "ok" or [?$SELF:$DEVICE] eq "novalue")) (setreading $SELF $DEVICE [$SELF:delayCounter])
DOELSEIF (([":^battery:.*low"] or [":^battery:.*0"]) and [?$SELF:$DEVICE] > "0" and [?$SELF:$DEVICE] <= [?$SELF:delayCounter]) (setreading $SELF $DEVICE {([$SELF:$DEVICE])-1})
DOELSEIF (([":^battery:.*ok"] or [":^battery:.*1"]) and [?$SELF:$DEVICE] ne "ok") (setreading $SELF $DEVICE ok)
NAME Batteriewarnung
NR 882
NTFY_ORDER 50-Batteriewarnung
STATE initialized
TYPE DOIF
Readings:
2017-07-02 13:09:03 AURIOL_9 2
2017-04-12 19:31:32 Alarmanlage ok
2017-08-11 15:18:42 Device HZ_Hobbyraum
2017-04-12 18:51:43 HZ_Bad ok
2017-04-12 18:52:40 HZ_Buero ok
2017-04-12 18:51:23 HZ_Hobbyraum ok
2017-04-12 18:53:21 HZ_Schlafzimmer ok
2017-04-12 18:51:36 HZ_Vorzimmer ok
2017-04-12 18:48:46 HZ_Wohnzimmer ok
2017-04-12 19:42:59 Hideki_30_1 ok
2017-04-12 18:52:22 Pooltemperatur ok
2017-05-03 05:49:44 SD_WS07_TH_1 ok
2017-04-12 18:46:34 TH_Sensor ok
2017-08-11 15:18:06 cmd 0
2017-08-11 15:18:42 delayCounter 2
2017-08-11 15:18:42 matched_event_c4_1 battery: ok
2017-08-11 15:18:06 state initialized
Condition:
0 (EventDoIf('',$hash,'^battery:.*low',0) or EventDoIf('',$hash,'^battery:.*0',0)) and ReadingValDoIf($hash,'Batteriewarnung','$DEVICE') eq "0"
1 (EventDoIf('',$hash,'^battery:.*low',0) or EventDoIf('',$hash,'^battery:.*0',0)) and (ReadingValDoIf($hash,'Batteriewarnung','$DEVICE') eq "ok" or ReadingValDoIf($hash,'Batteriewarnung','$DEVICE') eq "novalue")
2 (EventDoIf('',$hash,'^battery:.*low',0) or EventDoIf('',$hash,'^battery:.*0',0)) and ReadingValDoIf($hash,'Batteriewarnung','$DEVICE') > "0" and ReadingValDoIf($hash,'Batteriewarnung','$DEVICE') <= ReadingValDoIf($hash,'Batteriewarnung','delayCounter')
3 (EventDoIf('',$hash,'^battery:.*ok',0) or EventDoIf('',$hash,'^battery:.*1',0)) and ReadingValDoIf($hash,'Batteriewarnung','$DEVICE') ne "ok"
Devices:
Do:
0:
0 {set Telegram message @xxxxxxxxx send 'Battery warnung "$DEVICE: $EVENT"}, {Log 3,"$DEVICE: Batteriewarnung $EVENT"}, setreading Batteriewarnung $DEVICE low
1:
0 setreading Batteriewarnung $DEVICE [Batteriewarnung:delayCounter]
2:
0 setreading Batteriewarnung $DEVICE {([Batteriewarnung:$DEVICE])-1}
3:
0 setreading Batteriewarnung $DEVICE ok
4:
Helper:
event battery: ok
globalinit 1
last_timer 0
sleeptimer -1
triggerDev HZ_Hobbyraum
triggerEvents:
actuator: 100
battery: ok
batteryLevel: 2.6
desired-temp: on
measured-temp: 24.9
motorErr: ok
triggerEventsState:
actuator: 100
battery: ok
batteryLevel: 2.6
desired-temp: on
measured-temp: 24.9
motorErr: ok
Internals:
Itimer:
Readings:
0 Batteriewarnung:$DEVICE
1 Batteriewarnung:$DEVICE Batteriewarnung:$DEVICE
2 Batteriewarnung:$DEVICE Batteriewarnung:$DEVICE Batteriewarnung:delayCounter
3 Batteriewarnung:$DEVICE
all Batteriewarnung:$DEVICE Batteriewarnung:$DEVICE Batteriewarnung:$DEVICE Batteriewarnung:$DEVICE Batteriewarnung:$DEVICE Batteriewarnung:delayCounter Batteriewarnung:$DEVICE
Regexp:
0:
0 :^battery:.*low
1 :^battery:.*0
1:
0 :^battery:.*low
1 :^battery:.*0
2:
0 :^battery:.*low
1 :^battery:.*0
3:
0 :^battery:.*ok
1 :^battery:.*1
All:
0 :^battery:.*low
1 :^battery:.*0
2 :^battery:.*ok
3 :^battery:.*1
State:
Trigger:
Attributes:
delayCounter 2
do always
notexist "novalue"
room DOIF
userReadings delayCounter { AttrVal($name,"delayCounter",0);; }
userattr delayCounter
Was mich auch stutzig macht, meine ganzen Fenstersensoren FHT80 fehlen auch. vielleicht hat wer einen tipp für mich.
lg
Ich sehe nicht, dass cmdState definiert wurde und
[?$SELF:$DEVICE] > "0"
ergibt bestimmt auch nicht das Erwünschte. ne statt > wäre da angebrachter.
das beispiel habe ich aus den firum hier übernommen, weil einfachere erst recht nicht funktionierte. danke trotzdem
Gesendet von meinem ONEPLUS A5000 mit Tapatalk