Skip to content

Support additional node-level capabilities in the Duco integration #10

Description

@ronaldvdmeer

Summary

Expand the integration to expose additional node-level capabilities where supported by the device and client models.

Problem

Some Duco installations expose additional node data that is not currently surfaced by the integration, which limits visibility into room-level behavior and diagnostics.

Scope

Review supported node capabilities and expose additional entities where appropriate, such as:

  • additional ventilation-related node state
  • remaining or timed state information when it is stable and meaningful
  • flow-related values where the device reports them clearly
  • additional node-level diagnostic values that belong on the node device

Requirements

  • only create entities for explicitly supported node capabilities
  • skip unknown or unsupported node types safely
  • attach entities to the correct devices
  • keep entity creation logic maintainable and data-driven
  • avoid duplicating capabilities that are already represented better elsewhere in Home Assistant

Acceptance criteria

  • additional supported node capabilities are recognized
  • relevant entities are created when data is available
  • unsupported nodes do not break setup or updates
  • tests cover discovery and entity creation

Technical appendix

Likely touchpoints

  • homeassistant/components/duco/sensor.py
  • homeassistant/components/duco/strings.json
  • homeassistant/components/duco/icons.json
  • tests/components/duco/conftest.py
  • tests/components/duco/test_sensor.py
  • tests/components/duco/snapshots/test_sensor.ambr

Data source

  • additional typed node fields from the client layer, most likely in node ventilation, node sensor, or node general data
  • likely candidates include remaining timed-state information, extra flow-related values, and additional node diagnostics that still fit cleanly as entities or attributes
  • only surface values that remain stable enough for entity semantics across polling updates

Non-goals

  • duplicating controls that already belong to the fan entity
  • exposing every raw node field without a clear user-facing interpretation
  • creating entities for unsupported or poorly understood node types

Minimum tests

  • verify only supported node capabilities create entities
  • verify partial node payloads do not break setup or updates
  • verify new entities attach to the correct node device
  • verify unknown or unsupported node types are still skipped safely

Dependency note

  • this issue should follow any required client-side node model extensions for the targeted fields

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions