Page 8 sur 22

Re: Domoticz et Freebox

Publié : 28 juin 2016, 18:32
par itcitc77
bon j'ai recopié ton script original et toujours la mème chose

Code : Tout sélectionner

#!/bin/bash
cd /home/pi/freebox
# Domoticz server
DOMOTICZ_SERVER="192.168.0.16:8080"
# Freebox Server idx
FREEBOX_FW_IDX="87"
FREEBOX_UPTIME_IDX="88"
FREEBOX_UP_MAX_IDX="89"
FREEBOX_DOWN_MAX_IDX="90"
FREEBOX_DISKSPACE_IDX="91"
# Password admin domoticz à modifier
pwd=toto
#
function show_time () {
    num=$1
    min=0
    hour=0
    day=0
    if((num>59));then
        ((sec=num%60))
        ((num=num/60))
        if((num>59));then
            ((min=num%60))
            ((num=num/60))
            if((num>23));then
                ((hour=num%24))
                ((day=num/24))
            else
                ((hour=num))
            fi
        else
            ((min=num))
        fi
    else
        ((sec=num))
    fi
    echo "$day"%20jours%20"$hour"%20heures%20"$min"%20mn%20"$sec"%20secs
}

MY_APP_ID="Domoticz.app"
MY_APP_TOKEN="U+u/UZppnIMOa4JdXZRo8PWgg5ATX5F3iBCa/AMgLTQuermsisDoV0FES3UqkaT0"

# source the freeboxos-bash-api
source ./freeboxos_bash_api.sh

# login
login_freebox "$MY_APP_ID" "$MY_APP_TOKEN"

# get xDSL data
answer=$(call_freebox_api '/connection/xdsl')
#echo " answer : ${answer} "
#echo " "
# extract max upload xDSL rate
up_max_rate=$(get_json_value_for_key "$answer" 'result.up.maxrate')%20kb/s
down_max_rate=$(get_json_value_for_key "$answer" 'result.down.maxrate')%20kb/s
uptime=$(get_json_value_for_key "$answer" 'result.status.uptime')
uptimefreebox=$(show_time ${uptime})
echo "Uptime : ${uptimefreebox} "

echo "Max Upload xDSL rate: ${up_max_rate} "
echo "Max Download xDSL rate: ${down_max_rate} "
answer=$(call_freebox_api '/system')
#echo " answer : ${answer} "
#uptimefreebox=$(get_json_value_for_key "$answer" 'result.uptime')
fwfreebox=$(get_json_value_for_key "$answer" 'result.firmware_version')
#echo "Uptime : ${uptimefreebox} "
echo "Firmware : ${fwfreebox} "
answer=$(call_freebox_api '/storage/disk')
answer=$(echo ${answer} | sed -e "s/\[//g" | sed -e "s/\]//g")
#echo " answer : ${answer} "
freediskspace=$(get_json_value_for_key "$answer" 'result.partitions.free_bytes')
freediskspace=$(echo $((${freediskspace}/1024/1024)))
freediskspace=$(echo "${freediskspace}%20MBytes")
echo "Free space HD : ${freediskspace} "
#
#Envoi des valeurs vers les devices virtuels
# Send data to Domoticz
curl --silent -s -i -H  "Accept: application/json"  "http://admin:toto@$DOMOTICZ_SERVER/json.htm?type=command&param=udevice&idx=$FREEBOX_FW_IDX&nvalue=0&svalue=$fwfreebox"
curl --silent -s -i -H  "Accept: application/json"  "http://admin:toto@$DOMOTICZ_SERVER/json.htm?type=command&param=udevice&idx=88&nvalue=0&svalue=$uptimefreebox"
curl --silent -s -i -H  "Accept: application/json"  "http://admin:toto@$DOMOTICZ_SERVER/json.htm?type=command&param=udevice&idx=89&nvalue=0&svalue=$up_max_rate"
curl --silent -s -i -H  "Accept: application/json"  "http://admin:toto@$DOMOTICZ_SERVER/json.htm?type=command&param=udevice&idx=90&nvalue=0&svalue=$down_max_rate"
curl --silent -s -i -H  "Accept: application/json"  "http://admin:toto@$DOMOTICZ_SERVER/json.htm?type=command&param=udevice&idx=91&nvalue=0&svalue=$freediskspace"


Re: Domoticz et Freebox

Publié : 28 juin 2016, 19:44
par manuloup
itcitc77 a écrit :bon j'ai recopié ton script original et toujours la mème chose

Code : Tout sélectionner

#!/bin/bash
cd /home/pi/freebox
# Domoticz server
DOMOTICZ_SERVER="192.168.0.16:8080"
# Freebox Server idx
FREEBOX_FW_IDX="87"
FREEBOX_UPTIME_IDX="88"
FREEBOX_UP_MAX_IDX="89"
FREEBOX_DOWN_MAX_IDX="90"
FREEBOX_DISKSPACE_IDX="91"
# Password admin domoticz à modifier
pwd=toto
#
function show_time () {
    num=$1
    min=0
    hour=0
    day=0
    if((num>59));then
        ((sec=num%60))
        ((num=num/60))
        if((num>59));then
            ((min=num%60))
            ((num=num/60))
            if((num>23));then
                ((hour=num%24))
                ((day=num/24))
            else
                ((hour=num))
            fi
        else
            ((min=num))
        fi
    else
        ((sec=num))
    fi
    echo "$day"%20jours%20"$hour"%20heures%20"$min"%20mn%20"$sec"%20secs
}

MY_APP_ID="Domoticz.app"
MY_APP_TOKEN="U+u/UZppnIMOa4JdXZRo8PWgg5ATX5F3iBCa/AMgLTQuermsisDoV0FES3UqkaT0"

