Modul 98_monitoring zur Überwachung von Geräten

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

Vorheriges Thema - Nächstes Thema

Razor

XiaomiminMoisture
error add: TopfSensor1 :) :) :) :) :) :) :) :) :) :) :)

Vielen lieben Dank

Ein kleiner Schritt für dich, für mich ein riesiger ;D

meier81

Hallo und guten Abend,

habe eben in meinem Log gesehen das ich seit 2 Tagen die folgende Meldung immer 2mal gleichzeitig jede Minuite im Log habe:

2019.06.06 03:52:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 03:52:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 03:53:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 03:53:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 03:54:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 03:54:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 03:55:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 03:55:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 03:56:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 03:56:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 03:57:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 03:57:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 03:58:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 03:58:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 03:59:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 03:59:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 04:00:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 04:00:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 04:01:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 04:01:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 04:02:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same
2019.06.06 04:02:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same


Hat da jemand einen Tipp wo ich da mal nachschauen könnte?

Gruß Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || SIGNALduino 433MHz mit Maple mini || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices

meier81

Guten Morgen,

bin schonmal etwas weiter gekommen, die Meldung  kam nachdem ich die Module RESIDENTS und ROOMMATE angelegt habe, ist da etwas bekannt  das die  Module untereinander eventuell Probleme machen bzw. kann das Verhalten von euch jemand bestätigen?

Gruß

Markuss
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || SIGNALduino 433MHz mit Maple mini || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices

Schoko

#288
Hallo zusammen,
ich setzte das Monitoring für ein paar Funktionen ein, z.B. für die überwachung von Fensterkontakten. Da geht das auch problemlos. Aber bei lang laufenden Monitorings, über 30 Tage, bzw. 3 Monate setzt er weder Warning noch Errormeldungen...
Anbei der Code einer der Funkitonen

defmod Filterkanne_monitoring monitoring dash_Filterkanne:.*:.short
attr Filterkanne_monitoring errorReturn {return unless(@errors);;\
return "Die Filterkanne muss gereinigt werden.";;\
}
attr Filterkanne_monitoring errorWait 30*24*60*60
attr Filterkanne_monitoring room Logik
attr Filterkanne_monitoring warningReturn {return unless(@warnings);;\
return "Die Filterkanne muss demnächst gereinigt werden.";;\
}
attr Filterkanne_monitoring warningWait 28*24*60*60

setstate Filterkanne_monitoring error remove: dash_Filterkanne
setstate Filterkanne_monitoring 2019-03-14 09:34:02 allCount 0
setstate Filterkanne_monitoring 2019-03-14 09:34:02 error
setstate Filterkanne_monitoring 2019-05-05 08:26:58 errorAdd_dash_Filterkanne 2019-06-04 08:26:58
setstate Filterkanne_monitoring 2019-03-14 09:34:02 errorCount 0
setstate Filterkanne_monitoring 2019-03-14 09:34:02 state error remove: dash_Filterkanne
setstate Filterkanne_monitoring 2019-03-10 21:21:23 warning
setstate Filterkanne_monitoring 2019-05-05 08:26:58 warningAdd_dash_Filterkanne 2019-06-02 08:26:58
setstate Filterkanne_monitoring 2019-03-10 21:21:23 warningCount 0



Vielleicht sieht ja von Euch jemand einen Fehler...

Er hätte ja am 2.6. eine Warnung und am 4.6. einen Error setzen müssen...

Setze ich die Zeit warningwait auf 60 und errorwait auf 120 funktioniert es... echt seltsam...

Danke schon mal

Gruß

Schoko

igami

Zitat von: meier81 am 07 Juni 2019, 22:01:23
2019.06.06 03:52:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same

Hat da jemand einen Tipp wo ich da mal nachschauen könnte?
Du musst das Attribut errorWait vergeben.
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

igami

