Anleitung für fb control mit ds-mod und callmonitor
1-) in debug.cfg einzutrgen (wenn LCR Updater in debug.cfg ist, den code ende der debug.cfg einfügen);
2-) Download fbcontrol.zip für d-box 2.(FRITZ!Box.sh ändern wie unten)
3-) in listener von callmonitor einzufügen ;
1-) in debug.cfg einzutrgen (wenn LCR Updater in debug.cfg ist, den code ende der debug.cfg einfügen);
Code:
# write cmd script to file
mkdir /var/tmp/cgi-bin
cp /usr/www/$OEM/cgi-bin/???* /var/tmp/cgi-bin
mount -o bind /var/tmp/cgi-bin /usr/www/$OEM/cgi-bin
cat > /var/tmp/cgi-bin/cmd << 'ENDCMD'
#!/bin/sh
echo -e "Content-type: text/html; charset=iso-8859-1\n\n<html><body>"
case $1
in
uptime)
run_clock;uptime;cat /var/config.def;;
anrufe)
echo -e "`cat /var/tmp/anrufliste.txt`";;
anrufeloschen)
echo -e "`rm /var/tmp/anrufliste.txt`";;
reboot)
echo -e "</body></html>";/sbin/reboot;;
wstart)
/etc/init.d/rc.net wlanstart;;
wstop)
/etc/init.d/rc.net wlanstop;;
wreload)
/etc/init.d/rc.net wlanreload;;
wstatus)
echo "`/sbin/ifconfig|grep wlan`";;
vstart)
/etc/init.d/rc.voip start;;
vstop)
/etc/init.d/rc.voip stop;;
vreload)
/etc/init.d/rc.voip reload;;
vstatus)
echo "`/bin/pidof voipd`";;
dstart)
/sbin/dsld -i -n;;
dstop)
/sbin/dsld -s;;
dreload)
/sbin/init.d/rc.net reload dsld;;
dstatus)
echo "`/bin/pidof dsld`";;
*)
echo "Unbekannter Parameter";;
esac
echo -e "</body></html>"
ENDCMD
# make it executable
chmod 777 /var/tmp/cgi-bin/???*
2-) Download fbcontrol.zip für d-box 2.(FRITZ!Box.sh ändern wie unten)
Code:
#!/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>";;
anrufeloschen)
wcall $1 "Anrufliste Löschen" "Die Andrufliste wurde gelöscht...";;
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
3-) in listener von callmonitor einzufügen ;
Code:
in:cancel ^ ^ date +"~BZeit:~S %d.%m.%Y, %H:%M:%S Uhr\\n~BAnrufer :~S ${SOURCE_NAME}\\n~BNummer:~S ${SOURCE}\\n~BLeitung :~S ${PROVIDER}" > /var/tmp/anrufliste.tmp
in:cancel ^ ^ echo "~Y----------------------------------------------------------------------~S" >> /var/tmp/anrufliste.tmp
in:cancel ^ ^ sed '100,$d' /var/tmp/anrufliste.txt >> /var/tmp/anrufliste.tmp
in:cancel ^ ^ mv /var/tmp/anrufliste.tmp /var/tmp/anrufliste.txt