Skip to main content

Python wrapper for controlling devices managed by HomeCom Easy APP.

Project description

homecom-alt

PyPI version Python License: MIT

Async Python wrapper for controlling Bosch Thermotechnology devices managed by the HomeCom Easy app. Communicates with the pointt-api.bosch-thermotechnology.com REST API using OAuth2 (SingleKey ID) authentication.

Installation

pip install homecom_alt

Device support

Device type Class Data model
rac HomeComRac BHCDeviceRac
k40 / k30 HomeComK40 BHCDeviceK40
icom HomeComIcom BHCDeviceIcom
rrc2 HomeComRrc2 BHCDeviceRrc2
wddw2 HomeComWddw2 BHCDeviceWddw2
commodule HomeComCommodule BHCDeviceCommodule
generic HomeComGeneric BHCDeviceGeneric

Authentication

ConnectionOptions supports two auth flows:

  • OAuth2 code flow (recommended): provide username and code obtained from the SingleKey ID authorization endpoint, and set auth_provider=True when calling HomeComAlt.create().
  • Token reuse: provide an existing token and optionally refresh_token to skip the login step.

The brand field defaults to "bosch" — use "buderus" for Buderus-branded devices.

Usage

See example.py for a full working example.

Error handling

Exception Raised when
AuthFailedError OAuth2 authentication fails
ApiError API returns an error response
NotRespondingError Device does not respond (retried up to 5 times with exponential backoff)
InvalidSensorDataError Sensor data cannot be parsed

All exceptions inherit from BhcError.

Development

uv is required. Install it once, then:

git clone https://github.com/serbanb11/homecom_alt.git
cd homecom_alt
uv sync --group dev
uv run pre-commit install

Run the checks:

uv run pytest --timeout=30 --cov=homecom_alt tests/   # tests
uv run ruff check . && uv run ruff format --check .   # lint
uv run mypy homecom_alt                               # types

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

homecom_alt-1.6.7.tar.gz (30.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

homecom_alt-1.6.7-py3-none-any.whl (36.0 kB view details)

Uploaded Python 3

File details

Details for the file homecom_alt-1.6.7.tar.gz.

File metadata

  • Download URL: homecom_alt-1.6.7.tar.gz
  • Upload date:
  • Size: 30.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for homecom_alt-1.6.7.tar.gz
Algorithm Hash digest
SHA256 24d2ac2b8f14be01f6e0ecd53159dbcbfe8bef9ef7516af5e6c629f96985fcf4
MD5 56f19f23a817b6733c26cb0d35ec4fb2
BLAKE2b-256 92d09b48b3808c5e01d4fe994f56674b2f399630a2f9bd7397733e25e378d23c

See more details on using hashes here.

File details

Details for the file homecom_alt-1.6.7-py3-none-any.whl.

File metadata

  • Download URL: homecom_alt-1.6.7-py3-none-any.whl
  • Upload date:
  • Size: 36.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for homecom_alt-1.6.7-py3-none-any.whl
Algorithm Hash digest
SHA256 449747c96387f4125ec863ea6e8a6b9fe0844de303f4752d323db9bd7f7e67a3
MD5 7e15cf56c5c22b6cab24276e1cb7d042
BLAKE2b-256 03813ee881cef259e4ce261a1f125f9b6b3124a5ab17a34f949390bde19174f8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page