Consistent, type-safe and range-aware datapoint definitions
This maintenance release completes and unifies the value-range metadata used by
the expanded TROVIS 557x datapoint model.
The datapoint catalog introduced with 1.1.0 already covered the large majority
of the required controller values. Version 1.1.1 makes this coverage
consistently usable by applications such as the Home Assistant integration by
providing complete and type-safe limits for writable values.
Changes
- Unified value-range metadata across numeric and temporal datapoints.
- Numeric, date, time, and
MonthDayvalues now consistently use
min_valueandmax_valuein their native Python type. - Removed the special
min_year/max_yearmetadata fields. - Added
raw_minandraw_maxmetadata to distinguish Modbus transfer ranges
from application-facing value ranges. - Completed missing minimum, maximum, step, precision, and unit metadata for
writable controller, heating-circuit, and domestic-hot-water values. - Completed the ranges required to expose the affected datapoints safely as
Home Assistantnumberentities. - Added explicit temporal limits for controller time, controller date, yearless
dates, and thermal-disinfection times. - Preserved the hardware-verified HR40118 exception:
- scale:
0.1 - application range:
1..6 K/h - raw register range:
10..60
- scale:
- Expanded metadata consistency and temporal-value tests.
- Reordered datapoint definition blocks for improved readability.
- Improved the explanation of TROVIS manufacturer references and zero-based
Modbus addresses. - Cleaned up and standardized import ordering.
- Configured Ruff to keep aliased imports grouped for better readability.
Datapoint coverage
- 121 / 121 legacy direct datapoints are functionally modeled.
- 108 additional datapoints beyond the previous Standard-Modbus configuration
are modeled. - The current catalog covers the large majority of the most important TROVIS 5578
and 5579 controller values. - Remaining larger feature areas include time-program editing, complete
heat-meter modeling, and full error-bit decoding.
Validation
- 300 tests collected
- 283 tests passed
- 17 expected tests skipped
-
script/libtest.shcompleted successfully -
script/libcheck.shcompleted successfully - Ruff formatting check passed
- Ruff lint check passed
- Python
compileallpassed - Source distribution build passed
- Wheel build passed
- Home Assistant started without TROVIS integration errors
- Testing devices (TROVIS 5578 + 5579) both operated successfully
(2x6 = 12 devices with 466 entities in total) - Expanded primary Home Assistant entities were created successfully
- Controller date was read and written successfully through Home Assistant
- Existing polling and write-access handling remained functional
Developer note
Consumers of temporal metadata should now use:
min_valuemax_valueraw_minraw_max
instead of the previous date-specific min_year and max_year attributes.