Skip to content

Add first Duco configuration entities #19

Description

@ronaldvdmeer

Summary

Add a first curated set of Duco configuration entities once the supporting client models expose stable configuration data.

Problem

The integration currently focuses on state and diagnostics. A small set of clearly useful configuration controls would add value, but only if they are backed by stable client models and avoid exposing raw configuration noise.

Scope

Start with a curated first set of configuration entities, such as:

  • a bypass mode select
  • a filter reset button
  • a small set of clearly useful configuration numbers or switches

Requirements

  • only add entities backed by stable client models
  • avoid mirroring every raw configuration field
  • keep the first set focused on clear user-facing value
  • add tests for entity creation, value mapping, and writes

Acceptance criteria

  • the first curated configuration entities are available for supported devices
  • unsupported configuration values are skipped cleanly
  • tests cover entity creation and writes

Technical appendix

Likely touchpoints

  • homeassistant/components/duco/const.py for platform registration
  • homeassistant/components/duco/entity.py for shared device/entity helpers
  • new platform files for the selected entity types, likely number.py, select.py, and button.py
  • homeassistant/components/duco/strings.json and homeassistant/components/duco/icons.json
  • tests/components/duco/conftest.py
  • new platform tests plus snapshot coverage under tests/components/duco/

Data source

  • typed config read models from the client layer
  • the first entity slice should stay close to stable, user-meaningful config values such as bypass mode, filter reset, and a very small set of clearly useful numeric or boolean settings
  • only create entities when the required config values are actually reported by the device

Non-goals

  • exposing the full configuration surface in a first pass
  • adding entities for raw or poorly understood settings
  • mixing unrelated diagnostics or telemetry work into this issue

Minimum tests

  • create only the supported config entities for a device that reports the needed values
  • skip unsupported or missing values cleanly
  • verify write calls map to the intended client method and payload
  • verify entity registry defaults for diagnostic or low-value entities when applicable

Dependency note

  • this issue should follow stable typed config read support in the client layer
  • keep the first implementation slice intentionally small, even if the underlying API can expose more settings

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