Packages
Represents and manipulates IPv4, IPv6, MAC addresses and related network objects; supports CIDR notation, subnetting, set operations, IANA lookups, and DNS reverse generation.
Home Assistant is an open-source home automation platform that centralizes control of smart home devices and automations on a local server or Raspberry Pi, prioritizing local control and privacy over cloud dependency.
Defines finite state machines and statecharts with a declarative Python API, supporting flat states, compound hierarchies, parallel regions, history states, guards, and both sync and async callbacks.
Install it if you need to model workflows, control logic, or any system with discrete states and event-driven transitions — from simple state machines to complex…
A Python library for controlling BlueZ Bluetooth adapters on Linux via the Management API, supporting both synchronous and event-driven command patterns.
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.
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…
Provides base classes and utilities for Home Assistant integrations to proxy HTTP and WebSocket traffic through Home Assistant's web server.
Install only if you are building a custom Home Assistant integration; it is not useful as a standalone package.
Extracts and distributes Homematic CCU configuration metadata (translations, easymodes, link profiles) from OCCU, OpenCCU, or RaspberryMatic sources via local filesystem or HTTP/HTTPS.
ESPHome configures and controls microcontrollers through YAML configuration files, compiling them into firmware and managing them remotely via Home Automation integrations.
Install it if you need to configure devices or integrate microcontrollers into a home automation system; the 29 dependencies are substantial but necessary for the…
Provides a Model Context Protocol (MCP) server that connects AI assistants to Home Assistant, enabling natural-language control of smart home devices, state queries, service execution, and automation management.
Python library and CLI tool for controlling Xiaomi smart devices using the miIO and MIoT protocols over the network.
Provides generated Pydantic models and string enums for the openccu-loom daemon's REST and WebSocket contract, enabling type-safe client integration.
Async Python REST and WebSocket client for the openccu-loom daemon, providing typed access to CCU devices, data points, and system operations through an alternative backend for Home Assistant integration.
Transforms Homematic device paramset descriptions into UI-ready form schemas using Pydantic models, without requiring RPC or CCU access.
Provides a prebuilt web frontend for the ESPHome Device Builder Dashboard, a dashboard for managing, configuring, and deploying ESPHome IoT device firmware.
However, this is a frontend-only distribution—it is not useful on its own and requires the backend service to be running.
SoCo is a Python library for programmatic control of Sonos speakers over a network, supporting playback, volume, queue management, and speaker grouping.
Provides a WebSocket-based Matter controller server that implements the Matter protocol, enabling Matter device discovery, communication, and control for home automation systems.
However, install it only if you need a Matter controller now and can accept that new features will not be added—the project is in maintenance mode.
An asyncio Python library for controlling Apple TV and AirPlay devices, supporting remote commands, metadata retrieval, audio streaming, app management, and account switching across tvOS 15+ and compatible receivers.
Minimalmodbus provides a Python interface to communicate with Modbus RTU and Modbus ASCII devices over serial connections, handling protocol details and offering convenience functions for floats, strings, and multi-byte integers.
Install only if your use case is serial Modbus; verify this package does not support Modbus TCP before committing if that is required.
An MCP server that lets AI assistants control Home Assistant smart homes through natural language, querying device states, executing services, and managing automations.
ESPHome Device Builder is a web dashboard for composing device configurations, managing automations, and deploying firmware updates through a guided interface instead of hand-editing YAML.
Install it if you want a guided web interface for device configuration instead of hand-editing YAML, or if you are already running ESPHome and want to try the new…
Provides a Python interface to read and write data from Huawei SUN2000 inverters and LUNA2000 batteries over Modbus-TCP or Modbus-RTU, with support for batched register reads, unit conversion, and installer-level access.
An asyncio-based HomeKit client library for controlling HomeKit accessories over IP networks, implementing the HAP protocol with event support.
PyEmVue reads energy usage data from Emporia Vue home energy monitors and provides programmatic control over outlets and EV chargers through the Vue API.
However, maintenance is aging—activity is sparse—so verify that the authentication flow and API compatibility remain current before relying on it in production.
XKNX is an asynchronous Python library for communicating with KNX home automation systems over KNX/IP networks, enabling control of lights, switches, and other KNX devices.
Install it if you need to control or monitor KNX devices from Python code or if you are extending Home Assistant's KNX support.
Provides PEP 484 type stubs for Home Assistant Core, enabling static type checking of Home Assistant custom components and AppDaemon apps against strictly typed core and component modules.
Asynchronous Python library for communicating with UniFi Network Controller API over the network.
A Python library for discovering and controlling Midea brand air conditioners and associated devices over the local network using async/await, with support for both CLI and programmatic interfaces.
Async Python library for communicating with Sonos devices over WebSocket connections, enabling remote control and audio playback features like audio clips and volume management.
RPi.GPIO provides Python control over Raspberry Pi GPIO pins, supporting digital input/output, edge detection, and software PWM on all channels.
No, not for new projects.
A Python library for controlling and monitoring Blink camera systems via their API, supporting authentication, camera image/video retrieval, motion detection, and sync module arming.
Install it if you need programmatic control of Blink systems or are building a home automation integration.
An asynchronous Python library for controlling Denon and Marantz HEOS devices over the local network via the HEOS CLI Protocol, supporting device discovery, playback control, and event notifications.
Install it if you own compatible Denon or Marantz equipment and need programmatic control; skip it if you have no HEOS devices or prefer a different audio ecosystem.
A Python client library for controlling Ecovacs Deebot robotic vacuums via their cloud API and MQTT protocol, enabling remote commands and event subscriptions.
Python client library for communicating with zwave-js-server over WebSocket, providing Driver, Controller, and Node classes that mirror the Z-Wave JS event and state structure.
Install it if you need to communicate with a zwave-js-server instance from Python; it is the standard client for that purpose.
HAP-python implements the HomeKit Accessory Protocol, letting you create smart home accessories that integrate with Apple's Home app and respond to Siri commands over a local network.
Async Python client for Reolink IP NVR and camera devices, supporting device control, state queries, and real-time event subscription via ONVIF webhooks.
Provides async control and monitoring of Denon AVR receivers over HTTP and telnet, enabling power, input, volume, and sound adjustments with real-time event callbacks.
Install it if you own a Denon AVR and need programmatic control from Python, especially in an async context.
Parses map data generated by Roborock vacuum cleaners, converting raw binary map files into structured data that can be rendered as images with configurable visual elements.
Provides a Python interface to the Fully Kiosk Browser REST API, allowing programmatic control and monitoring of Fully Kiosk Browser instances running on Android devices.
Async Python library to discover and control Switchbot IoT devices over Bluetooth Low Energy.
Exposes Ring.com doorbell, camera, and chime devices as Python objects, with async/sync APIs and a CLI for device control, video retrieval, and event monitoring.