aiohomematic
Python 3 Interface to interact with HomeMatic devices
Stars: 162
AIO Homematic (hahomematic) is a lightweight Python 3 library for controlling and monitoring HomeMatic and HomematicIP devices, with support for third-party devices/gateways. It automatically creates entities for device parameters, offers custom entity classes for complex behavior, and includes features like caching paramsets for faster restarts. Designed to integrate with Home Assistant, it requires specific firmware versions for HomematicIP devices. The public API is defined in modules like central, client, model, exceptions, and const, with example usage provided. Useful links include changelog, data point definitions, troubleshooting, and developer resources for architecture, data flow, model extension, and Home Assistant lifecycle.
README:
A modern, async Python library for controlling and monitoring Homematic and HomematicIP devices. Powers the Home Assistant integration "Homematic(IP) Local".
This project is the modern successor to pyhomematic, focusing on automatic entity creation, fewer manual device definitions, and faster startups.
- Automatic entity discovery from device/channel parameters
- Extensible via custom entity classes for complex devices (thermostats, lights, covers, locks, sirens)
- Fast startups through caching of paramsets
- Robust operation with automatic reconnection after CCU restarts
- Fully typed with strict mypy compliance
- Async/await based on asyncio
Full documentation: sukramj.github.io/aiohomematic
| Section | Description |
|---|---|
| Getting Started | Installation and first steps |
| User Guide | Home Assistant integration guide |
| Developer Guide | API reference for integrations |
| Architecture | System design overview |
| Glossary | Terminology reference |
┌─────────────────────────────────────────────────────────┐
│ Home Assistant │
│ │
│ ┌────────────────────────────────────────────────────┐ │
│ │ Homematic(IP) Local Integration │ │
│ │ │ │
│ │ • Home Assistant entities (climate, light, etc.) │ │
│ │ • UI configuration flows │ │
│ │ • Services and automations │ │
│ │ • Device/entity registry integration │ │
│ └────────────────────────┬───────────────────────────┘ │
└───────────────────────────┼─────────────────────────────┘
│
│ uses
▼
┌───────────────────────────────────────────────────────────┐
│ aiohomematic │
│ │
│ • Protocol implementation (XML-RPC, JSON-RPC) │
│ • Device model and data point abstraction │
│ • Connection management and reconnection │
│ • Event handling and callbacks │
│ • Caching for fast startups │
└───────────────────────────────────────────────────────────┘
│
│ communicates with
▼
┌───────────────────────────────────────────────────────────┐
│ CCU3 / OpenCCU / Homegear │
└───────────────────────────────────────────────────────────┘
| Aspect | aiohomematic | Homematic(IP) Local |
|---|---|---|
| Purpose | Python library for Homematic protocol | Home Assistant integration |
| Scope | Protocol, devices, data points | HA entities, UI, services |
| Dependencies | Standalone (aiohttp, orjson) | Requires Home Assistant |
| Reusability | Any Python project | Home Assistant only |
| Repository | aiohomematic | homematicip_local |
Benefits of this separation:
- Reusability: aiohomematic can be used in any Python project, not just Home Assistant
- Testability: The library can be tested independently without Home Assistant
- Maintainability: Protocol changes don't affect HA-specific code and vice versa
- Clear boundaries: Each project has a focused responsibility
-
Homematic(IP) Local creates a
CentralUnitvia aiohomematic's API - aiohomematic connects to the CCU/Homegear and discovers devices
-
aiohomematic creates
Device,Channel, andDataPointobjects - Homematic(IP) Local wraps these in Home Assistant entities
- aiohomematic receives events from the CCU and notifies subscribers
- Homematic(IP) Local translates events into Home Assistant state updates
Use the Home Assistant custom integration Homematic(IP) Local:
- Add the custom repository: https://github.com/sukramj/homematicip_local
- Install via HACS
- Configure via Settings → Devices & Services → Add Integration
See the Integration Guide for detailed instructions.
pip install aiohomematicfrom aiohomematic.central import CentralConfig
from aiohomematic.client import InterfaceConfig
from aiohomematic.const import Interface
config = CentralConfig(
central_id="ccu-main",
host="ccu.local",
username="admin",
password="secret",
default_callback_port=43439,
interface_configs={
InterfaceConfig(central_name="ccu-main", interface=Interface.HMIP_RF, port=2010)
},
)
central = config.create_central()
await central.start()
for device in central.devices:
print(f"{device.name}: {device.device_address}")
await central.stop()See Getting Started for more examples.
- Python: 3.13+
- CCU Firmware: CCU2 ≥2.61.x, CCU3 ≥3.61.x
- There is not active testing to identify the minimum required firmware versions.
Actively tested backends:
- OpenCCU with current firmware
Not actively tested:
- CCU2
- Homegear
Running outdated firmware versions or using untested backends (CCU2, Homegear) is at your own risk.
Recommendation: Keep your CCU firmware up to date. Outdated versions may lack bug fixes, security patches, and compatibility improvements that this library depends on.
| Project | Description |
|---|---|
| Homematic(IP) Local | Home Assistant integration |
| aiohomematic Documentation | Full documentation |
Contributions are welcome! See the Contributing Guide for details.
MIT License - see LICENSE for details.
If you find this project useful, consider sponsoring the development.
For Tasks:
Click tags to check more tools for each tasksFor Jobs:
Alternative AI tools for aiohomematic
Similar Open Source Tools
aiohomematic
AIO Homematic (hahomematic) is a lightweight Python 3 library for controlling and monitoring HomeMatic and HomematicIP devices, with support for third-party devices/gateways. It automatically creates entities for device parameters, offers custom entity classes for complex behavior, and includes features like caching paramsets for faster restarts. Designed to integrate with Home Assistant, it requires specific firmware versions for HomematicIP devices. The public API is defined in modules like central, client, model, exceptions, and const, with example usage provided. Useful links include changelog, data point definitions, troubleshooting, and developer resources for architecture, data flow, model extension, and Home Assistant lifecycle.
giztoy
Giztoy is a multi-language framework designed for building AI toys and intelligent applications. It provides a unified abstraction layer that spans from resource-constrained embedded systems to powerful cloud services. With features like native support for ESP32 and other MCUs, cross-platform app development, a unified build system with Bazel, an agent framework for AI agents, audio processing capabilities, support for various Large Language Models, real-time models with WebSocket streaming, secure transport protocols, and multi-language implementations in Go, Rust, Zig, and C/C++, Giztoy serves as a versatile tool for developing AI-powered applications across different platforms and devices.
huf
HUF is an AI-native engine designed to centralize intelligence and execution into a single engine, enabling AI to operate inside real business systems. It offers multi-provider AI connectivity, intelligent tools, knowledge grounding, event-driven execution, visual workflow builder, full auditability, and cost control. HUF can be used as AI infrastructure for products, internal intelligence platform, automation & orchestration engine, embedded AI layer for SaaS, and enterprise AI control plane. Core capabilities include agent system, knowledge management, trigger system, visual flow builder, and observability. The tech stack includes Frappe Framework, Python 3.10+, LiteLLM, SQLite FTS5, React 18, TypeScript, Tailwind CSS, and MariaDB.
osmedeus
Osmedeus is a security-focused declarative orchestration engine that simplifies complex workflow automation into auditable YAML definitions. It provides powerful automation capabilities without compromising infrastructure integrity and safety. With features like declarative YAML workflows, multiple runners, event-driven triggers, template engine, utility functions, REST API server, distributed execution, notifications, cloud storage, AI integration, SAST integration, language detection, and preset installations, Osmedeus offers a comprehensive solution for security automation tasks.
kweaver
KWeaver is an open-source ecosystem for building, deploying, and running decision intelligence AI applications. It adopts ontology as the core methodology for business knowledge networks, with DIP as the core platform, aiming to provide elastic, agile, and reliable enterprise-grade decision intelligence to further unleash productivity. The DIP platform includes key subsystems such as ADP, Decision Agent, DIP Studio, and AI Store.
jat
JAT is a complete, self-contained environment for agentic development, offering task management, agent orchestration, code editor, git integration, and terminal access all in a single IDE. It allows users to connect various external sources like RSS, Slack, Telegram, and Gmail to create tasks and spawn agents automatically. JAT supports hands-on supervision of agents or autonomous operation. The tool provides features such as multi-agent management, task management, smart question UI, epic swarm for parallel agent spawning, autonomous triggers, task scheduling, error recovery, and a skill marketplace. JAT is designed to be a control tower for managing a swarm of agents, whether actively supervised or running autonomously.
QodeAssist
QodeAssist is an AI-powered coding assistant plugin for Qt Creator, offering intelligent code completion and suggestions for C++ and QML. It leverages large language models like Ollama to enhance coding productivity with context-aware AI assistance directly in the Qt development environment. The plugin supports multiple LLM providers, extensive model-specific templates, and easy configuration for enhanced coding experience.
Agentic-ADK
Agentic ADK is an Agent application development framework launched by Alibaba International AI Business, based on Google-ADK and Ali-LangEngine. It is used for developing, constructing, evaluating, and deploying powerful, flexible, and controllable complex AI Agents. ADK aims to make Agent development simpler and more user-friendly, enabling developers to more easily build, deploy, and orchestrate various Agent applications ranging from simple tasks to complex collaborations.
OpenFlux
OpenFlux is an open-source AI Agent desktop client that offers multi-LLM support, long-term memory capabilities, browser automation, and tool orchestration. It features multi-agent routing, support for various LLM models, long-term memory with conversation distillation, browser automation using Playwright, a MCP tool ecosystem, voice interaction, sandbox isolation for safe code execution, desktop control, and remote access. The tool is built on Tauri v2 with a Rust backend and TypeScript frontend, providing high performance and a small footprint. It serves as the desktop entry point in the Enterprise AI Assistant ecosystem, working alongside NexusAI to create a complete AI workflow system.
vibium
Vibium is a browser automation infrastructure designed for AI agents, providing a single binary that manages browser lifecycle, WebDriver BiDi protocol, and an MCP server. It offers zero configuration, AI-native capabilities, and is lightweight with no runtime dependencies. It is suitable for AI agents, test automation, and any tasks requiring browser interaction.
Zen-Ai-Pentest
Zen-AI-Pentest is a professional AI-powered penetration testing framework designed for security professionals, bug bounty hunters, and enterprise security teams. It combines cutting-edge language models with 20+ integrated security tools, offering comprehensive security assessments. The framework is security-first with multiple safety controls, extensible with a plugin system, cloud-native for deployment on AWS, Azure, or GCP, and production-ready with CI/CD, monitoring, and support. It features autonomous AI agents, risk analysis, exploit validation, benchmarking, CI/CD integration, AI persona system, subdomain scanning, and multi-cloud & virtualization support.
open-computer-use
Open Computer Use is an open-source platform that enables AI agents to control computers through browser automation, terminal access, and desktop interaction. It is designed for developers to create autonomous AI workflows. The platform allows agents to browse the web, run terminal commands, control desktop applications, orchestrate multi-agents, stream execution, and is 100% open-source and self-hostable. It provides capabilities similar to Anthropic's Claude Computer Use but is fully open-source and extensible.
memsearch
Memsearch is a tool that allows users to give their AI agents persistent memory in a few lines of code. It enables users to write memories as markdown and search them semantically. Inspired by OpenClaw's markdown-first memory architecture, Memsearch is pluggable into any agent framework. The tool offers features like smart deduplication, live sync, and a ready-made Claude Code plugin for building agent memory.
pasal
Pasal.id is the first open, AI-native platform for Indonesian law, providing access to real Indonesian legal data through a REST API and a web app. It offers full-text legal search, structured reading, grounded AI tools, public JSON endpoints, crowd-sourced corrections, amendment tracking, and a bilingual UI. The platform is powered by Opus 4.6, ensuring accuracy through a self-improving correction flywheel. Key features include a grounded legal access server, multimodal verification agent, self-improving feedback loop, human-in-the-loop safety, and Claude Code as a development tool. The technical depth includes SQL migrations, search optimization, append-only revision audit trail, transaction-safe mutations, row-level security, input sanitization, ISR with on-demand revalidation, atomic job claiming, and coverage of 11 regulation types from 1945 to 2026.
forge-orchestrator
Forge Orchestrator is a Rust CLI tool designed to coordinate and manage multiple AI tools seamlessly. It acts as a senior tech lead, preventing conflicts, capturing knowledge, and ensuring work aligns with specifications. With features like file locking, knowledge capture, and unified state management, Forge enhances collaboration and efficiency among AI tools. The tool offers a pluggable brain for intelligent decision-making and includes a Model Context Protocol server for real-time integration with AI tools. Forge is not a replacement for AI tools but a facilitator for making them work together effectively.
clawd-cursor
Clawd Cursor is an AI Desktop Agent that operates on a Smart 3-Layer Pipeline. It can work with any AI provider, run with local models for free, and acts as a self-healing doctor. The tool offers features like Install/Uninstall commands, Auto OpenClaw registration, Dashboard favorites, Credential detection, and Doctor UX. It integrates with OpenClaw to allow desktop control through natural language. Users can interact with Clawd Cursor through a Web Dashboard, browser foreground focus, and smart task handoff. The tool's 5-layer pipeline ensures efficient task execution, with different layers handling various aspects of the tasks. Clawd Cursor also provides self-healing capabilities to adapt at runtime in case of model failures or API rate limitations.
For similar tasks
aiohomematic
AIO Homematic (hahomematic) is a lightweight Python 3 library for controlling and monitoring HomeMatic and HomematicIP devices, with support for third-party devices/gateways. It automatically creates entities for device parameters, offers custom entity classes for complex behavior, and includes features like caching paramsets for faster restarts. Designed to integrate with Home Assistant, it requires specific firmware versions for HomematicIP devices. The public API is defined in modules like central, client, model, exceptions, and const, with example usage provided. Useful links include changelog, data point definitions, troubleshooting, and developer resources for architecture, data flow, model extension, and Home Assistant lifecycle.
aioesphomeapi
aioesphomeapi allows you to interact with devices flashed with ESPHome. ESPHome is an open-source firmware that allows you to control your devices over Wi-Fi or Ethernet. With aioesphomeapi, you can connect to your ESPHome devices, retrieve their status, and control them from your Python code.
Fay
Fay is an open-source digital human framework that offers different versions for various purposes. The '带货完整版' is suitable for online and offline salespersons. The '助理完整版' serves as a human-machine interactive digital assistant that can also control devices upon command. The 'agent版' is designed to be an autonomous agent capable of making decisions and contacting its owner. The framework provides updates and improvements across its different versions, including features like emotion analysis integration, model optimizations, and compatibility enhancements. Users can access detailed documentation for each version through the provided links.
aiohomekit
aiohomekit is a Python library that implements the HomeKit protocol for controlling HomeKit accessories using asyncio. It is primarily used with Home Assistant, targeting the same versions of Python and following their code standards. The library is still under development and does not offer API guarantees yet. It aims to match the behavior of real HAP controllers, even when not strictly specified, and works around issues like JSON formatting, boolean encoding, header sensitivity, and TCP packet splitting. aiohomekit is primarily tested with Phillips Hue and Eve Extend bridges via Home Assistant, but is known to work with many more devices. It does not support BLE accessories and is intended for client-side use only.
OmniSteward
OmniSteward is an AI-powered steward system based on large language models that can interact with users through voice or text to help control smart home devices and computer programs. It supports multi-turn dialogue, tool calling for complex tasks, multiple LLM models, voice recognition, smart home control, computer program management, online information retrieval, command line operations, and file management. The system is highly extensible, allowing users to customize and share their own tools.
Jarvis
Jarvis is a powerful virtual AI assistant designed to simplify daily tasks through voice command integration. It features automation, device management, and personalized interactions, transforming technology engagement. Built using Python and AI models, it serves personal and administrative needs efficiently, making processes seamless and productive.
TuyaOpen
TuyaOpen is an open source AI+IoT development framework supporting cross-chip platforms and operating systems. It provides core functionalities for AI+IoT development, including pairing, activation, control, and upgrading. The SDK offers robust security and compliance capabilities, meeting data compliance requirements globally. TuyaOpen enables the development of AI+IoT products that can leverage the Tuya APP ecosystem and cloud services. It continues to expand with more cloud platform integration features and capabilities like voice, video, and facial recognition.
vision-agent
AskUI Vision Agent is a powerful automation framework that enables you and AI agents to control your desktop, mobile, and HMI devices and automate tasks. It supports multiple AI models, multi-platform compatibility, and enterprise-ready features. The tool provides support for Windows, Linux, MacOS, Android, and iOS device automation, single-step UI automation commands, in-background automation on Windows machines, flexible model use, and secure deployment of agents in enterprise environments.
For similar jobs
addon-airsonos
AirSonos is a Home Assistant Community Add-on that provides AirPlay capabilities for Sonos (and UPnP) players. It bridges the compatibility gap between Apple devices using AirPlay and Sonos players by creating virtual AirPlay devices for Sonos players in the network. The add-on may also work for other UPnP players like newer Samsung televisions. It is based on the AirConnect project, offering a solution for streaming audio to Sonos devices.
aiohomekit
aiohomekit is a Python library that implements the HomeKit protocol for controlling HomeKit accessories using asyncio. It is primarily used with Home Assistant, targeting the same versions of Python and following their code standards. The library is still under development and does not offer API guarantees yet. It aims to match the behavior of real HAP controllers, even when not strictly specified, and works around issues like JSON formatting, boolean encoding, header sensitivity, and TCP packet splitting. aiohomekit is primarily tested with Phillips Hue and Eve Extend bridges via Home Assistant, but is known to work with many more devices. It does not support BLE accessories and is intended for client-side use only.
frigate-hass-integration
Frigate Home Assistant Integration provides a rich media browser with thumbnails and navigation, sensor entities for camera FPS, detection FPS, process FPS, skipped FPS, and objects detected, binary sensor entities for object motion, camera entities for live view and object detected snapshot, switch entities for clips, detection, snapshots, and improve contrast, and support for multiple Frigate instances. It offers easy installation via HACS and manual installation options for advanced users. Users need to configure the `mqtt` integration for Frigate to work. Additionally, media browsing and a companion Lovelace card are available for enhanced user experience. Refer to the main Frigate documentation for detailed installation instructions and usage guidance.
xiaomi_airpurifier
This repository contains a custom component for Home Assistant that integrates various Xiaomi Mi Air Purifier and Xiaomi Mi Air Humidifier models. It provides detailed support for different devices, including power control, preset modes, child lock, LED control, favorite level adjustment, and various attributes monitoring. The custom component offers a more extensive range of supported devices compared to the official Home Assistant component, with additional features and device compatibility. Users can easily set up and configure their Xiaomi air purifiers and humidifiers within Home Assistant for enhanced control and monitoring.
homeassistant-midea-air-appliances-lan
This custom component for Home Assistant adds support for controlling Midea air conditioner and dehumidifier appliances via the local area network. It provides integration for various Midea appliances, allowing users to control settings such as humidity levels, fan speed, and more through Home Assistant. The component supports multiple protocols and entities for different appliance models, offering a comprehensive solution for managing Midea appliances on the local network.
aioshelly
Aioshelly is an asynchronous library designed to control Shelly devices. It is currently under development and requires Python version 3.11 or higher, along with dependencies like bluetooth-data-tools, aiohttp, and orjson. The library provides examples for interacting with Gen1 devices using CoAP protocol and Gen2/Gen3 devices using RPC and WebSocket protocols. Users can easily connect to Shelly devices, retrieve status information, and perform various actions through the provided APIs. The repository also includes example scripts for quick testing and usage guidelines for contributors to maintain consistency with the Shelly API.
xiaozhi-esphome
This GitHub project provides a simple way to use Xiaozhi-based devices with ESPHome, allowing them to serve as voice assistants integrated with Home Assistant. Users can follow a step-by-step installation guide to connect their devices, edit configurations, and set up the voice assistant. The project supports various devices such as Spotpear Ball, Muma Box, Puck, Guition Taichi pi, Xingzhi Cube, and more. Additionally, it offers links to purchase supported devices and accessories, including 3D files for holders and wireless chargers.
aiohomematic
AIO Homematic (hahomematic) is a lightweight Python 3 library for controlling and monitoring HomeMatic and HomematicIP devices, with support for third-party devices/gateways. It automatically creates entities for device parameters, offers custom entity classes for complex behavior, and includes features like caching paramsets for faster restarts. Designed to integrate with Home Assistant, it requires specific firmware versions for HomematicIP devices. The public API is defined in modules like central, client, model, exceptions, and const, with example usage provided. Useful links include changelog, data point definitions, troubleshooting, and developer resources for architecture, data flow, model extension, and Home Assistant lifecycle.