skillfed

aiohomematic

Homematic interface for Home Assistant running on Python 3.

aiohomematic v2026.8.2 621.2K downloads/30d#5,719 on PyPI167
Permissive license MIT License Active released

What it is and what it does

aiohomematic is a modern async Python library that abstracts the Homematic protocol stack, allowing you to discover, control, and monitor Homematic and HomematicIP devices connected to a CCU hub or compatible backend. It replaces the older pyhomematic project with automatic entity discovery, fewer manual device definitions, and faster startup times. The library handles connection management, event routing through a unified EventBus, protocol translation (XML-RPC for standard interfaces, JSON-RPC for CUxD/CCU-Jack), and caching of device descriptions and paramsets.

The library is built on asyncio and fully typed (mypy strict mode), making it suitable for integration into larger async applications—most notably as the backend for the Home Assistant "Homematic(IP) Local" integration. It supports extensible entity classes for complex device types (climate, cover, light, lock, siren, valve), hub entities for CCU programs and system variables, and robust operation through circuit breaker patterns, command retry/throttling, and automatic reconnection after CCU restarts.

Use it for:

  • Build a Home Assistant integration or custom automation platform that controls Homematic devices without polling.
  • Monitor Homematic device state and respond to events in real-time via the EventBus in a standalone Python application.
  • Integrate Homematic climate, lighting, or lock devices into a broader home automation system using async/await patterns.
  • Manage CCU programs, system variables, and inbox messages programmatically alongside device control.
  • Test Homematic protocol implementations using pydevccu without requiring physical hardware.

Worth the install?

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

An async Python library for controlling and monitoring Homematic and HomematicIP devices through multiple backend systems (CCU3, OpenCCU, Homegear, CUxD, CCU-Jack) using XML-RPC and JSON-RPC protocols.

Yes. The library is actively maintained (release 4 days old), has no known vulnerabilities, uses a permissive MIT license, and requires only four lightweight runtime dependencies. It is marked Production/Stable and powers a real Home Assistant integration. Install it if you need to control Homematic devices from Python; the only constraint is a requirement for Python 3.14 or later and network access to a compatible Homematic backend.

Install

aiohomematic on PyPI

pip

pip install aiohomematic

uv

uv add aiohomematic

poetry

poetry add aiohomematic

Installing aiohomematic

Before you install

Low friction install with four runtime dependencies (aiohttp, openccu-data, pydantic, python-slugify). Active maintenance with a release 4 days old and recent commits; marked Production/Stable with 167 repository stars.

License in practice

MIT License permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.

Quickstart

pip install aiohomematic

import asyncio
from aiohomematic.central import CentralConfig
from aiohomematic.client import InterfaceConfig
from aiohomematic.const import Interface

async def main():
    config = CentralConfig(
        central_id="ccu-main",
        name="ccu-main",
        host="ccu.local",
        interface_configs={
            InterfaceConfig(central_name="ccu-main", interface=Interface.HMIP_RF, port=2010),
        },
    )
    central = await config.create_central()
    await central.start()

Requires Python 3.14 or later; requires network access to a Homematic CCU, OpenCCU, Homegear, CUxD, or CCU-Jack device.

Verify before relying

  • Whether the library's circuit breaker and reconnection logic handles all failure modes in production environments.
  • Performance characteristics when managing large numbers of devices or frequent state changes.
  • Compatibility with specific Homematic device models and firmware versions beyond those listed.

Package facts

License MIT License (permissive)
Python support capped below the current Python release (>=3.14)
Install friction low — pure-Python wheel
Runtime dependencies 4 — aiohttp, openccu-data, pydantic, python-slugify
Maintenance actively maintained — 4 days since the last release
Last repo commit
First released
Downloads 621,231/month — #5,719 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: aiohomematic-2026.8.2-py3-none-any.whl

Keywords: home, automation, homematic, openccu, homegear

Development Status :: 5 - Production/StableEnvironment :: No Input/Output (Daemon)Framework :: AsyncIOIntended Audience :: DevelopersIntended Audience :: End Users/DesktopLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishNatural Language :: GermanOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.14Programming Language :: Python :: Free Threading :: 2 - BetaProgramming Language :: Python :: Implementation :: CPythonTopic :: Home AutomationTopic :: Software Development :: Libraries :: Python ModulesTyping :: Typed

Tags

homematic device control libraryasync homematic integrationhomematicip python clienthome automation protocol libraryccu device communicationhomegear python interfacehomematic event-driven control
home-automationasync-ioprotocol-client

More Python Modules packages