homeconnect-websocket
Home Connect Websocket API
Decision gist · record as of 2026-08-14
Yes, if you own HomeConnect appliances and want local control without cloud dependency. The low install friction and active maintenance are positive signals. However, the unclear license status requires verification before production use, and the limited adoption (4 stars, 146 days since release) means you should test thoroughly in your environment and be prepared for potential edge cases or missing features for your specific appliance models.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.13 or later.
- You must obtain encryption keys and device descriptions from a HomeConnect appliance via the Home Connect Profile Downloader tool before connecting.
- Low install friction with three straightforward runtime dependencies.
License · maintenance · safety
(unclear) — License status is unclear—no SPDX identifier or raw license text is available. Verify the actual license before using in production or distributing.
last release 2026-03-21 (146 days) · last repo commit 2026-04-04 · 4 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 76,179 downloads/mo, #14,651 on PyPI
Alternatives
Verify before relying
# Install
pip install homeconnect-websocket
# Parse device description
from homeconnect_websocket import parse_device_description
description = parse_device_description(device_xml, feature_xml)
# Connect and control
from homeconnect_websocket import HomeAppliance
import asyncio
async def control():
appliance = HomeAppliance(description, "192.168.1.2", "App", "app_id", psk64="key")
await appliance.connect()
await appliance.settings["BSH.Common.Setting.PowerState"].set_value("On")- Real-world stability and error handling in production environments given the low star count and limited adoption signal.
- Whether the package handles connection failures, reconnection, or state synchronization robustly.
- Support for all HomeConnect appliance models and encryption schemes (PSK vs. AES).
What it is and what it does
homeconnect-websocket is a Python library for controlling HomeConnect-enabled appliances (like ovens, dishwashers, or refrigerators) over a local WebSocket connection rather than through the cloud. It handles the encryption and decryption of commands and responses using either TLS PSK or AES encryption, depending on the appliance model. The library requires you to first download encryption keys and device descriptions from the Home Connect cloud using a separate tool, then parse those descriptions into a format the library can use.
The package is built on aiohttp for async WebSocket communication, xmltodict for parsing device descriptions, and pycryptodome for cryptographic operations. It exposes a simple async API: create a HomeAppliance object with your device description and credentials, call connect(), then read and write appliance settings by name. It is actively maintained but has seen limited adoption (4 repository stars), so production use should be approached cautiously.
Use it for
- Build a local home automation system that controls HomeConnect appliances without relying on cloud connectivity.
- Parse and cache HomeConnect device descriptions and feature mappings for offline appliance control.
- Set appliance states (power, temperature, cycle modes) programmatically via async Python code.
- Monitor and control multiple HomeConnect appliances from a single application using their local IP addresses.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you own HomeConnect appliances and want local control without cloud dependency.
The low install friction and active maintenance are positive signals. However, the unclear license status requires verification before production use, and the limited adoption (4 stars, 146 days since release) means you should test thoroughly in your environment and be prepared for potential edge cases or missing features for your specific appliance models.
Install
homeconnect-websocket on PyPI
Before you install
Low install friction with three straightforward runtime dependencies. Active maintenance with recent commits; however, the repository has only 4 stars, suggesting limited real-world adoption and testing.
Requires Python 3.13 or later. You must obtain encryption keys and device descriptions from a HomeConnect appliance via the Home Connect Profile Downloader tool before connecting.
License in practice
License status is unclear—no SPDX identifier or raw license text is available. Verify the actual license before using in production or distributing.
Quickstart
# Install
pip install homeconnect-websocket
# Parse device description
from homeconnect_websocket import parse_device_description
description = parse_device_description(device_xml, feature_xml)
# Connect and control
from homeconnect_websocket import HomeAppliance
import asyncio
async def control():
appliance = HomeAppliance(description, "192.168.1.2", "App", "app_id", psk64="key")
await appliance.connect()
await appliance.settings["BSH.Common.Setting.PowerState"].set_value("On")
Verify before relying
- Real-world stability and error handling in production environments given the low star count and limited adoption signal.
- Whether the package handles connection failures, reconnection, or state synchronization robustly.
- Support for all HomeConnect appliance models and encryption schemes (PSK vs. AES).
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.13 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesaiohttpxmltodictpycryptodome |
| Maintenance | Actively maintained 146 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 76,179 / month, #14,651 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Operating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.13 |
Evidence: homeconnect_websocket-1.5.3-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “homeconnect appliance control”
- homeconnect-websocketControl HomeConnect appliances over a local WebSocket connection…
- home-connect-asyncAn async Python SDK that connects to the BSH Home Connect API to…
- gehomesdkSDK for controlling and monitoring GE WiFi-enabled (SmartHQ)…
Give your agent the search over MCP, or paste the wish link into any chat.
More Internet packages
Botocore provides low-level, data-driven access to Amazon Web Services APIs, serving as the foundation for the AWS CLI and boto3 libraries.
Install it if you need programmatic access to AWS services.
Provides an async client for AWS services using botocore and aiohttp, allowing you to call AWS APIs asynchronously within asyncio-based applications.
Install it if you need to call AWS services from async Python code; it is the standard way to do so.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides a platform-independent file locking mechanism to coordinate access to files across processes and threads.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides common Protocol Buffer message definitions used across Google Cloud APIs, enabling Python clients to interact with Google services.
See also gehomesdk · home-connect-async · whirlpool-sixth-sense · midea-local · fjaraskupan · python-pkcs11 · oscrypto · pydaikin · sslpsk-pmd3 · pybravia