Kein Emfang

Begonnen von peter_w, 25 April 2015, 20:43:35

Vorheriges Thema - Nächstes Thema

peter_w

Hi,

gestern ist der Fall eingetreten, dass über Stunden kein Telegramm empfangen wurde. FHEM lief noch aber es kamen keine Daten mehr rein. Nach einem Restart von FHEM war wieder alles OK.
Ich würde gerne den Funkempfang überwachen und das CUL ggf zurücksetzten, komme aber nicht weiter.
Hat da Jemand vielleicht eine funktionierende Lösung ?

Eine Idee war das HMinfo zu überwachen.
I_actTotal  liefert gerade : "alive:17,dead:0,unkn:0,off:0"
Wenn "dead" ein Limit überschreitet dann könnte man das CUL neu starten.

Ich wollte im ersten Schritt mal HMinfo mit einem userReadings erweitern auf dem der Wert von "dead" einzeln lesbar ist.

attr hm cntdead:I_actTotal { ReadingsVal("hm","I_actTotal",0) =~ /dead:(\d{1,})/; $1; }

Wenn ich { ReadingsVal("hm","I_actTotal",0) =~ /dead:(\d{1,})/; $1; } teste, dann bekomme ich Syntaxfehler:

Unknown command {, try help.
Unknown command $1, try help.
Unknown command }, try help.

vielleicht kann mich ja Jemand hier erleuchten. Danke.


Release  : 5.8
Raspberry Pi 3
CUL V 1.63 CSM868 HomeMatic (SCC)
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-SCo,HM-WDS10-TH-O

martinp876

{ ReadingsVal("hm","I_actTotal",0) =~ /dead:(\d{1,})/;; $1;; }

peter_w

Vielen Dank das war es.
Release  : 5.8
Raspberry Pi 3
CUL V 1.63 CSM868 HomeMatic (SCC)
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-SCo,HM-WDS10-TH-O

peter_w

Was ich gemacht habe:

Ein Reading für HMinfo eingefügt mit dem man die Anzahl der fehlenden Geräte direkt als einzelne Zahl sehen kann:
attr hm serReadings cntdead { { ReadingsVal("hm","I_actTotal",0) =~ /dead:(\d{1,})/;; $1;; }}

Dann via DOIF überwacht ob mindestens 9 Geräte fehlen und in diesem Fall wird das CUL (hier SSC) zurückgesetzt.
define HmComCheck DOIF ([hm:cntdead] >= 9)(set SSC raw B00)

Ich hoffe das funktioniert so.
Release  : 5.8
Raspberry Pi 3
CUL V 1.63 CSM868 HomeMatic (SCC)
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-SCo,HM-WDS10-TH-O