Async I/O modbus API for Remeha appliances
aio-remeha-modbus is an async python API for Remeha appliances.
Installation
Add this library to your project from PyPI using
$ uv add aio-remeha-modbus>=4.0.0
or build it locally by checking out the source of this project and
$ uv build
...
$ uv pip install dist/*.whl
Exposed API
The API is documented at readthedocs. A short textual description of the most important classes and their hierarchy is shown below.
cli tool
This library also includes a cli tool to query your Remeha appliance. After installing this library, you can use remeha-query or if you prefer, you can run it from the cli yourself using python src/query.py.
Examples
Query the 2nd zone of an appliance that uses an RTU over TCP connection at 192.168.1.2 and port 8899:
$ remeha-query --transport serial socket://192.168.1.2:8899 --zone 2
Query all components
$ remeha-query --transport serial socket://192.168.1.2:8899 --all
GTW-08 detection
To detect if a GTW-08 is behind a ModbusUnit, call await GTW08.async_detect().
Caching
To retrieve fetch data from modbus, call await GTW08.async_update() explicitly. After that, the values are retained until the next update call.
The discovery table in GTW08.discovery_table is only read at the first call to async_update(). To re-read the discovery table, restart the process running this API.
Error handling
All errors raised by this library are intended to be translated.
To facilitate that, the base error class contains a translation_key field to look up the translation
and a translation_placeholders field. This is a dict to be used when extrapolating the error message.
Configuration
aio-remeha-modbus uses modbus-connection to talk
to your appliances, and is agnostic to the way a connection is obtained.
To create a new api instance, you need to obtain a ModbusUnit first. See the modbus-connection docs
on how to do that.
GTW-08 device
To create a new API instance, provide the ModbusUnit instance to the GTW08 constructor.
Appliance
The connected Remeha appliance can be retrieved using GTW08.appliance.
ClimateZone
Zones, as they are configured in the Remeha appliance are exposed as ClimateZone instances
and can be retrieved using GTW08.zones.
Zone schedules
When a ClimateZone is read from the appliance and its mode is ClimateZoneMode.SCHEDULING,
the schedules for each Weekday are available through ClimateZone.current_schedule as
instances of gtw08.time_program.TimeProgram.
Metadata
Release files for aio-remeha-modbus 4.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aio_remeha_modbus-4.0.0.tar.gz | 40.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aio_remeha_modbus-4.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 87.7 kB
Release files / aio_remeha_modbus-4.0.0.tar.gz
| Download URL | aio_remeha_modbus-4.0.0.tar.gz |
|---|---|
| Size | 40.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bfdaee230e325282d05a2291938c60d1a9f5268d4beb98bc0f0f841a66e4b51e
|
|
BLAKE2b-256 checksum How to use checksums |
0342f0fcb105dc4301f634bc732c6256edba3e26827ea94471a6c0bad31a5cd7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.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}
|
Release files / aio_remeha_modbus-4.0.0-py3-none-any.whl
| Download URL | aio_remeha_modbus-4.0.0-py3-none-any.whl |
|---|---|
| Size | 46.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ab82ca901dc8eda4a6d6f24725a6c4c12e8d5a470fa3213b528955d1e8b4c932
|
|
BLAKE2b-256 checksum How to use checksums |
1f22e4e32803c6560087c7acc02b7d4131802b9efc07707495c82bde4321e6c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.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}
|