Modul 98_monitoring zur Überwachung von Geräten

Begonnen von igami, 09 März 2017, 22:12:42

Vorheriges Thema - Nächstes Thema

zweiundzwanzig

ZitatDa muss ich nächstes Jahr mal drüber nachdenken. Da ich bei fast allen Geräten event-on-change-reading verwende ergibt sich bei mir der Anwendungsfall mit wiederholenden Events nicht.

Das wäre bei MAX Thermostaten sehr interessant, die irgendwann anfangen "Battery low" Events zu machen aber immer wieder nochmal zu "Battery ok" zurückspringen bis dann irgendwann Ende ist.
2x MAX CuBe mit a-culf im Moritzbetrieb
1x MAX CuBe mit a-culf im Homematicbetrieb
60x MAX Heizkörperthermostat plus | 2x HM Schaltaktoren | 1x MAX Wandthermostat
1x FHEM Ubuntu Server auf VMWare
24 Räume, die durch ical Kalender geheizt werden

igami

Zitat von: zweiundzwanzig am 24 Dezember 2017, 10:15:56
Das wäre bei MAX Thermostaten sehr interessant, die irgendwann anfangen "Battery low" Events zu machen aber immer wieder nochmal zu "Battery ok" zurückspringen bis dann irgendwann Ende ist.
Das ist bei HomeMatic auch so, deswegen lasse ich mich auch erst benachrichtigen, wenn die low Meldung zwei Wochen ansteht, da low ja auch nicht leer bedeutet ;)
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

ToM_ToM

Hallo igami, ich beobachte seit einigen Monaten immer wieder dass die Geräte nicht auf die Error-Liste verschoben, sondern kopiert werden.

Könntest du bitte mal einen Blick auf meine Konfiguration werfen? Evtl. übersehe ich ja einfach nur einen Fehler.


defmod Flower_monitoring monitoring Pflanze_0?[0-9]*:moisture:.(1?[0-9])$ Pflanze_0?[0-9]*:moisture:.(1?[2-9][0-9])
attr Flower_monitoring DbLogExclude .*
attr Flower_monitoring errorReturn {return unless(@errors);;\
$_ = AttrVal($_, "alias", $_) foreach(@errors);;\
return("Bei dem Gerät \"$errors[0]\" muss die Batterie gewechselt werden.") if(int(@errors) == 1);;\
@errors = sort {lc($a) cmp lc($b)} @errors;;\
return(join("\n - ", "Bei folgenden ".@errors." Geräten muss die Batterie gewechselt werden:", @errors))\
}
attr Flower_monitoring errorWait 60*60*24*7
attr Flower_monitoring group Monitoring
attr Flower_monitoring room FlowerSens
attr Flower_monitoring userReadings warning_count:warning.+ {split(",", ReadingsVal($name, "warning", ""))}, \
error_count:error.+ {split(",", ReadingsVal($name, "error", ""))}, \
all_count:(warning.+|error.+) {split(",", ReadingsVal($name, "warning", "")) + split(",", ReadingsVal($name, "error", ""))}
attr Flower_monitoring warningReturn {return unless(@warnings);;\
$_ = AttrVal($_, "alias", $_) foreach(@warnings);;\
return("Bei dem Gerät \"$warnings[0]\" muss die Batterie demnächst gewechselt werden.") if(int(@warnings) == 1);;\
@warnings = sort {lc($a) cmp lc($b)} @warnings;;\
return(join("\n - ", "Bei folgenden ".@warnings." Geräten muss die Batterie demnächst gewechselt werden:", @warnings))\
}

setstate Flower_monitoring active
setstate Flower_monitoring 2017-12-28 21:00:10 all_count 7
setstate Flower_monitoring 2017-12-28 20:59:26 error Pflanze_03,Pflanze_04,Pflanze_06
setstate Flower_monitoring 2017-12-22 23:27:33 errorAdd_Pflanze_02 2017-12-29 23:27:33
setstate Flower_monitoring 2017-12-28 20:59:26 error_count 3


Vielen Dank!

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

Wasserwerk33

Hallo
Ich glaube das hier was passendes gefunden habe für mich. Und zwar ich habe eine Alte Wanduhr vergesse sie manchmal aufzuziehen. Doof aber nicht tragisch. Ich würde gerne über meine Tablet Ui seite einen Button bekommen. reicht das wenn ich den dashbutton dann einfach mit einem Dummy austausche?? und benötige ich noch weitere module?
Und vielleicht könnte mir ja einer helfen.
Bin nicht sehr gut im umgang mit fhem.

