Watchdog-Modul

Moin zusammen.
Ich möchte euch ein neues Modul aus dem „SymconMisc“-Repository vorstellen.
Das Watchdog Modul überprüft verlinkte Variablen auf letzte Aktualisierung.
Sollten diese länger als die einstellbare Zeit nicht aktualisiert worden sein, schaltet das Modul eine Alarm Variable.
Alle überfälligen Variablen können als Array via Funktion abgefragt werden oder im WebFront eingesehen werden.

Dokumentation:
https://github.com/paresy/SymconMisc/tree/master/Watchdog

Mögliche Kombination von Alarmierung und Watchdog Modul:
Verschiedene Watchdog Module welche auf Rauchmelder etc. eingestellt sind mit verschiedenen Zeiträumen.
Alle Watchdog Alarme in ein Alarmierungsmodul verlinken. So meldet sich das Alarmierungsmodul wenn es in einem der Watchdog-Module einen Alarm gibt.

Grüße
Pio

Watchdog-Preview3.png

Danke

bis dato hab ich bei den Module nix gefunden das mir eine Mehrwert gebracht hätte. Hab daher noch keines im Einsatz.
Dieses scheint mir aber sehr praktisch zu sein daher werd ich da mal einsteigen.
Bis dato hab ich für die Überwachung jeweils separate Scripte verwendet. Mit deiner Kreation scheint das nun viel komfortabler zu gehen.

schönen Dank
bb

Danke für das Modul. Läuft!
Eine Bitte:
Im Webfront werden die Namen der auslösenden Variablen dargestellt (bei mir STATE usw.). Eine Namensänderung eines Links im Target wird in der Darstellung nicht berücksichtigt.
Vielleicht kann man das ändern, dass die Namen der Links erscheinen.

@Audi2010
Der Wunsch war Befehl :smiley:
Nun sollte, wenn der Linkname vom Originalnamen abweicht, der Linkname angezeigt werden.

//Edit
//Update sollte schon im Repo sein.

Und schon gehts.
Danke.:loveips:

Prima Modul,

installiere gerade und setze meine ersten Variablen ein, da kommt die Idee der „oder“ Verknüpfung.

Was ist das Ziel oder was soll erreicht werden:

In dem Modul sind die Lichtschalter/ Lampen oder Geräte im Haus/ Wohnung hinterlegt. Ich
verstehe es im Moment so das egal welcher überfällig ist einer von fünf es gibt Alarm.
Meine Überlegung ist, diese „oder“ zu verknüpfen also keinen Alarm, wenn nicht min.
einmal am Tag oder in der Zeit von 6:00-9:00 die WC-Spülung betätigt wurde :smiley: .
Es muss jetzt nicht die Spülung sein sondern min. einer der verlinkten Geräte
in dem Modul wurde aktiviert und es gibt keinen Alarm.
Bei der Eisenbahn nennt man das glaube ich Totmannschaltung :rolleyes:

Man könnte es auch - Das Haus lebt - nennen, alles ist in Ordnung.

Glück Auf D.Voss

Danke, damit kann ich endlich die Hardware Watchdoglösung die es für die 3.4 mal gab ablösen.

Ich überwache damit die HomeID meiner beiden Zwave Gateways und 1 Wire.
Die Gateways haben eigene Variablen die regelmässig abgefragt werden. Wenn das nicht möglich ist, dann bleibt der Zeitstempel stehen…

Also Hardware lässt sich damit „begrenzt“ auch überwachen.

tolles Modul! danke!

Hi,
gibt es eine Möglichkeit die HTML-Tabelle in eine CSV-Tabelle umzuformen? Ich benutze für die Warnungen lieber eine E-Mail an mich selbst und da sieht die Tabelle nicht so schön aus.

So ich habe es mal programmiert falls noch jemand auf einfache Texte für eine E-Mail oder Alexa steht:


// gibt es einen Watchdog Alarm?
if (GetValue(38591 /* Alarm */)){
// Alarmtext holen
    $text = GetValue(42735 /* Alarmtext */);
    $alarm = 0;
// zuerst die Überschriften holen die sind immer da
    $pos1 = strpos($text, "bold;'>", 0);
    $pos2 = strpos($text, "</td>", 0);
    $text2 = substr($text, $pos1 + 7, $pos2 - $pos1 - 7)."	";
    $pos1 = strpos($text, "bold;'>", $pos2);
    $pos2 = strpos($text, "</td>", $pos1);
    $text2 .= substr($text, $pos1 + 7, $pos2 - $pos1 - 7)."	";
    $pos1 = strpos($text, "bold;'>", $pos2);
    $pos2 = strpos($text, "</td>", $pos1);
    $text2 .= substr($text, $pos1 + 7, $pos2 - $pos1 - 7)."

";
// jetzt die Einträge holen
    $pos1 = strpos($text, "5px;'>", $pos2);
    while ($pos1){
        $pos2 = strpos($text, "</td>", $pos1);
        $text2 .= substr($text, $pos1 + 6, $pos2 - $pos1 - 6)."	";
        $pos1 = strpos($text, "5px;'>", $pos2);
        $pos2 = strpos($text, "</td>", $pos1);
        $text2 .= substr($text, $pos1 + 6, $pos2 - $pos1 - 6)."	";
        $pos1 = strpos($text, "5px;'>", $pos2);
        $pos2 = strpos($text, "</td>", $pos1);
        $text2 .= substr($text, $pos1 + 6, $pos2 - $pos1 - 6)."
";
        $pos1 = strpos($text, "5px;'>", $pos2);
// Anzahl der Alarme zählen damit keine Mail nur mit der Überschrift verschickt wird
        $alarm++;
    }
// Wenn es Alarme gibt Mailinhalt setzen
    if ($alarm > 0){
        $mailInhalt = $text2."
";
    }
}

