(gelöst) Ereignis auslösen,wenn sich ein Device nicht kontinuierlich meldet

Begonnen von Leeloo_Dallas, 25 Januar 2019, 18:51:34

Vorheriges Thema - Nächstes Thema

Leeloo_Dallas

Hallo zusammen,

bevor ich meine Frage stelle eine kleine Vorgeschichte, was mir gerade passiert ist.

Die Leiterbahnen auf der Platine meines HM-Wassermelders wurden weggeäzt, da die Herstellerbatterie ausgelaufen ist.
Den Batteriestatus meines Wassermelder hatte ich auch brav mit einer entsprechenden Email-Benachrichtigung hinterlegt.
Am 07.01 wurde noch, Batterie OK gemeldet, dannach nix mehr.
Der Batteriestatus blieb unverändert auf OK. d.h. keine Benachrichtigung von FHEM.
Mir ist jetzt erst aufgefallen, dass ich zusätzlich auf actStatus dead prüfen könnte, was ich nicht tat.
Die DEAD-Info gab es zumindest gleich am 08.01.
Doof aber jetzt egal, das Wassermelder wurde mir kostenfrei ersetzt.

Jetzt zu meiner Frage:
Gibt es eine einfache Möglichkeit alle HM-Devices auf "ALIVE" o.ä. zu überwachen?
Ich würde gerne eine solche Überwachung für sicherheitsrelevante Komponenten hinterlegen. Meldet sich eine solche Komponente z.B.: nicht kontinuierlich alle 2 Tage, sollte ein einsprechendes Ereignis ausgelöst werden. (z.B. E-Mail).
Das ganze könnte im Prinzip ähnlich laufen wie die Batterie-Überwachung. Es ist aber doch irgendwie spezieller.

Schon mal Danke für die Rückmeldungen.

Gruß
Leeloo
Greatz Leeloo

Frank_Huber


defmod HM_Whatchdog DOIF (["^ActionDetector$:^status_.*(unknown|dead)"]) (set TelegramBot message $EVENT)
attr HM_Whatchdog do always


Gesendet von meinem Doogee S60 mit Tapatalk


Leeloo_Dallas

Das werde ich nächste Woche gleich mal ausprobieren.

Danke für die schnelle Antwort und ein schönes WE.



Greatz Leeloo

KernSani

Zu dem Thema gibt's geschätzt 147.00 Beiträge im Forum. Für HM gibt's den Action Detector, für alles andere das Monitoring-Modul und natürlich der schon genannte watchdog etc...


Kurz, weil mobil
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Leeloo_Dallas

#4
Der ActionDetector war bereits definiert, ich hatte diesen aber nicht ausgewertet. Doof.
Das "DOIF" ist jetzt ebenso definiert und läuft auch.

Leider bekomme ich nicht das meldende DEVICE oder das EVENT per Debianmail übertragen.
Ich kann also nicht erkennen, wer gerade DEAD oder Unkown ist.

define watchdog_HM_ActionDetector DOIF (["^ActionDetector$:^status_.*(unknown|dead)"]) ({DebianMail ('Maxima.Mustermann@mail.de',"FHEM -watchdog_HM_ActionDetector-","watchdog_HM_ActionDetector meldet: $DEVICE oder auch $device meldet $EVENT oder auch $event",'')})
setuuid watchdog_HM_ActionDetector 5c4f155e-f33f-b5a5-92b6-643a1a376c38e087
attr watchdog_HM_ActionDetector do always
attr watchdog_HM_ActionDetector group System
attr watchdog_HM_ActionDetector icon helper_doif
attr watchdog_HM_ActionDetector room SYSTEM,TOOLBOX


Was habe ich übersehen bzw. wie muss das korrekt eingebunden werden?
Greatz Leeloo

Ellert

ZitatLeider bekomme ich nicht das meldende DEVICE oder das EVENT per Debianmail übertragen.
Wie sollte es auch, das auslösende Gerät ist der Actiondetektor und das Event von ihm und nicht von dem entsprechenden HM-Gerät.

Vielleicht reicht es Dir die Antwort von get info des Actiondetektors zu senden, da könntest Du vorher auch die entsprechenden Zeilen herausfiltern.

Leeloo_Dallas

Danke für die Unterstützung.

Ich bin jetzt auf ein "notify" umgestiegen. Hierbei kommt das $EVENT sauber durch.  ;)
Greatz Leeloo

Frank_Huber

also mein DOIF von oben meldet mir per Telegram brav was es soll:
z.B. status_HM_6fach_Taster_1: dead

erweitert auf DebianMail:
defmod HM_Whatchdog DOIF (["^ActionDetector$:^status_.*(unknown|dead)"]) (set TelegramBot message $EVENT)({DebianMail('email@gibts.net', 'HM-Warnung', '$EVENT')})
attr HM_Whatchdog do always

geht auch...

Leeloo_Dallas

Ggf. gab es Probleme mit einem Interpreter, weil ich die $EVENT Information innerhalb eines Textes wiedergeben wollte.

({DebianMail ('Maxima.Mustermann@mail.de',"FHEM -watchdog_HM_ActionDetector-","watchdog_HM_ActionDetector meldet: $DEVICE oder auch $device meldet $EVENT oder auch $event",'')})

Die einfachen Anführungszeichen hatte ich auch probiert, aber das ging auch nicht.

Aber wie gesagt mein nun verwendetes notify funzt und get ActionDetector info macht die Sache rund.

define n_ActionDetector notify ActionDetector:.*status_.*(unkown|dead) {\
my $getInfo = fhem ("get ActionDetector info");;\
{ DebianMail ('Maxima.Mustermann@mail.de',"FHEM: $NAME / $EVENT","FHEM: [$NAME] meldet folgenden Status [$EVENT] \n\n\n $getInfo",'')};;\
}
setuuid n_ActionDetector 5c501066-f33f-b5a5-bc5b-d6836680011df5f7
attr n_ActionDetector group System_Notifys
attr n_ActionDetector room SYSTEM

Greatz Leeloo