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?getp...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
 
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
 
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
 
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:
@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
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.