Somit bekommt man eine nette CSV Tabelle als Mail.

Ralf

Hallo,

könnte man mit diesem Modul eine offene Tür kontrollieren?

Im Moment kann man ja nur auf Aktualiserung oder Variablenänderung kontrollieren, aber nicht auf einen bestimmten Wert?

Z.B. Wenn Haustüre länger als 5 Minuten offen ist, dann Alarm!

Danke und lg

Hi,

ich habe mir mal das Watchdog-Modul eingerichtet, um nicht alle möglichen Variablen individuell zu prüfen. Mir ist aber irgendwie nicht klar, wofür der Switch „Watchdog Aktiv“ sein soll. IMHO ändert sich durch das Ein-/Ausschalten gar nichts, außer der Output im Debug der Instanz.

Meine Erwartung war eigentlich, dass beim Ausschalten des Watchdogs keine Überprüfung mehr folgt und auch kein Alarm erzeugt wird. Ich habe das mal mit einem aktiven Alarm getestet. Trotz Ausschalten wird die Variable „Letzte Überprüfung“ permanent aktualisiert und auch der Alarm bleibt aktiv und die Variablen mit aktiven Alarmen werden angezeigt. Ist das so beabsichtigt? Wenn ja, welchen Nutzen hat dann der Switch?

Mein Use-Case wäre, auf einen Alarm in geeigneter Weise zu reagieren. Wenn der Alarm aber in bestimmten Fällen berechtigt ist oder ich das Problem kurzfristig nicht beheben kann, dann möchte ich ggf. (temporär) nicht darauf reagieren. Hier hätte ich dann eigentlich den Nutzen des Switches gesehen.

Gruß
Slummi

Hi,

hab grad ein seltsames Problem mit dem eben installierten Watchdog Modul.
Überwache 10 Variablen die jede zyklisch alle 5 Min senden.
Watchdog ist auf 10 Min gestellt.

Nun hab ich den Effekt dass alle ca. 20 Min die Alarm-Variable auf true geht und sofort wieder auf false. Ergo wird natürlich mein Skript dass mich pushed getriggert und schickt Alarm und sofort wieder kein Alarm.

Um nun zu sehen ob das Modul was hat oder eine Variable, hab ich Alarm und „Aktive Alarme“ auf Archiv gestellt.
Bei Alarm sehe ich dass es manchmal auf Alarm geht im Archiv, aber bei der String Variablen „Aktive Alarme“ seh ich im Archiv nix vor lauter Steuerzeichen weil das Feld in der Konsole zu schmal ist und nicht grösser geht (ist eine 6.1 Symbox).

Wie kann ich mir nun ansehen welch langer Text im Archiv steht? Hab nix gefunden bisher wie ich Archiv-Inhalte (String) hier in eine Datei schreibe um es mir anzusehen, oder auch um es einfach am Monitor zu sehen?

Danke und Gruss Seppm

Betreff: Filter

Hallo @Pio ,
ich nutze dein Watchdog Modul sehr viel. Ich habe aber ein paar Watchdos zur Überwachung ob die Geräte noch funktionieren, wo dem alle Geräte die ich habe drin sind damit ich sehe ob ein Gerät verreckt ist oder ein Akku leer ist.

In meine Liste habe ich zuhause nun an die 100 Geräte drin.

Meinst Du man könnte da einen Filter mit einbauen das man die Geräte mit der normalen Volltextsuche oder ID suche finden kann?

Ich suche schon immer etwas länger, wenn ich hur mal einen Heizungsthermostaten tausche.

danke.

Hallo Dustin781,

danke für die Anregung.
Da es nicht explizit mit dem Modul etwas zu tun hat, sondern vielmehr ein allgemeines Feature „Suche in Listen“ ist, habe ich das mal zur Diskussion gestellt und wird intern besprochen ob das so einfach zu verwirklichen ist.

Als Quick and Dirty Workaround kannst du ja immernoch bei der Webbrowser Variante der Verwaltungskonsole mit STRG+F nach Einträgen suchen.

1 „Gefällt mir“

danke, das werde ich mal versuchen. Hab noch nie den Webbrowser genutzt. Teste ich dafür mal.
eine Suche wäre trotzdem toll, wurde in den Archiven auch eingebaut und sogar häufig von mir genutzt.

Moin,
mit Dank an @steiner bin ich nun auch beim Watchdog gelandet. Funktioniert …

Ich würde mir (dem Anlagen-Admin) jetzt gerne im Fehlerfall eine Mail senden - aber die (HTML)String Variable für den aktiven Alarm bekomme ich in der Mail nicht angezeigt.
Gibt es noch eine Möglichkeit den ausgefallenen Sensor im KlarTEXT anzuzeigen?

Grüße, Uwe

… habe ich so gelöst:

$wd = WD_GetAlertTargets(10580);
if (sizeof($wd)){
	$id = $wd[0]['VariableID'];
	$event = IPS_GetObject($id);
	$oname = $event['ObjectName'];
	$event = IPS_GetObject(10580);
	$wd_name = $event['ObjectName'];
	WFC_PushNotification(25678, $wd_name, "ausgefallen: " . $oname, "kazoo", 0);
}

Danke, Michael
Der hat mir gefehlt … :loveips:

Grüße, Uwe

Ich hatte durch beabsichtigte, gehäufte Neustarts gerade mal wieder eine Ansammlung von Benachrichtigungen, die ich eigentlich nicht erwarten würde.

grafik

WIe genau bzw. wie lange wird denn die Alarm-Meldung unterdrückt?

Ich würde erwarten, das nach dem Status „Symcon läuft“ mindestens die eingestellte Zeit gewartet wird, das scheint aber nicht der Fall zu sein.