Zitat von: Schoko am 08 Juni 2019, 14:40:13
Aber bei lang laufenden Monitorings, über 30 Tage, bzw. 3 Monate setzt er weder Warning noch Errormeldungen...
Das monitoring ist soweit fehlerfrei. Ich habe das gleiche Problem bei mir auch schon festgestellt und kann mir nicht erklären woran es liegt. Diese Ausnahmen fange ich mit einem at ab:

defmod set_monitoring_activ at *03:00 set TYPE=monitoring:FILTER=state!=inactive active

Nicht schön, aber funktioniert ::)
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

meier81

Zitat von: igami am 09 Juni 2019, 09:32:03
Du musst das Attribut errorWait vergeben.

Hallo und guten Abend,

das Attribut habe ich schon die ganze Zeit vergeben, hier mal ein List meines Devices:
Internals:
   DEF        ^[^:]+:(?!Activity).+$
   FUUID      5c457742-f33f-c2d2-f71e-e03ff57941d32d0f
   FVERSION   98_monitoring.pm:0.188010/2019-03-06
   NAME       DeviceMonitor
   NR         100
   NTFY_ORDER 50-DeviceMonitor
   STATE      active
   TYPE       monitoring
   READINGS:
     2019-05-12 07:15:22   allCount        0
     2019-05-12 07:15:22   error           
     2019-06-10 20:51:55   errorAdd_Fuehler_Arbeitszimmer 2019-06-11 02:51:55
     2019-06-10 21:10:24   errorAdd_Fuehler_Bad 2019-06-11 03:10:24
     2019-06-10 21:09:04   errorAdd_Fuehler_Dachgeschoss 2019-06-11 03:09:04
     2019-06-10 20:40:26   errorAdd_Fuehler_Elias 2019-06-11 02:40:26
     2019-06-10 21:08:58   errorAdd_Fuehler_Keller 2019-06-11 03:08:58
     2019-06-10 21:11:14   errorAdd_Fuehler_Kueche 2019-06-11 03:11:14
     2019-06-10 20:57:15   errorAdd_Fuehler_Schlafzimmer 2019-06-11 02:57:15
     2019-06-10 20:39:09   errorAdd_Fuehler_Wohnzimmer 2019-06-11 02:39:09
     2019-05-12 07:15:22   errorCount      0
     2019-06-07 22:12:35   state           active
     2019-04-25 20:37:22   warning         
     2019-04-25 20:37:22   warningCount    0
Attributes:
   errorWait  AttrVal($name, "device_timeout", 0)
   whitelist  device_timeout=.+


Konnte es eben wieder reproduzieren, hatte die Tage die ROOMMATE und RESIDENTS-Devices gelöscht, seitdem keine Probleme, jetzt wieder neu angelegt und schon gehen die Fehler im Log wieder los. Habe einen Moment gewartet und dann wieder die Devices gelöscht, jetzt ist wieder Ruhe im Log.

Hast du noch eine Idee was ich da machen könnte?

Gruß Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || SIGNALduino 433MHz mit Maple mini || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices

igami

Ich würde vermuten, dass device_timeout als 0 zurück gegeben wird, dann kommt auch der Fehler.
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

meier81

Okay, als Info noch ich habe den Devices ROOMMATE und RESIDENTS das Attribut device_timeout nicht gesetzt, ich will diese ja nicht überwachen.

Kannst du das Problem bei dir nachstellen, habe bei mir das Device ROOMMATE angelegt, Attribute alle Standard gelassen und den Status noch auf "Zuhause" gestellt, und schon fangen die Einträge im Log an.

Gruß Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || SIGNALduino 433MHz mit Maple mini || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices

meier81

Moin moin,

ich wollte nur Bescheid geben das ich mein Problem

2019.06.06 03:52:46 2: monitoring (DeviceMonitor) set "errorWait" while "errorFuncAdd" and "errorFuncRemove" are same

