skillfed

devolo-plc-api

devolo PLC devices in Python

devolo-plc-api v1.5.1 73.9K downloads/30d#14,904 on PyPI24
Copyleft license GPL-3.0-or-later Active released

What it is and what it does

devolo-plc-api is a Python library that wraps the devolo PLC (powerline communication) device API, enabling programmatic control and monitoring of devolo Magic and Repeater devices over a network. It uses protobuf for device communication and provides both synchronous and asynchronous interfaces for network operations.

The package handles device discovery, connection management, and communication with supported devolo devices including Magic 2 WiFi, Magic 1 LAN, and various Repeater models. It depends on httpx for HTTP requests, zeroconf for network discovery, protobuf for message serialization, and utility libraries for address handling and retry logic. The project is actively maintained and follows semantic versioning, though it notes that firmware versions and undocumented API changes may affect compatibility.

Use it for:

  • Discover and enumerate devolo PLC devices on a local network without manually entering IP addresses.
  • Build home automation or network monitoring scripts that control devolo Magic or Repeater devices programmatically.
  • Implement async-first applications that manage multiple devolo devices concurrently using the async_discover_network interface.
  • Integrate devolo device status and configuration into a larger Python-based network management system.
  • Query device capabilities and state through a protobuf-based API rather than manual HTTP calls.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a Python API to communicate with devolo PLC (powerline communication) devices over the network using protobuf-formatted messages, supporting both synchronous and asynchronous operations.

Yes, if you own devolo PLC devices and need programmatic control or monitoring. The package is actively maintained, has low install friction, and provides both sync and async interfaces. The GPL-3.0-or-later license is a constraint for proprietary use. No known vulnerabilities. Tested on Linux with Python 3.9+; compatibility with other systems is not guaranteed.

Install

devolo-plc-api on PyPI

pip

pip install devolo-plc-api

uv

uv add devolo-plc-api

poetry

poetry add devolo-plc-api

Installing devolo-plc-api

Before you install

Low friction installation with a pure-Python wheel and six runtime dependencies. The project is actively maintained with recent commits and follows semantic versioning. Tested environment documented with specific versions.

License in practice

Licensed under GPL-3.0-or-later (copyleft). Any derivative work or distribution must be released under a compatible license; proprietary use requires careful review or relicensing.

Quickstart

pip install devolo-plc-api

from devolo_plc_api.network import discover_network

devices = discover_network()
for device in devices.values():
    device.connect()
# interact with device
for device in devices.values():
    device.disconnect()

Requires Python 3.9 or later. Tested on Linux; other operating systems may work but are not officially verified.

Verify before relying

  • Whether the package works reliably on operating systems other than Linux despite the tested environment being Linux-specific.
  • Whether firmware version differences across devolo device models significantly affect API compatibility beyond the listed supported devices.

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 6 — ifaddr, httpx, protobuf, segno, tenacity, zeroconf
Maintenance actively maintained — 487 days since the last release
Last repo commit
First released
Downloads 73,940/month — #14,904 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: devolo_plc_api-1.5.1-py3-none-any.whl

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

Tags

devolo plc device controlpowerline communication apidevolo magic repeater pythonnetwork device discoveryplc device communicationdevolo home automationasync device api
device-apipowerline-communicationasync-support

More Networking packages