Online(Verbindungs) Status Geräte abfragen

joe-voip

Neuer User
Mitglied seit
20 Apr 2004
Beiträge
55
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich hoffe ich bin hier im richtigen Unterforum, habe eine Fritzbox 7170.
Ich suche nach einer Möglichkeit den Online- oder Verbindungsstatus aus dem Webinterface per telnet oder wget abzufragen.
Ich meine hierbei die Anzeige im Webinterface die man mit diesem Link erreicht:

http://fritz.box/cgi-bin/webcm?getpage=../html/de/menus/menu2.html&var:menu=net&var:pagename=net&sid=.....
Dort im Reiter Geräte und Benutzer.

Was fast noch besser ist:

http://fritz.box/system/syslog.lua?sid=......
Dort im Reiter WLAN, da ich eh nur schauen will ob ein Familienmitglied mit Smartphone anwesend ist.

Ich würde diesen Zustand gerne für eine Heimautomatisierung auswerten, um fest zu stellen ob jemand im Haus ist.
Ich konnte beobachten, dass zumindest die WLAN Liste für meine Zwcke ausreichen würde ob ein Gerät angemeldet ist oder nicht.
Klasse wäre es wenn ich den zustand per Telnet oder wget abfragen könnte.
Eine weitere Möglichkeit wäre es wenn auf der Fritzbox per Cronjob alle 2 Minuten eine Textdatei wohin geschrieben wird, wo ich diese runterladen kann.
Meint Ihr so etwas ist machbar?

Besten Dank für Tipps.

Jochen
 

roadman17

Mitglied
Mitglied seit
8 Apr 2008
Beiträge
336
Punkte für Reaktionen
1
Punkte
0
Das folgende Skript sollte dir helfen:
Code:
#!/bin/sh

# $1: active/online (optional)
landevicelist() {
	local checktype=${1:-active}
	local count=0
	local maxcount=$(ctlmgr_ctl r landevice settings/landevice/count)
	while [ $count -lt $maxcount ] ; do
		local showmac=$(ctlmgr_ctl r landevice settings/landevice$count/$checktype)
		if [ $showmac -eq 1 ] ; then
			local mac=$(ctlmgr_ctl r landevice settings/landevice$count/mac)
			local name=$(ctlmgr_ctl r landevice settings/landevice$count/name)
			echo $mac $name 
		fi
		: $((count++))
	done	
}
echo "Folgende Geraete sind im Netzwerk angemeldet:"
landevicelist
echo "Folgende Geraete sind online:"
landevicelist online
 

joe-voip

Neuer User
Mitglied seit
20 Apr 2004
Beiträge
55
Punkte für Reaktionen
0
Punkte
0
Hallo Roadman,

vielen Dank für das Script.
Sorry erst mal für meine Unwissenheit, kann zwar mit Linux umgehen aber die Fritzbox betreibe ich seither als "Anwender".
Kann ich mit der aktuellen Standardfirmware das Script per Cron ausführen?
Habe Telnet Zugriff auf die Box und habe das Script auf dem USB Stick abgelegt.

Wenn Du noch Lust hast ein paar Zeilen zu schreiben, spart mir das viel Zeit.
Sonst muss ich halt in die Tiefen des Forums abtauchen und sehen wie ich Dein Script zum Leben erwecke.
Vielen Dank auf jeden Fall für Deine Hilfe und das Script!

Jochen
 

TomTomNavigator

Mitglied
Mitglied seit
24 Aug 2007
Beiträge
639
Punkte für Reaktionen
3
Punkte
18
Wenn das Script alle 2 Minuten ausgeführt werden soll, einfach eine while Schleife drum und eine Wartezeit von 120 Sekunden (sleep) einfügen, etwa so:

Code:
#!/bin/sh

while true; do
# $1: active/online (optional)
landevicelist() {
	local checktype=${1:-active}
	local count=0
	local maxcount=$(ctlmgr_ctl r landevice settings/landevice/count)
	while [ $count -lt $maxcount ] ; do
		local showmac=$(ctlmgr_ctl r landevice settings/landevice$count/$checktype)
		if [ $showmac -eq 1 ] ; then
			local mac=$(ctlmgr_ctl r landevice settings/landevice$count/mac)
			local name=$(ctlmgr_ctl r landevice settings/landevice$count/name)
			echo $mac $name 
		fi
		: $((count++))
	done	
}
echo "Folgende Geraete sind im Netzwerk angemeldet:"
landevicelist
echo "Folgende Geraete sind online:"
landevicelist online
sleep 120
done

Sollen die Ausgaben dann immer in eine Textdatei geschrieben werden, dann beim Aufruf einfach die Ausgabe umleiten.
Code:
./online.sh > ausgabe.txt &
 
Zuletzt bearbeitet:

joe-voip

Neuer User
Mitglied seit
20 Apr 2004
Beiträge
55
Punkte für Reaktionen
0
Punkte
0
@TomTomNavigator

vielen Dank!
Wo sol ich das Script hin kopieren?
Und starten dann mit der debug.cfg?
Da muss ich mal in´s wiki schauen.

Vielen Dank Ihr 2.

Jochen