Autor Thema: Einfaches Anlegen von Störmeldungen  (Gelesen 4680 mal)

Offline broadway

  • Full Member
  • ***
  • Beiträge: 218
Einfaches Anlegen von Störmeldungen
« am: 06 April 2013, 21:08:34 »
Hallo zusammen!

Mit einer wachsenden Anzahl an Störungsüberwachungen habe ich zum einfacheren Anlegen folgende Struktur definiert. Sie besteht aus drei Stufen:

1. verschiedene Störungsquellen und deren notifys
2. => schreibe Alarmtext in dummy Stoerung
3. => zentrales Makro mit Aktionen (Mail, Warnleuchte,...)

Für eine neue Störung muss dann nur ein zusätzliches notify angelegt werden, welches in den dummy Stoerung schreibt:
define beispiel notify beispiel set Stoerung Mein Meldungstext

Hier die erforderliche Definition:
# Zentraler dummy zur Anzeige von Störungsgrund und Zeit
# Sowie zum zurücksetzen des Alarms (quittieren)
define Stoerung dummy
attr Stoerung group Stoerung
attr Stoerung icon icoBlitz
attr Stoerung loglevel 1
attr Stoerung room Unsorted
attr Stoerung setList state:OK,Testen
attr Stoerung webCmd state

# Definiert die Aktionen im Störungsfall
# Führt die Quittierung der Störung durch
define StoerungMakro notify Stoerung {\
           if ("%" eq "OK"){\
               fhem "attr Stoerung room Unsorted";;\
               fhem "delete beeper";;\
               fhem "set StoerungMerker null";;\
           }\
           else{\
             if(Value("StoerungMerker") ne "done"){\
               fhem "attr Stoerung room Allgemein";;\
               DebianMail('adresse@@live.de','Stoerung',Value("Stoerung"));;\
               fhem "define beeper at +*00:00:10 trigger beep";;\
               fhem "set StoerungMerker done";;\
             }\
           } \
}
attr StoerungMakro group Makros
attr StoerungMakro room Allgemein

# Einfacher Merker, um nur 1x email zu senden, etc.
define StoerungMerker dummy
attr StoerungMerker group Stoerung
attr StoerungMerker loglevel 6
attr StoerungMerker room Unsorted


Beschreibung:
- Der dummy Stoerung enthält den Störungsgrund und die Uhrzeit des Auftretens.
- Das notify StoerungMakro überwacht Änderungen im dummy Stoerung:
+ Im Störungsfall wird der dummy Stoerung im gewünschten Raum angezeigt, ein Signalgeber gestartet und eine email mit dem Meldungstext (Value("Stoerung")) verschickt. Das versenden von mails ist im Forum ein häufiges Thema und wird hier nicht erklärt. Zuletzt muss ein Merker gesetzt werden, um die Aktionen nur ein Mal zu starten.
+ Wird Stoerung auf  "OK" gesetzt, wird die Störung zurückgesetzt und der dummy in einem anderen Raum versteckt.


Hier ein Beispiel eines TFK2 (Tür-Fenster-Kontakt) zur Überwachung einer Heizungsstörung:
# Tür Fenster Kontakt als Störmelder der Heizung
# ACHTUNG eventmap: im notify gemappten text verwenden
define HeizungStoerung CUL_FHTTK 3dbffc
attr HeizungStoerung eventMap Closed:Stoerung Open:OK
attr HeizungStoerung group Stoermeldung
attr HeizungStoerung icon icoBlitz
attr HeizungStoerung room Heizung

# Schreibt bei Heizungsstörung den Alarmtext und Zeit in den Stoerungs- Dummy
define HeizStoerNotify notify HeizungStoerung:Window:.Stoerung {\
     if(Value("StoerungMerker") ne "done"){\
        fhem "set Stoerung Stoerung Heizung aufgetreten: $mday.$month.$year $hour:$min";; \
     }\
}
attr HeizStoerNotify group Stoermeldung
attr HeizStoerNotify room Heizung


P.S: Die gleiche Struktur verwende ich nochmals als Warnung, dann ohne Signalgeber und mail (z.B. für Batteriewarnung).
Linksys NSLU2 debian + CUL | FHT80B, FS20, Elro