skillfed

devolo-home-control-api

devolo Home Control API in Python

devolo-home-control-api v0.19.1 74.6K downloads/30d#14,813 on PyPI11
Copyleft license GPL-3.0-or-later Active released

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-api

uv

uv add devolo-home-control-api

poetry

poetry add devolo-home-control-api

Installing 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

Operating System :: OS IndependentProgramming Language :: Python :: 3

Tags

devolo home control apihome automation pythondevolo gateway integrationsmart home device controlwebsocket home automationdevolo central unit clienthome control device api
home-automationiot-clientreverse-engineered

More Monitoring packages

tqdm

Wraps any iterable to display a real-time…

copyleft · top 100 on PyPI

opentelemetry-semantic-conventions

Provides generated Python code for…

permissive · top 100 on PyPI

opentelemetry-sdk

Provides the reference implementation of the…

permissive · top 100 on PyPI

opentelemetry-api

Provides the abstract API and interfaces for…

permissive · top 100 on PyPI

opentelemetry-exporter-otlp-proto-http

Exports OpenTelemetry observability data to an…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation

Provides automatic instrumentation commands and…

permissive · top 1,000 on PyPI

devolo-plc-api

Provides a Python API to communicate with…

copyleft · top 15,000 on PyPI

aioshelly

Asynchronous Python library for controlling…

permissive · top 15,000 on PyPI

p1monitor

Asynchronous Python client library for reading…

permissive · top 15,000 on PyPI

instructure-dap-client

Client library for querying Instructure's Data…

permissive · top 15,000 on PyPI

websocket-client

websocket-client provides a Python WebSocket…

permissive · top 1,000 on PyPI

vallox-websocket-api

Async WebSocket client for controlling and…

copyleft · top 15,000 on PyPI

websockets

websockets is a library for building WebSocket…

permissive · top 100 on PyPI

python-tado

PyTado provides a Python interface to the Tado…

copyleft · top 15,000 on PyPI

python-engineio

Python implementation of the Engine.IO realtime…

permissive · top 1,000 on PyPI

samsungtvws

A Python library for remotely controlling…

copyleft · top 15,000 on PyPI