# source the freeboxos-bash-api
source ./freeboxos_bash_api.sh

# login
login_freebox "$MY_APP_ID" "$MY_APP_TOKEN"

# get xDSL data
answer=$(call_freebox_api '/connection/xdsl')
#echo " answer : ${answer} "
#echo " "
# extract max upload xDSL rate
up_max_rate=$(get_json_value_for_key "$answer" 'result.up.maxrate')%20kb/s
down_max_rate=$(get_json_value_for_key "$answer" 'result.down.maxrate')%20kb/s
uptime=$(get_json_value_for_key "$answer" 'result.status.uptime')
uptimefreebox=$(show_time ${uptime})
echo "Uptime : ${uptimefreebox} "

echo "Max Upload xDSL rate: ${up_max_rate} "
echo "Max Download xDSL rate: ${down_max_rate} "
answer=$(call_freebox_api '/system')
#echo " answer : ${answer} "
#uptimefreebox=$(get_json_value_for_key "$answer" 'result.uptime')
fwfreebox=$(get_json_value_for_key "$answer" 'result.firmware_version')
#echo "Uptime : ${uptimefreebox} "
echo "Firmware : ${fwfreebox} "
answer=$(call_freebox_api '/storage/disk')
answer=$(echo ${answer} | sed -e "s/\[//g" | sed -e "s/\]//g")
#echo " answer : ${answer} "
freediskspace=$(get_json_value_for_key "$answer" 'result.partitions.free_bytes')
freediskspace=$(echo $((${freediskspace}/1024/1024)))
freediskspace=$(echo "${freediskspace}%20MBytes")
echo "Free space HD : ${freediskspace} "
#
#Envoi des valeurs vers les devices virtuels
# Send data to Domoticz
curl --silent -s -i -H  "Accept: application/json"  "http://admin:toto@$DOMOTICZ_SERVER/json.htm?type=command&param=udevice&idx=$FREEBOX_FW_IDX&nvalue=0&svalue=$fwfreebox"
curl --silent -s -i -H  "Accept: application/json"  "http://admin:toto@$DOMOTICZ_SERVER/json.htm?type=command&param=udevice&idx=88&nvalue=0&svalue=$uptimefreebox"
curl --silent -s -i -H  "Accept: application/json"  "http://admin:toto@$DOMOTICZ_SERVER/json.htm?type=command&param=udevice&idx=89&nvalue=0&svalue=$up_max_rate"
curl --silent -s -i -H  "Accept: application/json"  "http://admin:toto@$DOMOTICZ_SERVER/json.htm?type=command&param=udevice&idx=90&nvalue=0&svalue=$down_max_rate"
curl --silent -s -i -H  "Accept: application/json"  "http://admin:toto@$DOMOTICZ_SERVER/json.htm?type=command&param=udevice&idx=91&nvalue=0&svalue=$freediskspace"

Je viens de recopier ton script sur le dernier post. Je change juste le numero de token, ça marche :

Code : Tout sélectionner

pi@raspberrypi2:~/freebox $ ./test.sh
Uptime : 58%20jours%2021%20heures%2016%20mn%2058%20secs
Max Upload xDSL rate: 9343%20kb/s
Max Download xDSL rate: 36072%20kb/s
Firmware : 3.3.1
Free space HD : 28791%20MBytes
Donc tu dois avoir une coquille quelque part. Si tu tapes uptime, ça t'affiche quoi ?
Tu as bien fait la partie token comme dans mon tuto ?

Re: Domoticz et Freebox

Publié : 28 juin 2016, 20:03
par itcitc77
j'ai bien fais le token, j'ai bien eu la clé.
pour la commande uptime j'obtient

pi@raspberrypi:~$ uptime
19:59:27 up 3 days, 1:09, 1 user, load average: 0,05, 0,11, 0,12
pi@raspberrypi:~$ 19:59:27 up 3 days, 1:09, 1 user, load average: 0,05, 0,11, 0,12

sinon je vais tous refaire

Re: Domoticz et Freebox

Publié : 28 juin 2016, 20:24
par manuloup
Tu as bien mis les 2 .sh dans le même répertoire ? freeboxos_bash_api.sh et l'autre.

Re: Domoticz et Freebox

Publié : 29 juin 2016, 07:37
par itcitc77
oui les deux scripts sont bien dans le meme repertoire cela ne vient t'il pas que je doive lancer le script par la commande sudo sh freebox_infos.sh

Re: Domoticz et Freebox

Publié : 29 juin 2016, 08:11
par itcitc77
bon j'ai trouvé mauvais format de fichier
pour ceux qui edite le script avec notepad++ ne pas oublier d'aller dans le menu édition
convertir les sauts de lignes et choisir unix.

Re: Domoticz et Freebox

Publié : 29 juin 2016, 09:15
par manuloup
itcitc77 a écrit :bon j'ai trouvé mauvais format de fichier
pour ceux qui edite le script avec notepad++ ne pas oublier d'aller dans le menu édition
convertir les sauts de lignes et choisir unix.
Editer les fichiers sous windows c'est mal. C'est ce qu'il faut retenir.

Re: Domoticz et Freebox

Publié : 29 juin 2016, 19:32
par itcitc77
merci pour l'aide
oui je sais c'est mal d'editer les fichiers sous windows, mais les editeurs en mode unix pas terrible

Re: RE: Re: Domoticz et Freebox

Publié : 29 juin 2016, 22:18
par deennoo
itcitc77 a écrit :merci pour l'aide
oui je sais c'est mal d'editer les fichiers sous windows, mais les editeurs en mode unix pas terrible
Essaye avec notepad++ combiné a winscp c'est nickel.

Re: Domoticz et Freebox

Publié : 29 juin 2016, 22:25
par manuloup
Vi !