lösen konnte, ich hatte als Raumfühler den ich mit monitoring überwache "Fuehler_Elias" als Definition gehabt und beim ROOMMATE hatte ich die Definition einfach nur "Elias" genannt. Anscheinend ist dem Attribut im monitoring-Device

errorWait  AttrVal($name, "device_timeout", 0)

der Anfang des Device-Namens egal und er bringt deswegen die Meldung. Ist aber kein Problem, habe das ROOMMATE-Device umbenannt in "rr_Elias", jetzt läuft´s prima.

Gruß
Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || SIGNALduino 433MHz mit Maple mini || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices

igami

trotzdem merkwürdig, aber dann hake ich das erstmal als "erledigt" ab
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

Gisbert

Hallo igami,

die warnings und errors werden als Komma-separierte Einträge in die entsprechenden Readings geschrieben.

Gibt es eine Möglichkeit statt der Komma-Separierung einen Zeilenumbruch als Trenner zu nutzen, so dass die ausgeworfenen Devices untereinander angezeigt werden können?
Falls ich das selbst (als User) umsetzen kann, dann benötige ich deine Unterstützung.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

igami

Zitat von: Gisbert am 21 Juli 2019, 09:38:19
Falls ich das selbst (als User) umsetzen kann, dann benötige ich deine Unterstützung.
Für die menschen lesbare Form gibt es das Attribut errorReturn bzw. warningReturn. Beispiele zur Nutzung finden sich in der Commandref und hier im Thread. Falls du dennoch schwierigkeiten bei der Umsetzung hast melde dich noch mal. Falls du es alleine hinbekommst teile deine Lösung hier mit anderen.
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

Gisbert

Zitat von: igami am 23 Juli 2019, 20:12:29
Für die menschen lesbare Form gibt es das Attribut errorReturn bzw. warningReturn. Beispiele zur Nutzung finden sich in der Commandref und hier im Thread. Falls du dennoch schwierigkeiten bei der Umsetzung hast melde dich noch mal. Falls du es alleine hinbekommst teile deine Lösung hier mit anderen.

Hallo igami,
ich hab's leider nur halb hinbekommen, im Endeffekt also nicht.
Ich hab zwar eine Zeile im Modul entdeckt, die zum gewünschten Effekt führt, aber das Entfernen der error und warning Einträge funktioniert dann nicht mehr automatisch,
siehe auch hier:https://forum.fhem.de/index.php/topic,102580.msg963779.html#msg963779
Entschuldige, dass ich einen 2. Thread aufgemacht habe, ich konnte mich an diesen nicht mehr erinnern. Entweder ist es altersbedingt und normal, oder ich muss mir Gedanken machen :-\

Die Atrribute errorReturn und warningReturn habe ich in diesem Thread durchforstet, und auch die commandref, leider ohne dass ich daraus eine Vorlage für mein Vorhaben ableiten konnte.

"get <device> error" liefert eine Liste in einem neuen Fenster.
Ich hätte gerne ein Reading, welches als Trennzeichen statt eines Kommas ein Komma+Leerzeichen enthält.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Gisbert

#299
Hallo igami,

jetzt verstehe dein pädagogisches Konzept ;): Hilfe durch Selbsthilfe !!

Durch Suchen mit den Stichworten "split fhem" bin ich auf diesen Beitrag von dir gestoßen, der mich zur Lösung geführt hat:
https://forum.fhem.de/index.php/topic,58059.msg494877.html#msg494877
{my $ret = AttrVal(...); $ret =~ s/<suchen>/<ersetzen>/g; return $ret}

In meinem konkreten Fall lautet das Attribut für ein userReading, bei dem aus dem Reading "error" durch einen Zeilenumbruch [Edit: statt eines Kommas] ein userReading erstellt wird, wie folgt:
attr device userReadings myFehler {my $ret = ReadingsVal("device","error","");; $ret =~ s/,/\n/g;; return $ret}

Den anderen Beitrag in der gleichen Sache markiere ich dann noch als gelöst.
Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY