FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: roedert am 15 Juni 2017, 11:16:30

Titel: VCCU überwachen
Beitrag von: roedert am 15 Juni 2017, 11:16:30
Habe eine VCCU definiert mit 2 LAN-Devices (HM-LAN-CFG und HM-LGW-O-TW-W-EU).
Allerdings kommt es vor, dass diese sich auch mal aufhängen.
Wie kann ich am sinnvollsten das VCCU-Device überwachen ob noch mindestens 1 IOdev aktiv ist?
Notify auf welches Reading und welchen Ausdruck?
Dachte erst, das Reading CommandAccepted hilft mir dabei - aber das steht auch noch auf "yes" wenn alle IOdevs disconnected sind.
Titel: Antw:VCCU überwachen
Beitrag von: Otto123 am 15 Juni 2017, 11:24:55
Hi,

state einfach auf ok? Also mit einem regExp das auf wenigsten ein vorhandenes ok prüft.

define WatchVCCU notify VCCU:.*ok.* {}

Also das entspricht jetzt Deiner Aussage, löst aber deine Aufgabe nicht. Denn wenn keiner ok ist passiert nichts  :-[

Gruß Otto
Titel: Antw:VCCU überwachen
Beitrag von: roedert am 15 Juni 2017, 11:32:32
Ich brauche ja um einen Fehler zu melden genau das Gegenteil - also keines ok bzw alle disconnected.
Generell auf ein fehlendes ok abzufragen geht ja auch nicht so einfach - neben dem state werden ja auch noch andere Events gemeldet bei denen kein ok enthalten ist und die nicht zu einer Benachrichtigung führen dürfen.
Titel: Antw:VCCU überwachen
Beitrag von: Otto123 am 15 Juni 2017, 11:38:11
Hab ich ja gesagt, war erstmal nur ein Gedanke.
Umkehren? Also auf jeden disconnect triggern und dann abfragen ob wenigsten ok dabei ist?

Gruß Otto
Titel: [gelöst] VCCU überwachen
Beitrag von: roedert am 15 Juni 2017, 11:41:36
Zitat von: Otto123 am 15 Juni 2017, 11:38:11
Also auf jeden disconnect triggern und dann abfragen ob wenigsten ok dabei ist?

Genau das ist die Lösung ... hätt ich auch selber drauf kommen können  :-[
Umkehren -also generell auf ein fehlendes ok zu regieren- hätte eben bei jedem anderen Reading unbegründet ausgelöst.

Danke für den Denkanstoß!

define HM.VCCU_nfy notify HM.VCCU:.*disconnected.* \
{\
  if ($EVTPART0 !~ m/ok/i) {fhem("...mach sonstwas...")}\
}