speedport-api

Control Telekom Speedport routers with Python


License
MIT
Install
pip install speedport-api==0.6.0

Documentation

This python package is unofficial and is not related in any way to Telekom. It was developed by reversed engineered http requests and can stop working at anytime!

Speedport-API

PyPI - Status PyPI PyPI - Python Version PyPI - License PyPI - Downloads
Control Telekom Speedport routers with Python!

Installation

pip install speedport-api

Supported Devices

  • Speedport Smart 4

Commandline tool

With this shipped commandline tool can a speedport in your network be controlled.

Turn wifi off

$ speedport wifi off
Turn off wifi...

Turn guest wifi on

$ speedport guest-wifi on
Turn on guest wifi...

Reconnect for new ip address

$ speedport reconnect
123.45.67.89 / 5403:f3:35aa:12f:7287:41cf:fb1c:3c83
Reconnect with internet provider...
123.45.67.12 / 5403:f3:35fe:12f:7287:41cf:fb1c:3c83

Enable wps connect

$ speedport wps
Enable wps connect...
wps connect enabled for 113s...

Reboot device

$ speedport reboot
Reboot speedport...

Print devices

$ speedport devices
+-------------+---------------------+-------+-----------+
| ipv4        | name                | type  | connected |
+-------------+---------------------+-------+-----------+
| 10.5.12.32  | Google-Home-Mini-1  | wlan  | 1         |
| 10.5.12.157 | PC10-5-12-157       | lan   | 0         |
| 10.5.12.227 | andre-xps           | wlan5 | 1         |

Print calls

$ speedport calls
+-------------+--------+----------+---------------------+
| number      | type   | duration | date                |
+-------------+--------+----------+---------------------+
| 01578212345 | missed | 0        | 2024-04-04 09:34:35 |
| 026361245   | taken  | 1337     | 2024-04-06 05:12:53 |
| 7866        | dialed | 20       | 2024-04-06 18:39:00 |

Library

Reconnect example

import asyncio
from speedport import Speedport

async def reconnect():
    speedport =  Speedport("192.168.1.1")
    await speedport.login("password123")
    await speedport.reconnect()

asyncio.run(reconnect())

Devices example

import asyncio
from speedport import Speedport

devices = asyncio.run(Speedport().devices)
for device in devices:
    print(device.ipv4, device.connected)