Hallo Leute,
nachdem ich mein letztes Prowl Problem mit doif statt notify lösen konnte, nervt mich noch ein anderes Problem seit langer Zeit: Immer wenn zB ein Fenster geöffnet wird oder geschlossen wird, bekomme ich eine Nachricht via Prowl - zumindest sollte es so sein - stattdessen sind es immer 3x die gleichen Nachrichten -> der geänderte Zustand wird 3x mittels Prowl übertragen ... Jemand eine Ahnung woran das liegen kann?
# Prowl Schlafzimmer_Fenster
#Dummy
define Schlafzimmer_Fenster_prowl dummy
setuuid Schlafzimmer_Fenster_prowl 5e377ebb-f33f-57bb-fdcc-10fe5559be6ca9d8
attr Schlafzimmer_Fenster_prowl room CUL_HM
#Schlafzimmer_Fenster.ZustdIndicator Fenster
define Schlafzimmer_Fenster.ZustdIndicator_Fenster_Notify notify Schlafzimmer_Fenster_.*:open set Schlafzimmer_Fenster_prowl open
setuuid Schlafzimmer_Fenster.ZustdIndicator_Fenster_Notify 5e377ebb-f33f-57bb-de0e-dbc7f958d61657bb
attr Schlafzimmer_Fenster.ZustdIndicator_Fenster_Notify room CUL_HM
define Schlafzimmer_Fenster.ZustdIndicator_Fenster_Notify_Closed notify Schlafzimmer_Fenster_.*:closed set Schlafzimmer_Fenster_prowl closed
setuuid Schlafzimmer_Fenster.ZustdIndicator_Fenster_Notify_Closed 5e377ebb-f33f-57bb-baa4-aaec9782265e80b0
attr Schlafzimmer_Fenster.ZustdIndicator_Fenster_Notify_Closed room CUL_HM
#Prowl Notify_Schlafzimmer_Fenster
define Schlafzimmer_Fenster_open_prowl notify Schlafzimmer_Fenster_.*:open {prowl("Fenster Schlafzimmer ist offen","Schlafzimmer","1")}
setuuid Schlafzimmer_Fenster_open_prowl 5e377ebb-f33f-57bb-e40b-a8f6b73e4bfcef94
define Schlafzimmer_Fenster_close_prowl notify Schlafzimmer_Fenster_.*:closed {prowl("Fenster Schlafzimmer wurde geschlossen","Schlafzimmer","1")}
setuuid Schlafzimmer_Fenster_close_prowl 5e377ebb-f33f-57bb-8df8-af1f2202f9cb214a
ein list auf das Device liefert folgendes:
Internals:
DEF 247ACA
FUUID 5e377eba-f33f-57bb-8508-4074384bb6bb8560
HMLAN1_MSGCNT 5
HMLAN1_RAWMSG E247ACA,0000,50BAEB9C,FF,FFB8,40A641247ACA1A2B3C0140C8
HMLAN1_RSSI -72
HMLAN1_TIME 2021-05-11 19:11:51
HMLAN2_MSGCNT 5
HMLAN2_RAWMSG E247ACA,0000,2A46F655,FF,FFBA,40A641247ACA1A2B3C0140C8
HMLAN2_RSSI -70
HMLAN2_TIME 2021-05-11 19:11:50
IODev HMLAN2
LASTInputDev HMLAN1
MSGCNT 10
NAME Schlafzimmer_Fenster_Links
NOTIFYDEV global
NR 93
STATE open
TYPE CUL_HM
chanNo 01
lastMsg No:40 - t:41 s:247ACA d:1A2B3C 0140C8
protLastRcv 2021-05-11 19:11:50
protRcv 5 last_at:2021-05-11 19:11:50
protSnd 5 last_at:2021-05-11 19:11:50
protState CMDs_done
rssi_at_HMLAN1 cnt:5 min:-74 max:-72 avg:-73.2 lst:-72
rssi_at_HMLAN2 cnt:5 min:-77 max:-68 avg:-70.4 lst:-70
READINGS:
2021-05-11 03:10:29 Activity alive
2015-12-21 13:03:52 CommandAccepted yes
2015-12-21 13:03:51 D-firmware 2.2
2015-12-21 13:03:51 D-serialNr KEQ0955229
2019-07-05 21:16:56 PairedTo 0x1A2B3C
2015-12-21 13:04:25 R-cyclicInfoMsg off
2015-12-21 13:04:34 R-eventDlyTime 0 s
2015-12-21 13:04:25 R-pairCentral 0x1A2B3C
2015-12-21 13:04:25 R-sabotageMsg on
2015-12-21 13:04:34 R-sign off
2019-07-05 21:16:56 RegL_00. 02:01 09:00 0A:1A 0B:2B 0C:3C 10:01 14:06 00:00
2019-07-05 21:16:56 RegL_01. 08:00 20:60 21:00 22:64 30:06 00:00
2020-12-10 07:44:53 alive yes
2021-05-11 19:11:50 battery ok
2021-05-11 19:11:50 commState CMDs_done
2021-05-11 19:11:50 contact open (to vccu)
2020-12-10 07:44:53 powerOn 2020-12-10 07:44:53
2020-12-10 07:44:53 recentStateType info
2020-12-10 07:44:53 sabotageError off
2021-05-11 19:11:50 state open
2015-12-21 13:01:42 trigDst_2DDFE6 noConfig
2016-12-02 09:02:01 trigDst_vccu noConfig
2021-05-11 19:11:50 trigger_cnt 64
helper:
HM_CMDNR 64
mId 002F
peerFriend peerAct,peerVirt
peerOpt 4:threeStateSensor
regLst 0,1,4p
rxType 4
supp_Pair_Rep 0
ack:
cmds:
TmplKey :no:1620751668.48047
TmplTs 1620751668.48047
cmdKey 1:1:0::Schlafzimmer_Fenster_Links:002F:01:
cmdLst:
assignHmKey noArg
clear [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
deviceRename -newName-
fwUpdate -filename- [-bootTime-]
getConfig noArg
getDevInfo noArg
getRegRaw (List0|List1|List2|List3|List4|List5|List6) [-peerChn-]
peerBulk -peer1,peer2,...- [({set}|unset)]
peerChan -btnNumber- -actChn- [({single})] [({set}|unset)] [actor|remote|both]
raw -data- [...]
regBulk -list-.-peerChn- -addr1:data1- -addr2:data2-...
regSet [(prep|{exec})] -regName- -value- [-peerChn-]
reset noArg
sign [(on|{off})]
tplDel -tplDel-
tplSet_0 -tplChan-
trgEventL -peer- -condition-
trgEventS -peer- -condition-
trgPressL [(-peer-|{all})]
trgPressS [(-peer-|{all})]
unpair noArg
lst:
condition closed,open,tilted
peer
peerOpt
tplChan
tplDel
tplPeer
rtrvLst:
cmdList [({short}|long)]
deviceInfo [({short}|long)]
param -param-
reg -addr- -list- [-peerChn-]
regList noArg
regTable noArg
regVal -addr- -list- [-peerChn-]
saveConfig [-filename-]
tplInfo noArg
expert:
def 1
det 0
raw 1
tpl 0
io:
newChn +247ACA,00,00,00
nextSend 1620753110.52597
rxt 0
vccu vccu
p:
247ACA
00
00
00
prefIO:
HMLAN2
mRssi:
mNo 40
io:
HMLAN1:
-72
-72
HMLAN2:
-68
-68
prt:
bErr 0
sProc 0
rspWait:
q:
qReqConf
qReqStat
role:
chn 1
dev 1
rpt:
IO HMLAN2
flg A
ts 1620753110.43771
ack:
HASH(0x3d7fc10)
4080021A2B3C247ACA0101C800
rssi:
at_HMLAN1:
avg -73.2
cnt 5
lst -72
max -72
min -74
at_HMLAN2:
avg -70.4
cnt 5
lst -70
max -68
min -77
tmpl:
Attributes:
IODev HMLAN2
IOgrp vccu:HMLAN2
actCycle 028:00
actStatus alive
autoReadReg 4_reqStatus
expert defReg,rawReg
firmware 2.2
icon fts_window_2w_open_l
model HM-SEC-SC-2
peerIDs 00000000,
room Schlafzimmer
serialNr KEQ0955229
subType threeStateSensor
Jemand eine Idee woran das liegen kann?
Vielen Dank
Sascha
Ich wuerde den Event Monitor oeffnen, die FHEM-Log Anzeige aktivieren, Fenster oeffnen, und schauen, was angezeigt wird.
Weil Du hiermit
Zitatdefine Schlafzimmer_Fenster.ZustdIndicator_Fenster_Notify_Closed notify Schlafzimmer_Fenster_.*:closed set Schlafzimmer_Fenster_prowl closed
in Schleife triggerst? Ich wundere mich, dass es nur 3 sind?
Was macht dieses Konstrukt für einen Sinn?
Gruß Otto
Theoretisch muessten solche Endlosschleifen vom Framework verhindert werden :)
Zitat von: rudolfkoenig am 11 Mai 2021, 20:20:04
Theoretisch muessten solche Endlosschleifen vom Framework verhindert werden :)
Ja ich weiß, aber in einem anderen Thread klang es für mich so: sein System ist von 2013 ... ??? Er hat eventuell keine Weboberfläche und somit auch keine Eventmonitor ? ;D ;D ;D
Alternativ klingt es nach einem CUL_HM Problem, wobei die Konfiguration die RSSI Werte und die Peers jetzt nicht danach aussehen. Homematic wiederholt in bestimmten Fällen die Übertragung dreimal...
Den Event-Monitor gibt es seit 2012-02-26, inform im telnet gabs noch davor.
Die Verhinderung der Endlosschleifen per Event ist seit 2013-01-30 unveraendert.
Zitat von: Otto123 am 11 Mai 2021, 20:16:39
Weil Du hiermit in Schleife triggerst? Ich wundere mich, dass es nur 3 sind?
Was macht dieses Konstrukt für einen Sinn?
Gruß Otto
Hallo Otto,
vielen Dank für deine zweite Hilfe :-) - Ja das System habe ich so gegen 2013 aufgesetzt - und wie es halt so ist: es läuft bis auf kleine verschmerzbare Probleme wunderbar - habe daher in den letzten Jahren die Entwicklung (zeitliches Problem) nicht mehr so ganz verfolgt und mich daher nie an Weboberfläche oä gewöhnt - mea culpa - muss ich bei Gelegenheit mal nachholen ...
Das mit der Schleife habe ich nicht verstanden - wo kommt die her? das sind doch andere Bezeichnungen? Die Lösung (so wie ich es umgesetzt habe) habe ich vor Jahren aus einem Tutorial - könnte dieses hier gewesen sein - oder zumindest ein ähnliches (natürlich mit den entsprechenden Anpassungen):
https://www.meintechblog.de/2013/11/howto-mit-fhem-push-nachrichten-aufs-iphone-schicken/ (https://www.meintechblog.de/2013/11/howto-mit-fhem-push-nachrichten-aufs-iphone-schicken/)
Irgendwie ist mir in Erinnerung geblieben dass das Problem (GLAUBE ich) damals erst aufgetreten ist nachdem ich den Burstmodus aktiviert hatte - aber da kann ich mich irren - ist ja schon lange her ...
Nochmals vielen Dank an euch Alle für die Hilfe
Sascha
Moin,
naja der Burstmodus erzeugt auch keine drei Nachrichten. Aber manchmal hängt alles an einem Faden. Klarheit und Denkansätze bringt Dir und uns der Eventmonitor.
Schleife (Ja sicher hat Rudi Recht, dass die im Framework verhindert wird) aber Sinn macht das für mich trotzdem nicht:
notify Schlafzimmer_Fenster_.*:closed set Schlafzimmer_Fenster_prowl closed
Der rote Ausdruck triggert auf alle Geräte deren Namen mit Schlafzimmer_Fenster_ beginnen.
Du setzt bei einem trigger einen Befehl an Schlafzimmer_Fenster_prowl ab, auch noch mit dem gleichen Inhalt (Du triggerst auf closed und schickst ein closed) damit triggerst Du das notify wieder selbst!
Gruß Otto
Moinsen,
vielen Dank für deine Antwort - muss da mal die Logik durchdenken/ begreifen - dauert in meinem Alter leider etwas länger :-)
Das ist was ich im Event monitor sehe wenn ich eines der beiden Fenster öffne (ist das ausreichen? Wollte hier nicht alles mit dem kompletten Event log "vollmüllen")
2021-05-12 12:05:41.100 dummy Schlafzimmer_Fenster_offen on
2021-05-12 12:05:41.107 dummy Schlafzimmer_Fenster_offenTemp 19.0
2021-05-12 12:05:41.110 CUL_HM Schlafzimmer_Fenster_Links battery: ok
2021-05-12 12:05:41.110 CUL_HM Schlafzimmer_Fenster_Links commState: CMDs_done
2021-05-12 12:05:41.110 CUL_HM Schlafzimmer_Fenster_Links contact: open (to vccu)
2021-05-12 12:05:41.110 CUL_HM Schlafzimmer_Fenster_Links open
2021-05-12 12:05:41.110 CUL_HM Schlafzimmer_Fenster_Links trigger_cnt: 66
2021-05-12 12:05:41.713 CUL_HM Schlafzimmer_Heizungsventil trigLast: fhem:02
2021-05-12 12:05:41.718 CUL_HM Schlafzimmer_Thermostat commState: CMDs_processing...
2021-05-12 12:05:41.729 HMLAN HMLAN2 loadLvl: low
2021-05-12 12:05:41.895 CUL_HM Schlafzimmer_Heizungsventil trigLast: fhem:02
2021-05-12 12:05:42.032 CUL_HM Schlafzimmer_Heizungsventil desired-temp: 12.0
2021-05-12 12:05:42.037 CUL_HM Schlafzimmer_Thermostat battery: ok
2021-05-12 12:05:42.037 CUL_HM Schlafzimmer_Thermostat commState: CMDs_done
2021-05-12 12:05:42.037 CUL_HM Schlafzimmer_Thermostat desired-temp: 12.0
2021-05-12 12:05:50.859 HMLAN HMLAN1 loadLvl: low
Sascha
aber da gibt es genau einen Event der Dein Konstrukt oben triggert:
Schlafzimmer_Fenster_Links open
Da sehe ich jetzt keinen Grund für 3 Nachrichten - kamen die denn?
Schlafzimmer_Fenster_prowl open hast Du leider nicht erfasst. Du kannst im Eventmonitor den Filter genau wie im notify setzen:
Schlafzimmer_Fenster_.*
Du kannst auch mehrere setzen:
Filter1|Filter2