Fehlererkennung

Ich habe/plane hier ein Projekt was über längere Zeit Daten aufzeichnen soll, allerdings nicht die ganze Zeit von einem Menschen überwacht wird. Daher sollen möglichst viele Fehlerzustände von Skripts abgefangen werden.

Problematisch erscheinen mir da momentan die Gateways/Sockets und dergleichen, da durch einen Ausfall dieser sich direkt ein großer Teil der Sensoren nicht mehr melden kann.

Ich hab gerade mal testweise dem M-Bus Gateway das Kabel geklaut. Ich werd gleich zwar eine EMail bekommen, das sich die Geräte dahinter nicht mehr melden, da die Instanz-Variablen sich nicht mehr in den vorgesehenen Zeiträumen aktualisiert haben, allerdings fände ich es schöner, wenn ich das Gateway selbst irgentwie in einem Skript auf Funktionsfähigkeit testen könnte oder noch besser ein Ereignis ausgelöst wird, wenn ein Fehlerzustand auftritt.

Wenn ich meinem EIB-Gateway den Socket kaputkonfiguriere (um einen Netzwerkausfall zu simulieren) hats auch das gleiche Problem, bloß das in diesem Fall keine Geräte dahinterhängen die sich regelmäßig melden.

In beiden Fällen gibts auffällige Nachrichten im IPS-Internen Nachrichten Log. Allerdings habe ich bisher keine Möglichkeit gesehen um da dranzukommen. Überhaupt wäre es ganz schön, wenn man Event auf das Log setzten könnte um alle Fehlermeldungen z.B. per EMail zu versenden.

prinzipiell gibts viele Möglichkeiten, ei n GW zu überwachen und Gegenmassnahmen zu starten. Ich zeichne mit meinem IPS auch Meßdaten auf, daher ist mir die verfügbarkeit der Peripherie sehr wichtig. Ich hatte dazu mal einen Error-Handler gebaut. Das funktioniert gut, aber da geht noch mehr.
Prinzipiell gibts noch den Event-Handler, mit dem man auch I/O’s überwachen und Scripte auslösen kann.

Mir fällt da noch was ein: wende Dich doch mal vertrauensvoll an MCS-51, der baut da gerade was in der Richtung :wink:

Genau das funktioniert ja gerade nicht. In deinem verlinkten Fall wechselt die Instanz ja anscheint in einen Fehlerzustand. In meiner Testumgebung hier hat allerdings der M-Bus Gateway seit gestern keine Daten mehr weitergeleitet, da das Kabel fehlt, trotzdem hat die Instanz des GW immernoch einen [„InstanceStatus“] von 102 also alles in Ordnung.

Das gleiche übrigens auf mit dem EIB Gateway. Im dazu passenden UDP Socket ist eine falsche IP eingetragen, trotzdem haben beide den Status 102.

Da bringt dann auch leider der Event Handler recht wenig, da dieser ja wohl nur auf Statusänderungen reagiert.

Das einzige Indiz, dass etwas krumm läuft ist das IPS interne Log in dem sich „KNX: Wait Error34“ und „Zeitüberschreitung beim warten auf Antwort“ für das EIB GW und das M-Bus Gerät häuft. An dieses Log kommt man allerdings wenn ich das richtig sehe nicht ran.

ok, verstanden.
Dann bestünde theoretisch noch die Möglichkeit, die Variable, in der die Werte ankommen, zu überwachen. Ist die aktualisierung länger als xx Minuten her -> Alarm.
Das Logfile könnte man auch auf das Event „KNX: Wait Error34“ überwachen (doch, das geht, hab ich grad vor ein paar Tagen gemacht :wink: ), da muss man aber etwas php-Scripten.

Das ist bereits implementiert. Allerdings meldet sich nicht jeder Sensor in regelmäßigen Abständen.

Das Logfile könnte man auch auf das Event „KNX: Wait Error34“ überwachen (doch, das geht, hab ich grad vor ein paar Tagen gemacht :wink: ), da muss man aber etwas php-Scripten.

Das IPS auch .log-Files schreibt hab ich grad erst gesehen. Da hätte ich eigentlich mal früher schauen können. Die könnte man natürlich auslesen und alles ab Warning-level per Mail rausschicken. Wobei mir da eine „offizielle“ Methode zum auslesen der Meldungen immernoch lieber wäre (oder gar ein Event auf neue Meldungen).

dann schau dir mal den IPS-Logger an, der kann u.A. auch das

die gibt es ja: Meldungsfenster.:smiley: