rene-d / sysbus

Contrôle par script d'une Livebox 2, 3 et 4

Home Page:http://rene-d.github.io/sysbus/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KeyError: 'data'

AugustinVoiMa opened this issue · comments

Bonjour,
Tout d'abord je suis content de voir qu'il existe un tel outil.
Je cherchais justement à pouvoir accéder à ma livebox depuis bash.

J'ai cependant un problème, en suivant les étapes du README, j'ai l'erreur KeyError: data qui aparaît lors de l'appel à ./sysbus.py.

Trace complète: https://pastebin.com/meBzPRbB

Je me permet d'ouvrir cette issue pour signaler ce problème. Je vais essayer de le résoudre et je redonne des nouvelles ici.

Bonjour,

Quelle version de Livebox as-tu ?

Voici la sortie d'une commande réussie:

$ ./sysbus.py -vvv Time:getTime
rc file /Users/XXXXXX/.sysbusrc
using auto detect for MAC XXXXXX
admin XXXXX http://192.168.1.1/ lb4
state file ..../sysbus_state
new session
auth for lb4
auth with {"service":"sah.Device.Information","method":"createContext","parameters":{"applicationName":"so_sdkut","username":"admin","password":"XXXXXX"}}
auth return {"status":0,"data":{"contextID":"xxyxyxyxyxyxyxyxyxyxyxyxy","groups":"http,admin"}}
setting cookies
requête: ws with {'parameters': {}, 'service': 'Time', 'method': 'getTime'}
durée requête: 0:00:00.015501
réponse: {'result': {'status': True, 'data': {'time': 'Mon,...
-------------------------
{'data': {'time': 'Mon, 06 Aug 2018 09:47:24 GMT+0200'}, 'status': True}

Et si je mets volontairement un mauvais mot de passe:

auth with {"service":"sah.Device.Information","method":"createContext","parameters":{"applicationName":"so_sdkut","username":"admin","password":"YYYYYYYY"}}
auth return {"status":1,"data":{}}
auth error {"status":1,"data":{}}
authentification impossible

Bonjour,

Quelle rapidité de réponse! merci beaucoup!

En effet c'est une livebox 3, la configuration par défaut étant pour la livebox 4, cela est normal.
En éditant le fichier ~/.sysbusrc à la main, j'ai changé la version de livebox version_livebox = lb3
et cela semble maintenant fonctionner.

Je viens d'ajouter un argument permettant de spécifier la version de livebox lors de la config:
./sysbus.py -config -password XXXXX -lversion lb3

Si tu veux, je peux mettre à jour le README et faire une PR.

Pas de soucis pour une PR :)

C'est un projet un peu ancien déjà et j'ai essayé de gérer avec plus ou moins de succès 3 versions de livebox, sachant que je n'ai à ma disposition qu'une version à moment donné...

Biensur, mais c'est déjà un super boulot!
Puis les joies de l'open source c'est aussi que ceux qui ont un autre équipement peuvent ajouter leur grain de sel