.titleBar { margin-bottom: 5px!important; }

FBF control für D-Box2

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von futurama, 9 Feb. 2007.

  1. futurama

    futurama Neuer User

    Registriert seit:
    25 Feb. 2006
    Beiträge:
    69
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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);
    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