devolo-home-control-api
devolo Home Control API in Python
What it is and what it does
devolo-home-control-api is a Python client that communicates with devolo Home Control Central Units, the hub devices for devolo's smart home ecosystem. It implements parts of the devolo API through reverse engineering, allowing you to query and control connected devices like binary switches and sensors. The library supports two data collection modes: passive websocket updates that keep local objects synchronized, or an event-driven subscriber pattern that triggers callbacks on device state changes. It can discover Central Units on the local network via Zeroconf or connect through the cloud via my devolo credentials.
The package depends on standard libraries (requests, websocket_client, zeroconf, python-dateutil, typing-extensions) and targets Python 3.9+. Because it relies on reverse engineering rather than official API documentation, updates to devolo firmware or services may cause breakage. The maintainer actively accepts issue reports for such failures. It's designed for developers building home automation integrations or monitoring applications around devolo hardware.
Use it for:
- Monitor and control devolo binary switches (on/off devices) and read their power consumption from a Python application.
- Build a local home automation dashboard that subscribes to device state changes and reacts in real time via websockets.
- Integrate devolo Home Control devices into a broader smart home system by querying gateway IDs and device properties.
- Discover devolo Central Units on the local network automatically using Zeroconf and collect data directly without cloud dependency.
- Create event-driven automations that trigger actions when devolo-connected devices change state.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python client library for the devolo Home Control API, enabling communication with devolo Home Control Central Units via websockets and cloud connectivity.
Yes, if you own devolo Home Control hardware and need Python integration. The library is actively maintained, has low install friction, and provides both local and cloud connectivity. However, the GPL-3.0-or-later copyleft license restricts use in proprietary applications, and the reverse-engineered nature means updates to devolo services may require fixes. Verify compatibility with your specific Central Unit hardware before committing to a production deployment.
Install
devolo-home-control-api on PyPI
pip
pip install devolo-home-control-apiuv
uv add devolo-home-control-apipoetry
poetry add devolo-home-control-apiInstalling devolo-home-control-api
Before you install
Low friction install with five common runtime dependencies (python-dateutil, requests, typing-extensions, websocket_client, zeroconf). Actively maintained as of 2026-08-03, though based on reverse engineering and may break with devolo updates.
License in practice
GPL-3.0-or-later copyleft license requires derivative works and distributions to remain open-source under compatible terms; proprietary applications cannot use this library without licensing implications.
Quickstart
pip install devolo-home-control-api
from devolo_home_control_api.mydevolo import Mydevolo
from devolo_home_control_api.homecontrol import HomeControl
mydevolo = Mydevolo.get_instance()
mydevolo.user = "username"
mydevolo.password = "password"
for gateway_id in mydevolo.get_gateway_ids():
homecontrol = HomeControl(gateway_id=gateway_id, mydevolo_instance=mydevolo)
Requires Python 3.9 or later; a working devolo Home Control Central Unit and my devolo account credentials to connect.
Verify before relying
- Scope and completeness of reverse-engineered API coverage compared to official devolo documentation.
- Compatibility with specific devolo Central Unit hardware versions and firmware releases.
- Performance characteristics and rate limits when polling or subscribing to device updates.
Package facts
| License | GPL-3.0-or-later (copyleft) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — python-dateutil, requests, typing-extensions, websocket_client, zeroconf |
| Maintenance | actively maintained — 281 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 74,589/month — #14,813 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: devolo_home_control_api-0.19.1-py3-none-any.whl
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
devolo-plc-apiProvides a Python API to communicate with…
copyleft · top 15,000 on PyPI
aioshellyAsynchronous Python library for controlling…
permissive · top 15,000 on PyPI
p1monitorAsynchronous Python client library for reading…
permissive · top 15,000 on PyPI
instructure-dap-clientClient library for querying Instructure's Data…
permissive · top 15,000 on PyPI
websocket-clientwebsocket-client provides a Python WebSocket…
permissive · top 1,000 on PyPI
vallox-websocket-apiAsync WebSocket client for controlling and…
copyleft · top 15,000 on PyPI
websocketswebsockets is a library for building WebSocket…
permissive · top 100 on PyPI
python-tadoPyTado provides a Python interface to the Tado…
copyleft · top 15,000 on PyPI
python-engineioPython implementation of the Engine.IO realtime…
permissive · top 1,000 on PyPI
samsungtvwsA Python library for remotely controlling…
copyleft · top 15,000 on PyPI