Skip to content

Consistent, type-safe and range-aware datapoint definitions

Choose a tag to compare

@Tom-Bom-badil Tom-Bom-badil released this 19 Jul 16:57
· 59 commits to main since this release

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 MonthDay values now consistently use
    min_value and max_value in their native Python type.
  • Removed the special min_year / max_year metadata fields.
  • Added raw_min and raw_max metadata 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 Assistant number entities.
  • 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
  • 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.sh completed successfully
  • script/libcheck.sh completed successfully
  • Ruff formatting check passed
  • Ruff lint check passed
  • Python compileall passed
  • 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_value
  • max_value
  • raw_min
  • raw_max

instead of the previous date-specific min_year and max_year attributes.