Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Async I/O modbus API for Remeha appliances

Remeha logo

GitHub License ci badge

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>=1.0.0beta10

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

Caching

To retrieve fetch data from modbus, call await RemehaApi.async_update() explicitly. After that, the values are retained until the next update call.

The discovery table in RemehaApi.discovery_table is read only 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.

RemehaApi

To create a new API instance, provide the ModbusUnit instance to the RemehaApi constructor.

Appliance

The connected Remeha appliance can be retrieved using RemehaApi.appliance.

ClimateZone

Zones, as they are configured in the Remeha appliance are exposed as ClimateZone instances and can be retrieved using RemehaApi.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 api.schedule.ZoneSchedule.

Metadata

Release files for aio-remeha-modbus 1.0.0b10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aio-remeha-modbus 1.0.0b10
File Size Uploaded
aio_remeha_modbus-1.0.0b10.tar.gz 44.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aio-remeha-modbus 1.0.0b10
File Interpreter ABI Platform
aio_remeha_modbus-1.0.0b10-py3-none-any.whl Python 3 none any Details

Total release size: 93.7 kB

Release files / aio_remeha_modbus-1.0.0b10.tar.gz

Download URL aio_remeha_modbus-1.0.0b10.tar.gz
Size 44.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8f9f4070cbb34c5652ee153eea5675ac7ab582d97ccfeeb98a86919727901bdb
BLAKE2b-256 checksum
How to use checksums
35aff62d30f7f90d2a6fed055e8a5e9c243a9a37a56b84c128208c533eb1034f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","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-1.0.0b10-py3-none-any.whl

Download URL aio_remeha_modbus-1.0.0b10-py3-none-any.whl
Size 49.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
64b83ec8b10f8d0ffb1823ca5cbd9a1f4f7651703983b938fc27905bdbfd01b8
BLAKE2b-256 checksum
How to use checksums
252b68a9397fc7ca74d53f16792dea66ec2fae89a0e5365bf01386a0c690ea14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","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}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page