#!/bin/sh
FBIP=fritz.box
FILE=/tmp/wget.out
LOCAL=file://127.0.0.1/../../..$FILE
CMD=http://$FBIP/cgi-bin/cmd?
TUXWET=/var/plugins/tuxwet/tuxwetter
wcall()
{
wget -q -O /dev/null $CMD$1 &
sleep 3
killall wget
echo "$3" > $FILE
$TUXWET "TXTPLAIN=$2,$LOCAL"
}
case $1
in
anrufe)
wget -q -O $FILE $CMD'anrufe'
if [ "`cat $FILE | grep cat:`" != "" ];then
echo -e "<html><body>\n~RDie Anrufliste ist leer!~S\n</body></html>" > $FILE
fi
$TUXWET "TXTHTML=FRITZ!Box Anrufliste,$LOCAL|<html><body>|</body></html>";;
status)
wget -q -O $FILE $CMD'uptime'
TXT="`cat $FILE|grep -v html`"
HW=`echo -e "$TXT"|grep ProduktName|awk -F \' '{print $2}'`
RUNCLOCK=`echo -e "$TXT"|grep "running:"`
R_JAHRE="`echo -e "$RUNCLOCK"|awk '{print $10}'`"
R_MONATE="`echo -e "$RUNCLOCK"|awk '{print $8}'`"
R_TAGE="`echo -e "$RUNCLOCK"|awk '{print $6}'`"
R_STUNDEN="`echo -e "$RUNCLOCK"|awk '{print $4}'`"
R_STARTS="`echo -e "$RUNCLOCK"|awk '{print $12}'|sed 's/(//g'`"
UPTIME=`echo -e "$TXT"|grep "load average:"`
CPU_LOAD="`echo $UPTIME|awk -F average: '{print $2}'|sed 's/[.,]//g'`"
CPU1="`echo $CPU_LOAD|awk '{print $1}'`"
CPU2="`echo $CPU_LOAD|awk '{print $2}'`"
CPU3="`echo $CPU_LOAD|awk '{print $3}'`"
if [ "`echo $UPTIME|grep day`" != "" ];then
U_TAGE="`echo $UPTIME|awk '{print $3}`"
U_STUNDEN="`echo $UPTIME|awk '{print $5}'|awk -F : '{print $1}'`"
U_MINUTEN="`echo $UPTIME|awk '{print $5}'|sed 's/,//g'|awk -F : '{print $2}'`"
else
U_TAGE="0"
if [ "`echo $UPTIME|grep min`" != "" ];then
U_STUNDEN="0"
U_MINUTEN="`echo $UPTIME|awk '{print $3}'`"
else
U_STUNDEN="`echo $UPTIME|awk '{print $3}'|awk -F : '{print $1}'`"
U_MINUTEN="`echo $UPTIME|awk '{print $3}'|sed 's/,//g'|awk -F : '{print $2}'`"
fi
fi
if [ "$R_JAHRE" = "1" ];then
R_JAHRE="$R_JAHRE Jahr"
else
R_JAHRE="$R_JAHRE Jahre"
fi
if [ "$R_MONATE" = "1" ]; then
R_MONATE="$R_MONATE Monat"
else
R_MONATE="$R_MONATE Monate"
fi
if [ "$TAGE" = "1" ]; then
R_TAGE="$R_TAGE Tag"
else
R_TAGE="$R_TAGE Tage"
fi
if [ "$R_STUNDEN" = "1" ]; then
R_STUNDEN="$R_STUNDEN Stunde"
else
R_STUNDEN="$R_STUNDEN Stunden"
fi
if [ "$U_TAGE" = "1" ]; then
U_TAGE="$U_TAGE Tag"
else
U_TAGE="$U_TAGE Tage"
fi
if [ "$U_STUNDEN" = "1" ]; then
U_STUNDEN="$U_STUNDEN Stunde"
else
U_STUNDEN="$U_STUNDEN Stunden"
fi
if [ "$U_MINUTEN" = "1" ]; then
U_MINUTEN="$U_MINUTEN Minute"
else
U_MINUTEN="$U_MINUTEN Minuten"
fi
wget -q -O $FILE $CMD'wstatus'
if [ "`cat $FILE|grep -v html`" = "" ]; then
WLAN="~RAusgeschaltet"
else
WLAN="~GEingeschaltet"
fi
wget -q -O $FILE $CMD'vstatus'
if [ "`cat $FILE|grep -v html`" = "" ]; then
VOIP="~RAusgeschaltet"
else
VOIP="~GEingeschaltet"
fi
wget -q -O $FILE $CMD'dstatus'
if [ "`cat $FILE|grep -v html`" = "" ]; then
DSL="~RAusgeschaltet"
else
DSL="~GEingeschaltet"
fi
echo "~BHardware:~S $HW\n" > $FILE
echo "~BLaufzeit:~S $U_TAGE $U_STUNDEN $U_MINUTEN\n" >> $FILE
echo "~BGesamt:~S $R_JAHRE $R_MONATE $R_TAGE $R_STUNDEN\n" >> $FILE
echo "~BNeustarts:~S $R_STARTS\n" >> $FILE
echo "~BCPU Last:~S "`expr $CPU1 \* 1`"%, "`expr $CPU2 \* 1`"%, "`expr $CPU3 \* 1`"% (1, 5, 15 min.)\n" >> $FILE
echo "~BWLAN: $WLAN\n" >> $FILE
echo "~BVOIP : $VOIP\n" >> $FILE
echo "~BDSL : $DSL\n" >> $FILE
$TUXWET "TXTPLAIN=FRITZ!Box Status,$LOCAL";;
wstart)
wcall $1 "FRITZ!Box WLAN" "WLAN auf der FRITZ!Box wurde eingeschaltet.";;
wstop)
wcall $1 "FRITZ!Box WLAN" "WLAN auf der FRITZ!Box wurde ausgeschaltet.";;
wreload)
wcall $1 "FRITZ!Box WLAN" "WLAN auf der FRITZ!Box wurde neu gestartet.";;
vstart)
wcall $1 "FRITZ!Box VOIP" "VOIP auf der FRITZ!Box wurde eingeschaltet.";;
vstop)
wcall $1 "FRITZ!Box VOIP" "VOIP auf der FRITZ!Box wurde ausgeschaltet.";;
vreload)
wcall $1 "FRITZ!Box VOIP" "VOIP auf der FRITZ!Box wurde neu gestartet.";;
dstart)
wcall $1 "FRITZ!Box DSL" "DSL auf der FRITZ!Box wurde eingeschaltet.";;
dstop)
wcall $1 "FRITZ!Box DSL" "DSL auf der FRITZ!Box wurde ausgeschaltet.";;
dreload)
wget -q -O /dev/null $CMD'dstop'
wcall dstart "FRITZ!Box DSL" "DSL auf der FRITZ!Box wurde neu gestartet.";;
reboot)
wcall $1 "FRITZ!Box Reboot" "Die FRITZ!Box wird jetzt neu gestartet...";;
*)
echo "Unbekannter Parameter!"
esac
rm $FILE