skillfed

homeconnect-websocket

Home Connect Websocket API

homeconnect-websocket v1.5.3 76.2K downloads/30d#14,651 on PyPI4
License unclear Active released

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

Control HomeConnect appliances over a local WebSocket connection using encryption keys and device descriptions obtained from the Home Connect cloud.

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

pip

pip install homeconnect-websocket

uv

uv add homeconnect-websocket

poetry

poetry add homeconnect-websocket

Installing homeconnect-websocket

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.

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")

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.

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 — aiohttp, xmltodict, pycryptodome
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)

Evidence: homeconnect_websocket-1.5.3-py3-none-any.whl

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

Tags

homeconnect appliance controllocal websocket appliance apihome automation homeconnectappliance encryption psk aeshomeconnect device integrationlocal home connect protocolwebsocket appliance communication
home-automationiot-controllocal-first

More Internet packages