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.6.tar.gz (30.4 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.6-py3-none-any.whl (36.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: homecom_alt-1.6.6.tar.gz
  • Upload date:
  • Size: 30.4 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.6.tar.gz
Algorithm Hash digest
SHA256 b03ce839e12dc83898cd565817abe7f2d5daca7db4925866b1464cb1e8378358
MD5 733fb2c4c0c862b45983b7c2e5f19a61
BLAKE2b-256 79ccbe285e8503ebcf65379912e3650de1b50ff359dafeb2a6a06fcce737dae3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: homecom_alt-1.6.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8676065e7775e828523a877f4523e29dfcc2ae72e2fa46a26500863aa56d19d2
MD5 25fe5a4bdb49d6f1cd7265a269560300
BLAKE2b-256 d332911b9255f12f1b71b85170f4888f448ed18ba05c0b4959ecf1af2d118d3f

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