Domoticz et Freebox
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Domoticz et Freebox
Salut,
Directement dans ton navigateur, ceci fonctionne ?
http://mafreebox.freebox.fr/pub/fbx_info.txt
Directement dans ton navigateur, ceci fonctionne ?
http://mafreebox.freebox.fr/pub/fbx_info.txt
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Domoticz et Freebox
Bonjour,
Oui cela fonctionne, je recupere les informations de la freebox :
Oui cela fonctionne, je recupere les informations de la freebox :
Cordialement______________________________________________________________________
Etat de la Freebox
______________________________________________________________________
Informations générales :
========================
Modèle Freebox ADSL
Version du firmware 1.5.25
Mode de connection Dégroupé
Temps depuis la mise en route 9 jours, 13 heures, 11 minutes
Téléphone :
===========
Etat Ok
Etat du combiné Raccroché
Sonnerie Inactive
Adsl :
======
Etat Showtime
Protocole RE-ADSL2
Mode Interleaved
Descendant Montant
-- --
Journal de connexion adsl :
---------------------------
Wifi :
======
Réseau :
========
Attributions dhcp :
-------------------
Adresse MAC Adresse IP
-- --
Redirections de ports :
Interfaces réseau :
Re: Domoticz et Freebox
Bonjour,
Je pense avoir trouve une erreur. Je ne mettais pas le login et mot de passe de domoticz.
Par contre je n'ai pas de retour dans domoticz (pas de message d’erreur)
J'ai rendu mon script exécutable :
pas d'erreur
lorsque je teste manuellement je n'ai rien, pas de retour des variables , est ce normal ?
merci de votre retour
Je pense avoir trouve une erreur. Je ne mettais pas le login et mot de passe de domoticz.
Par contre je n'ai pas de retour dans domoticz (pas de message d’erreur)
J'ai rendu mon script exécutable :
Code : Tout sélectionner
chmod +x freebox_infos.shlorsque je teste manuellement je n'ai rien, pas de retour des variables , est ce normal ?
merci de votre retour
Re: Domoticz et Freebox
Re,
Desole s'est encore moi.
Voila ou j'en suis.
Le dernier code que j'utilise
Lorsque j'execute le script , le printf donne bien une valeur.
Voila ce que j'ai mis dans le crontab
Par contre rien dans domoticz.
Comment savoir si la fonction json fonctionne correctement ? (en gros pas d'erreur)
Dans les log de domoticz je ne vois rien, meme pas un acces ....
Merci de m'aider, je ne sais plus quoi faire
Rad
Desole s'est encore moi.
Voila ou j'en suis.
Le dernier code que j'utilise
Code : Tout sélectionner
#!/bin/bash
#SERVER
SERVER1="login:mdp"
SERVER2="192.168.0.20:9090"
DOWNLOAD=`wget -q -O - http://mafreebox.freebox.fr/pub/fbx_info.txt | grep ATM | awk '{printf $3}'`
curl -s "http://$SERVER1@$SERVER2/json.htm?type=command¶m=udevice&idx=129&svalue=$DOWNLOAD"
printf $DOWNLOAD
UPLOAD=`wget -q -O - http://mafreebox.freebox.fr/pub/fbx_info.txt | grep ATM | awk '{printf $5}'`
curl -s "http://$SERVER1@$SERVER2/json.htm?type=command¶m=udevice&idx=130&svalue=$UPLOAD"
Voila ce que j'ai mis dans le crontab
Code : Tout sélectionner
*/1 * * * * /home/pi/freebox/freebox_test.sh > /dev/nullComment savoir si la fonction json fonctionne correctement ? (en gros pas d'erreur)
Dans les log de domoticz je ne vois rien, meme pas un acces ....
Merci de m'aider, je ne sais plus quoi faire
Rad
Re: Domoticz et Freebox
Bonjour,
Juste pour prévenir que j'ai trouve d ou cela venait : tout simplement de mon login qui comportait un "@"
Merci d'avoir partage ce script et surtout pour le tuto.
R@d.
Juste pour prévenir que j'ai trouve d ou cela venait : tout simplement de mon login qui comportait un "@"
Merci d'avoir partage ce script et surtout pour le tuto.
R@d.
-
landaisbenj
- Messages : 695
- Inscription : 12 mars 2017, 19:24
Re: Domoticz et Freebox
Bonjour à tous.
Juste pour vous dire que je viens de me taper les 19 pages du post pour me lancer dans la récupération des infos de la freebox aussi
Mon but est de récupérer le status d'un périphérique reseau. Tout ca pour améliorer la détection d'absence.
Je reviendrai ici si j'ai produit quelque chose
Juste pour vous dire que je viens de me taper les 19 pages du post pour me lancer dans la récupération des infos de la freebox aussi
Mon but est de récupérer le status d'un périphérique reseau. Tout ca pour améliorer la détection d'absence.
Je reviendrai ici si j'ai produit quelque chose
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
-
landaisbenj
- Messages : 695
- Inscription : 12 mars 2017, 19:24
Re: Domoticz et Freebox
Bon voila. Apres des heures de test et de comprehenssion (vu que j'y connais rien en curl ni en bash d'ailleur), j'arrive a savoir si le telephone de ma femme est connecté:
limabravo@homepi:~/bin $ freebox_infos.sh
Uptime : 0 jours 23 heures 2 min 44 secs
Max Upload xDSL rate: 1.1 Mb/s
Max Download xDSL rate: 25.1 Mb/s
Firmware : 3.4.1
Free space HD : 82.00 Go
TEL Celou connecté: true
J'adapte ca demain sur domoticz puis en terme de gestion de presence.
Bonne nuit.
limabravo@homepi:~/bin $ freebox_infos.sh
Uptime : 0 jours 23 heures 2 min 44 secs
Max Upload xDSL rate: 1.1 Mb/s
Max Download xDSL rate: 25.1 Mb/s
Firmware : 3.4.1
Free space HD : 82.00 Go
TEL Celou connecté: true
J'adapte ca demain sur domoticz puis en terme de gestion de presence.
Bonne nuit.
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
-
landaisbenj
- Messages : 695
- Inscription : 12 mars 2017, 19:24
Re: Domoticz et Freebox
Bon comme je n'arrive pas trop a gerer les dummys text je vous laisse mon idée.
Pour avoir la presence sur le reseau freebox d'un equipement lan (type smartphone) voici ma requete:
En supplément voici ma fonction dummys qui me permet de retirer toutes les lignes de curl vers domoticz
Cela raccourci le code. Et permet de traiter une requete dans un block (afin d'etre plus claire pour en rajouter d'autre).
Je fais ceci a cause des iphones car ils sont tres mal percu sur le reseau. La freebox gere plutot bien leur presence.
Comme j'ai un peu de mal a gerer les dummys texte je partage afin de voir si vous pouvez m'aider a automatiser une presence.
Le but:
Si la requete renvoi false dans mon dummys mettre un interrupteur ou une variable absence a on
et vis et versa.
[EDIT] D'ailleurs si vous savez comment transformer le dummys text en interrupteur on off... Ou autre afin d'appliquer une vraie simulation de connexion.
Pour avoir la presence sur le reseau freebox d'un equipement lan (type smartphone) voici ma requete:
Code : Tout sélectionner
##### Présence périphérique reseau via @MAC
# idx du dummys Domoticz
IDX="30"
# recuperation de la valeur dans l'API
answer=$(call_freebox_api '/lan/browser/pub/ether-[ADRESSE MAC PERIPHERIQUE]')
# filtre sur la reponse
value=$(get_json_value_for_key "$answer" 'result.reachable')
testname=$(get_json_value_for_key "$answer" 'result.primary_name')
activity=$(get_json_value_for_key "$answer" 'result.last_activity')
# format de la reponse
activity=$(date -d @"$activity")
# affichage de la valeur
echo "${testname} connecté: ${value} dernière activité depuis: ${activity}"
dummys "$IDX" "$value"
Code : Tout sélectionner
function dummys () {
curl --silent -s -i -H "Accept: application/json" "http://$DOMOTICZ_SERVER/json.htm?type=command¶m=udevice&idx=$1&nvalue=0&svalue=$2"
}
Je fais ceci a cause des iphones car ils sont tres mal percu sur le reseau. La freebox gere plutot bien leur presence.
Comme j'ai un peu de mal a gerer les dummys texte je partage afin de voir si vous pouvez m'aider a automatiser une presence.
Le but:
Si la requete renvoi false dans mon dummys mettre un interrupteur ou une variable absence a on
et vis et versa.
[EDIT] D'ailleurs si vous savez comment transformer le dummys text en interrupteur on off... Ou autre afin d'appliquer une vraie simulation de connexion.
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
Re: Domoticz et Freebox
Bonjour,
Je te conseillais d'utiliser un "Switchlight"
Si value est vrai il faut envoyer "On" sinon "Off"
Donc j'ajouterais une nouvelle variable presence
Voici un exemple de code (non testé)
Et enfin le code mis à jour pour envoyer
Je te conseillais d'utiliser un "Switchlight"
Si value est vrai il faut envoyer "On" sinon "Off"
Donc j'ajouterais une nouvelle variable presence
Voici un exemple de code (non testé)
Code : Tout sélectionner
presence = "Off"
if((value == true));then
presence = "On"
else
presence = "Off"
fi
dummys "$IDX" "$presence"
Et enfin le code mis à jour pour envoyer
Code : Tout sélectionner
function dummys () {
curl --silent -s -i -H "Accept: application/json" "http://$DOMOTICZ_SERVER/json.htm?type=command¶m=switchlight&idx=$1&switchlight=$2"
}-
landaisbenj
- Messages : 695
- Inscription : 12 mars 2017, 19:24
Re: Domoticz et Freebox
Yes c'est exactement ce que j'ai fais avec une variable.StephBel a écrit :Si value est vrai il faut envoyer "On" sinon "Off"
Mais ça ne me conviens toujours pas pour la facilité d'emploi dans le déclenchement d'un script du coup je vais surement passer sur un switchlight effectivement.
J'ai aussi rajouter dans mon freebox_infos.sh une detection permettant de ne faire la mise a jour que si la valeur a changé.
La recuperation:
Code : Tout sélectionner
##### Presence peripherique reseau via @MAC
# idx du dummys Domoticz
IDX="28"
# recuperation de la valeur dans l'API
answer=$(call_freebox_api '/lan/browser/pub/ether-....')
# filtre sur la reponse
value=$(get_json_value_for_key "$answer" 'result.reachable')
testname=$(get_json_value_for_key "$answer" 'result.primary_name')
activity=$(get_json_value_for_key "$answer" 'result.last_activity')
activity=$(date -d @"$activity")
# format de la reponse
# affichage de la valeur
#echo "${testname} connecté: ${value} derniere activité depuis: ${activity}"
##### Presence peripherique reseau via @MAC
# idx du dummys Domoticz
IDX="30"
# recuperation de la valeur dans l'API
answer=$(call_freebox_api '/lan/browser/pub/ether-....')
# filtre sur la reponse
valueb=$(get_json_value_for_key "$answer" 'result.reachable')
testname=$(get_json_value_for_key "$answer" 'result.primary_name')
activity=$(get_json_value_for_key "$answer" 'result.last_activity')
activity=$(date -d @"$activity")
# format de la reponse
# affichage de la valeur
#echo "${testname} connecté: ${value} derniere activité depuis: ${activity}"
Code : Tout sélectionner
LINE=`sed -n '1p' /home/pi/bin/presence.tmp`
if [ $value != $LINE ]
then
dummys "$IDX" "$value" "presence1" "3"
fi
LINEB=`sed -n '2p' /home/pi/bin/presence.tmp`
if [ $valueb != $LINEB ]
then
dummys "$IDX" "$valueb" "presence2" "4"
fi
echo $value > /home/pi/bin/presence.tmp
echo $valueb >> /home/pi/bin/presence.tmp
Code : Tout sélectionner
function dummys () {
if [ $2 = 'false' ] || [ $2 = 'true' ]
then
curl --silent -s -H "Accept: application/json" "http://$DOMOTICZ_SERVER/json.htm?type=command¶m=updateuservariable&idx=$4&vname=$3&vtype=2&vvalue=$2"
else
curl --silent -s -H "Accept: application/json" "http://$DOMOTICZ_SERVER/json.htm?type=command¶m=udevice&idx=$1&nvalue=0&svalue=$2"
fi
}Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway