Einfaches Anlegen von Störmeldungen

Begonnen von broadway, 06 April 2013, 21:08:34

Vorheriges Thema - Nächstes Thema

broadway

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

cornelius fillmore

Hallo zusammen,

hat einer von euch diesen codeschnipsel am laufen?`

Bitte um Info.
Danke
3 x Fhem 5.9 mit RPI

DL8EI Ralph

Fernmelde-Opa übernahm FHEM-Installation und kämpft sich so durch.
Installation hat FS20, Homematic und einge exotische Teile.

betateilchen

Zitat von: cornelius fillmore am 23 Dezember 2022, 21:50:16
hat einer von euch diesen codeschnipsel am laufen?`

FALLS dieser uralte Codeschnipsel bei irgendjemandem so läuft, wie er da oben steht, deutet das darauf hin, dass derjenige einen mehrjährigen Update-Rückstand in seiner FHEM Installation hat. Da stecken Elemente drin, die es heute nicht mehr gibt. Auf einer aktuellen FHEM Installation wird der Code nicht laufen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

thburkhart

hallo zusammen,

gibt es ein funktionierendes CodeSchnipsel dieser Art?

1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200