Hi,
ich habe neben 2 HMLANs im Haus einen HMUSB im Garten am Raspberry hängen. In fhem eingebunden habe ich auch diesen HMUSB als HMLAN, über netcat.
Die WLAN-Verbindung dahin ist so lala und bricht immer mal wieder zusammen. Dann ist der HMUSB disconnected. Leider erzeugt der Disconnect des HMUSB im Minutentakt freezes von knapp unter 3 Sekunden.
2016.10.15 14:18:03 3: Opening HMUSB device 192.168.1.29:1000
2016.10.15 14:18:06 3: Can't connect to 192.168.1.29:1000: No route to host
2016.10.15 14:18:06 1: Perfmon: possible freeze starting at 14:18:04, delay is 2.727
2016.10.15 14:19:09 1: Perfmon: possible freeze starting at 14:19:07, delay is 2.999
2016.10.15 14:20:13 1: Perfmon: possible freeze starting at 14:20:10, delay is 3
2016.10.15 14:21:15 1: Perfmon: possible freeze starting at 14:21:13, delay is 2.999
2016.10.15 14:22:18 1: Perfmon: possible freeze starting at 14:22:16, delay is 2.999
2016.10.15 14:23:22 1: Perfmon: possible freeze starting at 14:23:19, delay is 2.999
Diese sind weg, wenn ich "set HMUSB close" ausführe. Meist hilft es, dann den Raspberry neu zu starten, was ich über das Schalten des Stroms erreichen kann.
Um auf den Status des HMUSB in fhem reagieren zu können (und dann z.B. den HMUSB schließen, den Raspi neu starten und dann den HMUSB wieder öffnen zu können), möchte ich ein Notify nutzen.
Aber leider bekomme ich den HMUSB trotz "event-on-update-reading .*" nicht dazu, bei gleichbleibendem Status "disconnected" Events zu erzeugen. Lt. Eventmonitor bekomme ich nur noch Events nach einem "set ... close", "set ... open" etc. oder bei tatsächlichen Änderungen des Status. Trotz "event-on-update-reading .*" bekomme ich keinen fhem-Event, wenn der Status "disconnected" aktualisiert wird (Timestamp ändert sich, aber im Event-Monitor erscheint nichts).
Internals:
DEF 192.168.1.29:1000
DeviceName 192.168.1.29:1000
NAME HMUSB
NEXT_OPEN 1476531151.03555
NR 20
NTFY_ORDER 50-HMUSB
PARTIAL
STATE disconnected
TYPE HMLAN
XmitOpen 0
assignedIDsCnt 5 report:0
msgKeepAlive
msgLoadCurrent 0
owner
owner_CCU vccu
Readings:
2016-10-10 21:03:27 D-HMIdAssigned FA3213
2016-10-10 21:03:27 D-HMIdOriginal 2CC5DF
2016-10-10 21:03:27 D-firmware 0.967
2016-10-10 21:03:27 D-serialNr LEQ0142121
2016-10-15 13:33:52 Xmit-Events disconnected:3
2016-10-15 13:33:52 cond disconnected
2016-10-15 09:16:15 loadLvl low
2015-01-27 15:14:44 prot_ERROR-Overload last
2015-06-14 08:07:25 prot_Unknown:53 last
2015-01-27 15:20:47 prot_Warning-HighLoad last
2016-10-15 13:33:52 prot_disconnected last
2016-10-14 05:57:48 prot_init last
2015-05-24 11:40:33 prot_keepAlive last
2016-10-14 05:57:52 prot_ok last
2016-10-15 09:16:44 prot_timeout last
2016-10-15 13:33:52 state disconnected
Helper:
assIdCnt 5
assIdRep 0
Cnd:
253 3
Ids:
2e59eb:
cfg +2E59EB,00,02,00
name Heizung_Buero
301929:
cfg +301929,00,02,00
name Heizung_Gaestebad
301a5f:
cfg +301A5F,00,02,00
name Heizung_Waschkueche
33b25d:
cfg +33B25D,00,02,00
name Heizung_Keller
33b264:
cfg +33B264,00,02,00
name Heizung_AusgTerrasse
K:
BufMin 30
DlyMax 0
Loadlvl:
bl 40
a:
99
90
40
0
H:
0 low
40 batchLevel
90 high
99 suspended
Log:
all 0
sys 0
ids:
ARRAY(0x13d3350)
Q:
HMcndN 253
answerPend 0
hmLanQlen 1
loadLastMax 0
loadNo 0
scnt 0
ald:
0
0
0
0
0
0
0
0
0
0
0
0
apIDs:
Attributes:
event-on-update-reading .*
hmId FA3213
hmKey xxx
hmLanQlen 1_min
loadLevel 0:low,40:batchLevel,90:high,99:suspended
room Cfg_HM
Mache ich einen Denkfehler? Oder geht "event-on-update-reading .*" beim Modul HMLAN nicht?
Danke für einen hilfreichen Schubs!
das sollte auch beim HMLAN einfach funktionieren. es gibt keine sonderbehandlung
Ich nutze die Events all meiner IODevs (HMLANs, HMUSBs, HMUART und auch CUL, Jeelink, RFXTRX, ZWave Dongle) um mir Nachrichten zukommen zu lassen, wenn etwas nicht dem gewünschten Verhalten entspricht. Das funktioniert auch bei all diesen IODevs.
Mal angenommen, event-on-update-reading macht nicht, was es machen sollte (wobei es wirklich quatsch ist, das Attribut so zu verwenden, da du das Standardverhalten abbildest - also so, als wäre das Attribut nicht gesetzt): Gibt es denn Events ohne das Attribut?
Wenn der HMLAN schon disconnected ist, gibt es für die automatische Aktualisierung des Readings kein neues Event, nein. Jedenfalls zeigt der Eventmonitor nichts und das Notify fängt nichts auf. Ich behelfe mir derzeit mit einem aktiven Polling via "set <HMLAN> reopen", dann werden Events für disconnected erzeugt.