(W)LAN Watch Dog

Um zu erfahren, ob ein Gerät über das LAN zu erreichen bzw. eingeschaltet ist, kann man den Sys_Ping Befehl verwenden.
Die jeweiligen Zustände können im Dashboard oder WebFront visualisiert werden oder man kann eine Art „Anwesenheit-Erkennung“ (iPod) realisieren.
Für das u.g. Skript muss jedem Gerät, wie Kamera, Audi, Video, iPod usw. eine Variable vom Typ Boolean vergeben werden.
Diese muss im Baumdiagramm unter dem Skript stehen (IPS_GetChildrenIDs / siehe Bild 1).
Im Feld Beschreibung (ObjectInfo) wird die entsprechende IP-Adresse eingetragen (siehe Bild 2).
Getriggert wird das Skript z.B. alle 5 Minuten.

MST

// (C) by IP-Symcon 2009
// Trigger: z.B. alle 5 Minuten

foreach(IPS_GetChildrenIDs($IPS_SELF) as $item){   // alle Unterobjekte
	$id_info = IPS_GetObject($item);
	$id_typ = $id_info['ObjectType'];
	if ($id_typ == 2){      								// nur bei Variablen
		$id_adr = $id_info['ObjectInfo'];
		$ping = Sys_Ping($id_adr, 1000);             // Ping max. 2 Sek. warten
		if($IPS_SENDER == "Execute") { 					// zum Testen
			echo "IP: $id_adr 
";
			echo "Ping: " .(int)$ping. "

";
		}
		SetValue($item, $ping);                      // Ping-Ergnis speichern
	}
}

tree_watchdog.png

variable_beschreibung.png

Joa, ich hab sowas hier auch am laufen.

Leider habe ich da ein Problem entdeckt was recht störend ist:

Mein IPS läuft auf einem Windows Home Server (basiert auf WIndows 2003).
Ich habe 15 Geräte in meinem LAN welche ich per Sys_Ping abfrage (timeout 2000 ms). Wenn ich nun größere Dateien auf den Server kopiere und der Abfragezyklus startet bricht mir meist der Kopiervorgang zusammen.

Habe bisser leider noch keine Lösung gefunden

Hallo Steiner,

GENIAL sage ich nur. Somit spare ich mir eine Menge an Skripten die ich derzeit in dieser Richtung benutze.

Vielen Dank!

Das ist der Hammer! :eek:
Super Arbeit Steiner!

Coole Sache !!!
Direkt verbaut. Gut gelöst.

Gruss
Björn

Tolles Skript, einfach einsetzbar dank eines vorbildlichen Programmierstils in dessen Schatten meine Skripte unvollkommen vor sich hin darben.:wink:

Immer wieder schön, was sich Steiner so für kleine Leckerbissen einfallen läßt.
Läuft bei mir mit dem Dashbord

Vielen Dank Steiner!
Das hat super geklappt mit Deiner Anleitung.

Hi vielen Dank dafür klappt super.

Aber wie bekomme ich es hin das der Status auch im Webfront angezeigt wird ?

Musst nur der Variable ein Variablenprofil zuweisen.

Ich krieg die Variablen nur angezeigt, wenn ich einen Link erstelle. Gibt es hier keine einfachere Lösung? (Profil ist zugewiesen).

Sitzen die Variablen auch in einem Dummy-Modul? Ansonsten fällt mir auch nichts mehr ein.

Geht nicht ohne Link … :eek:

Gruß
Bruno

alles paleti, aber im Webfront wird mir der Status nicht angezeigt. Woran liegt das?

Vielleicht stimmt was nicht, falsch eingestellt, … ? Meine Glaskugel ist gerade zur Reparatur :confused:

Gruß
Bruno

Das müsste wahrscheinlich so sein, aber was?

und:
Wenn das Iphone in den „Standby“ geht, wird die Variable auf aus gesetzt. Kann man das irgendwie umgehen?

Das iPhone antwortet im standby nicht auf den Ping, da müsste man das Konzept zur Erkennung ändern.
Ich Frage alle paar Minuten die Status Seite vom WLAN Access Point ab, das funktioniert in meinem Setup bestens.

LG

Danke für dieses tolle kleine Script.
Stromer

Danke für dieses super Script !!!
Gruß
Christian

Danke, Skript klappt super.

Wie schreibe ich die Ergebnisse in eine DB um eine Historie zu erzeugen ? Also sowas wie: Gerät X war heute 2h an, 10h in der letzten Woche und 120h insgesamt.

zusammen damit http://www.ip-symcon.de/forum/f53/betriebsstundenzaehler-mehr-8636/ könnte mandamit auch den ungefähren Stromverbrauch errechnen. Für die unter uns, die nicht jedes Gerät mit IPS schalten :-p