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.4.tar.gz (29.7 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.4-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: homecom_alt-1.6.4.tar.gz
  • Upload date:
  • Size: 29.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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.4.tar.gz
Algorithm Hash digest
SHA256 f1fdd749d2a7f1f88a89fb354fa20c36edc0acc29b33ccbc8e832a2fbd97062c
MD5 8ea04127715080615a7ca6b87e38a535
BLAKE2b-256 71a31af22ded9df799f364a8505bdea5ac5fcc10d540af78a844102f95f6dcea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: homecom_alt-1.6.4-py3-none-any.whl
  • Upload date:
  • Size: 35.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9da0ccbd3ae587758805b7de86025c190c3d93f7db3c63320f94ed5dc03a1ede
MD5 ecd0c6c49f249c536784d2e913f740f1
BLAKE2b-256 23bc2a75f3084966540254b402f6d4ce0321c69d360dd5580ea181ad8fe31aa7

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