Hi!
Ich habe 3 dieser module in DOIF gepackt die mir melden sollen wenn eine Tür geöffnet oder geschlossen wurde. Was auch funktioniert aber ich bekomme in unregelmäßigen Abständen die Meldung CLOSED auch wenn die Tür seit Stunden geschlossen ist und zwischendurch nicht geöffnet wurde... Woran kann das liegen?
Hier ein List vom Sensor.
Internals:
DEF 5F4DE8
IODev myHmUART
LASTInputDev myHmUART
MSGCNT 131
NAME EingangsTuer
NOTIFYDEV global
NR 171
NTFY_ORDER 50-EingangsTuer
STATE closed
TYPE CUL_HM
lastMsg No:6E - t:10 s:5F4DE8 d:AB34EF 06010000
myHmUART_MSGCNT 131
myHmUART_RAWMSG 050100426EA6105F4DE8AB34EF06010000
myHmUART_RSSI -66
myHmUART_TIME 2018-11-27 08:10:37
protLastRcv 2018-11-27 08:10:37
protRcv 131 last_at:2018-11-27 08:10:37
protSnd 131 last_at:2018-11-27 08:10:37
protState CMDs_done
rssi_at_myHmUART cnt:131 min:-74 max:-55 avg:-63.93 lst:-66
READINGS:
2018-11-25 16:28:38 Activity alive
2018-11-23 17:49:36 CommandAccepted yes
2018-11-23 17:50:14 D-firmware 1.0
2018-11-23 17:50:14 D-serialNr OEQ1428806
2018-11-23 17:50:15 PairedTo 0xAB34EF
2018-11-23 17:50:15 R-cyclicInfoMsg on
2018-11-23 17:50:15 R-eventDlyTime 0 s
2018-11-23 17:50:15 R-pairCentral 0xAB34EF
2018-11-23 17:50:15 R-sabotageMsg on
2018-11-23 17:50:15 R-sign on
2018-11-23 17:50:15 RegL_00. 02:01 09:01 0A:AB 0B:34 0C:EF 10:01 14:06 00:00
2018-11-23 17:50:15 RegL_01. 08:01 20:9C 21:00 30:06 00:00
2018-11-23 17:49:36 aesCommToDev ok
2018-11-23 17:49:36 aesKeyNbr 00
2018-11-27 08:10:37 alive yes
2018-11-27 08:10:37 battery ok
2018-11-27 08:10:37 contact closed (to VCCU)
2018-11-27 08:10:37 recentStateType info
2018-11-27 08:10:37 sabotageError off
2018-11-27 08:10:37 state closed
2018-11-23 17:45:57 trigDst_broadcast noConfig
2018-11-27 07:04:53 trigger_cnt 70
helper:
HM_CMDNR 110
mId 00C7
regLst ,0,1,4p
rxType 28
supp_Pair_Rep 0
expert:
def 1
det 0
raw 1
tpl 0
io:
newChn +5F4DE8,00,00,00
nextSend 1543302638.24392
rxt 2
vccu VCCU
p:
5F4DE8
00
00
00
prefIO:
myHmUART
mRssi:
mNo 6E
io:
myHmUART:
-62
-62
prt:
bErr 0
sProc 0
sleeping 0
rspWait:
q:
qReqConf
qReqStat
role:
chn 1
dev 1
rpt:
IO myHmUART
flg A
ts 1543302637.94879
ack:
HASH(0x455f250)
6E8002AB34EF5F4DE800
rssi:
at_myHmUART:
avg -63.9389312977099
cnt 131
lst -66
max -55
min -74
tmpl:
Attributes:
IODev myHmUART
IOgrp VCCU:myHmUART
actCycle 002:50
actStatus alive
autoReadReg 4_reqStatus
expert 2_raw
firmware 1.0
model HM-SEC-SCo
peerIDs 00000000,
room CUL_HM,Tür/FensterKontakte
serialNr OEQ1428806
subType threeStateSensor
Hier mein DOIF:
([TerrassenTuer1:"open"] and [?Haus] eq "absent") (set Telegram message Terrassentür geöffnet!)
DOELSEIF
([EingangsTuer:"open"] and [?Haus] eq "absent") (set Telegram message Eingangstür geöffnet!)
DOELSEIF
([KellerTuer:"open"] and [?Haus] eq "absent") (set Telegram message Kellertür geöffnet!)
DOELSEIF
([TerrassenTuer1:"closed"] and [?Haus] eq "absent") (set Telegram message Terrassentür geschlossen!)
DOELSEIF
([EingangsTuer:"closed"] and [?Haus] eq "absent") (set Telegram message Eingangstür geschlossen!)
DOELSEIF
([KellerTuer:"closed"] and [?Haus] eq "absent") (set Telegram message Kellertür geschlossen!)
Hoffe jemand hat eine Idee woran es liegen könnte...
Kommt drauf an was du bei den Sensoren eingestellt hast, z.B. cyclicInfoMsg.
Brauchst du aber damit der ActionDetector nicht irgendwann "dead" meldet etc...
Abhilfe wäre: event-on-change-reading zu setzen.
Wie du es setzen musst hängt von deinem Anwendungsfall ab...
...also für welche Readings NUR Änderungen zu Events führen sollen und für welche Readings AUCH Events kommen sollen, wenn sich nichts geändert hat.
Auch event-on-update-reading und andere "Verwandte" mitbetrachten...
EDIT: so eine "Sammelmeldung" lässt sich (evtl.) auch unter Nutzung von Structure "generieren"... (nutze ich nicht, wird nur bei diesem Anwendungsfall immer/oft genannnt)...
Gruß, Joachim
Hmmm...
cyclicInfoMsg steht auf on.
habe jetzt event-on-change-reading state im DOIF gesetzt aber leider ohne Erfolg. die Meldungen kommen immernoch. :-[
event-on-change-readibg gehört beim Sensor eingetragen. Dann triggert das DOIF nur wenn sich der Sensorstatus auch wirklich ändert. Die Totüberwachung im actionDetector funktioniert trotzdem, cyclicInfoMsg sollte on bleiben.
Zitat von: Pfriemler am 27 November 2018, 11:11:16
event-on-change-readibg gehört beim Sensor eingetragen. Dann triggert das DOIF nur wenn sich der Sensorstatus auch wirklich ändert. Die Totüberwachung im actionDetector funktioniert trotzdem, cyclicInfoMsg sollte on bleiben.
Jep genauso war's gemeint.
Dachte ich hätte das so beschrieben ;)
@misux: evtl. noch ein wenig in die fhem-Abläufe "fuchsen"... ;) Events kommen von geänderten Readings bei Devices (nicht immer nur "physische Geräte") und Notify, DOIF, ... reagieren darauf (wenn es die definition [Regex] dies "befiehlt" ;) ).
Gruß, Joachim