just want to show you my current “sort of integration” for easybox routers.
The goal is to harvest and control an vodafone easybox router (only tested with easybox 804 yet).
What is already working?
- get the current ip
- get the dsl status (upstream/downstream and maximum upstream/downstream)
- get network information (how many devices are connected)
- information requested is based on a csv input file
- output is written to a json file
- json file is loaded into HA sensors (manual configuration required)
- cron job running the script e.g. hourly (manual configuration required)
What is planned?
- get all currently connected devices - and track them
- authenticated requests (code is already implemented but not yet activated)
- control the easybox - e.g. control the wifi - enable/disable guest wifi etc.
- one nice day I write a full integration for home assistant with all information gathered automatically and provided as devices and entities
What is technically possible?
- everything and beyond what the ui can do
- fully control the device e.g. change network settings, change wifi settings, reboot etc.
- get information and track all devices connected to the box
What technology is used?
- the router exposes the TR-069 protocol to its network clients
- the protocol is exposed by an soap interface
- there is a proprietary soap cookie which needs to be handled
- my script is written in python
- I’m using the
requestsmodule and creating
stringbodies - no dynamic messages yet
- preferred usage is csv as input and json as output format
Where can I find the project / code?
I uploaded it to GitHub at: GitHub - m4k2k/pyeasycmd: Simple python tool for communicating with an easybox router
- the software is currently written as prototype - without coding style etc.
- at some points I used rapid/dirty code instead of dynamic code
- the software is work in progress - use at your own risk
contributions, comments and ideas welcome