Mise en oeuvre de fbxosctrl - skimpax/fbxosctrl GitHub Wiki

Installation

Il suffit de télécharger le script fbxosctrl.py.
Cependant, il faudra installer au préalable la dépendances suivante :

  • requests (apt-get install python-requests)

Fonctionnement de l'API Freebox OS

L'API Freebox OS est disponible sur le site de Free dev.
L'utilisateur de fbxosctrl est fortement encouragé à consulter cette API, notamment pour en comprendre le principe de registration/login.
Cependant, voici ci-dessous les deux grands points qu'il faut connaître de son fonctionnement.

Registration

Toute application voulant avoir accès à l'API doit procéder à une 'registration' au préalable. Le but est d'obtenir l'autorisation d'accès pour notre application ainsi que des identifiants uniques qui seront utilisés ultérieurement pour dialoguer avec Freebox OS : ces identifiants sont le 'track_id' et 'app_token'. La procédure de registration doit être réalisée une seule fois : les identifiants sont ensuite valables jusqu'à ce qu'il soient éventuellement révoqués. La révocation se fait manuellement par l'utilisateur, directement sur l'interface web de FreeboxOS.

Permissions

FreeboxOS gère différents niveaux de permissions. Lorsqu'une application procède à sa registration, les permissions par défaut sont accordées à cette dernière. Mais elles ne permettent pas de modifier la configuration de la Freebox (configuration du le wifi par exemple). Pour cela, il faut augmenter les permissions de l'application. Ceci s'effectue via l'interface web de FreeboxOS, où l'on donnera les permissions 'settings' à notre application. Ces permissions seront celles que recevra notre application à chaque fois qu'elle se loggue à FreeboxOS par la suite.

Pour pouvoir fonctionner correctement, l'application fbxosctrl doit avoir les droits 'settings' activés.

Procéder à la registration de fbxosctrl

  1. Il faut lancer la commande suivante :
fbxosctrl.py --regapp
  1. Ensuite, l'utilisateur doit valider la registration de cette application sur le touchpad du Freebox Serveur, en validant le 'Ok'.
    En retour, l'application fbxosctrl va recevoir ces identifiants (track_id et app_token) qui seront sauvegardés un fichier fbxosctrl_registration.txt (dans le même répertoire que fbxosctrl.py).

  2. Configurer les permissions de fbxosctrl Donner les droits 'settings' à fbxosctrl, via l'interface web de FreeboxOS.

Utilisation ultérieure de fbxosctrl

Maintenant que la registration a été effectuée et que l'on dispose du fichier fbxosctrl_registration.txt contenant ces identifiants, il suffit de lancer l'outil avec la commande désirée.
Nota :
par défaut, fbxosctrl cherche le fichier fbxosctrl_registration.txt dans le répertoire courant.

Exemples d'utilisation

fbxosctrl.py --wifistatus
fbxosctrl.py --wifioff
fbxosctrl.py --reboot