danke schon mal.
Und schon mal einen guten Rutsch.  ;)

igami

Zitat von: ToM_ToM am 29 Dezember 2017, 20:20:41
Hallo igami, ich beobachte seit einigen Monaten immer wieder dass die Geräte nicht auf die Error-Liste verschoben, sondern kopiert werden.
Sieht soweit gut aus, nur dass die Nachricht ja irgendwas mit gießen und nicht mit Batterien sein sollte ;)
Das von dir beschriebene Verhalten kann auftreten, wenn nach einem Neustart geprüft wird ob in der Vergangenheit ein Gerät auf eine Liste gesetzt werden muss. Falls es auf beide gesetzt werden muss landet es auch auf beiden.
Startest du dein FHEM häufiger neu?

Zitat von: Wasserwerk33 am 30 Dezember 2017, 12:55:02
Hallo
Ich glaube das hier was passendes gefunden habe für mich. Und zwar ich habe eine Alte Wanduhr vergesse sie manchmal aufzuziehen. Doof aber nicht tragisch. Ich würde gerne über meine Tablet Ui seite einen Button bekommen. reicht das wenn ich den dashbutton dann einfach mit einem Dummy austausche?? und benötige ich noch weitere module?
Und vielleicht könnte mir ja einer helfen.
Bin nicht sehr gut im umgang mit fhem.

danke schon mal.
Und schon mal einen guten Rutsch.  ;)
Ja, der Austausch reicht. Versuch es bitte erst mal selbst, wenn es dann noch nicht funktioniert helfe ich dir gerne.

Guten Rutsch!
igami
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Wasserwerk33

Danke werde es probieren. Aber die Antwort das es mit diesem Modul klappt hilft mir schon mal weiter
Danke

ToM_ToM

ZitatStartest du dein FHEM häufiger neu?
Hey igami, frohes und gesundes Neues erst mal! :) Das mit den Batterien stimmt. War mir gar nicht aufgefallen da ich die Nachricht nicht weiter verwende, sondern nur die Counter.  :D
Ja, ich starte FHEM des Öfteren neu, da ich ja immer wieder an meinem System irgendwas rumbastel. Speichert er nicht die aktuellen Zustände und stellt diese nach dem Neustart einfach nur wieder her?

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

igami

Zitat von: ToM_ToM am 01 Januar 2018, 20:13:39
Ja, ich starte FHEM des Öfteren neu, da ich ja immer wieder an meinem System irgendwas rumbastel. Speichert er nicht die aktuellen Zustände und stellt diese nach dem Neustart einfach nur wieder her?
Hmm, ich sehe grade, dass meine Vermutung auf dich nicht zutreffen kann, da du kein warningWait verwendest.
Muss ich mir doch noch mal genau ansehen.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Soc

Ich bin letzte Tage auf das Modul gestoßen und war begeistert das es sowas gibt, da ich schon länger nach so einer eirlegende Wollmilchsau gesucht habe.
Ich verstehe da leider nicht alles und hoffe auf Hilfe hier im Thread.


defmod Activity_monitoring monitoring .*:.*
attr Activity_monitoring errorReturn {return unless(@errors);;\
$_ = AttrVal($_, "alias", $_) foreach(@errors);;\
return("Das Gerät \"$errors[0]\" hat sich seit mehr als 24 Stunden nicht mehr gemeldet.") if(int(@errors) == 1);;\
@errors = sort {lc($a) cmp lc($b)} @errors;;\
return(join("\n - ", "Die folgenden ".@errors." Geräten haben sich seit mehr als 24 Stunden nicht mehr gemeldet:", @errors))\
}
attr Activity_monitoring errorWait 60*60*24
attr Activity_monitoring warningReturn {return unless(@warnings);;\
$_ = AttrVal($_, "alias", $_) foreach(@warnings);;\
return("Das Gerät \"$warnings[0]\" hat sich seit mehr als 12 Stunden nicht mehr gemeldet.") if(int(@warnings) == 1);;\
@warnings = sort {lc($a) cmp lc($b)} @warnings;;\
return(join("\n - ", "Die folgenden ".@warnings." Geräten haben sich seit mehr als 12 Stunden nicht mehr gemeldet:", @warnings))\
}
attr Activity_monitoring warningWait 60*60*12


Irgendwie verstehe ich das return(...) nicht.
Wo taucht diese Meldung auf wenn die Bedingung erfüllt ist? Ich habe es mal mit der Fensterüberwachung testen können, sehe aber nirgendwo die Meldung.
Was mich dann auch zu der Frage führt wie ich ein DOIF/NOTIFY da aufsetzen kann um mir mit pushover eine Nachricht zukommen zu lassen.

Danke für die Hilfe. (Habe übrigens den gesamten Thread durchgelesen, aber für mich keine schlüssige Antwort gefunden)

binford6000

Zitat von: Soc am 12 Februar 2018, 12:24:31
Ich bin letzte Tage auf das Modul gestoßen und war begeistert das es sowas gibt, da ich schon länger nach so einer eirlegende Wollmilchsau gesucht habe.
Ich verstehe da leider nicht alles und hoffe auf Hilfe hier im Thread.


defmod Activity_monitoring monitoring .*:.*
attr Activity_monitoring errorReturn {return unless(@errors);;\
$_ = AttrVal($_, "alias", $_) foreach(@errors);;\
return("Das Gerät \"$errors[0]\" hat sich seit mehr als 24 Stunden nicht mehr gemeldet.") if(int(@errors) == 1);;\
@errors = sort {lc($a) cmp lc($b)} @errors;;\
return(join("\n - ", "Die folgenden ".@errors." Geräten haben sich seit mehr als 24 Stunden nicht mehr gemeldet:", @errors))\
}
attr Activity_monitoring errorWait 60*60*24
attr Activity_monitoring warningReturn {return unless(@warnings);;\
$_ = AttrVal($_, "alias", $_) foreach(@warnings);;\
return("Das Gerät \"$warnings[0]\" hat sich seit mehr als 12 Stunden nicht mehr gemeldet.") if(int(@warnings) == 1);;\
@warnings = sort {lc($a) cmp lc($b)} @warnings;;\
return(join("\n - ", "Die folgenden ".@warnings." Geräten haben sich seit mehr als 12 Stunden nicht mehr gemeldet:", @warnings))\
}
attr Activity_monitoring warningWait 60*60*12


Irgendwie verstehe ich das return(...) nicht.
Wo taucht diese Meldung auf wenn die Bedingung erfüllt ist? Ich habe es mal mit der Fensterüberwachung testen können, sehe aber nirgendwo die Meldung.
Was mich dann auch zu der Frage führt wie ich ein DOIF/NOTIFY da aufsetzen kann um mir mit pushover eine Nachricht zukommen zu lassen.

Danke für die Hilfe. (Habe übrigens den gesamten Thread durchgelesen, aber für mich keine schlüssige Antwort gefunden)

In Antwort #5 hat igami ein DOIF dazu gepostet.
VG Sebastian


Gesendet von iPad mit Tapatalk

igami

Zitat von: Soc am 12 Februar 2018, 12:24:31
Wo taucht diese Meldung auf wenn die Bedingung erfüllt ist?
gar nicht, die lässt sich nur per get abholen
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

ToM_ToM

ZitatHmm, ich sehe grade, dass meine Vermutung auf dich nicht zutreffen kann, da du kein warningWait verwendest.
Muss ich mir doch noch mal genau ansehen.

Hey igami, bist du schon dazu gekommen? :)
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

igami

Zitat von: ToM_ToM am 13 Februar 2018, 12:47:18
Hey igami, bist du schon dazu gekommen? :)
Ehrlich gesagt habe ich das vergessen :-[
Also gut, dass du mich noch mal daran erinnerst.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

kabakakao

Hi igami,

echt ein super Modul. Genau das hat mir noch gefehlt.
Ich hätte auch noch einen Wunsch :P
Ich würde gerne auch den Raum, in dem das gemeldete Gerät ist, in die Meldung mit aufnehmen.
Wäre das möglich?

Würde damit gerne einen Feueralarm melden. Da ist der Raum nicht so unerheblich ;)

Gruß,
Stephan

igami

Hallo Stephan,

wir haben dich auf den letzten Treffen schon vermisst!
In den return Attributen kannst du den Text so formatieren wie du möchtest. Ich verwende nur alias da mir das für eine eindeutige Zuordnung ausreicht. Du kannst natürlich auch noch weitere Attribute auslesen, dies würde ich dann aber eher in eine sub in die myUtils packen.

Wenn du nicht weiter kommst schreib einfach mal den Text auf den du erwartest, dann bekommen wir das schon hin.

Grüße
Michael
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED