Skip to content

Fan TurnOn writes FanMode=On(4), rejected by fans whose FanModeSequence excludes On — map to High/PercentSetting instead #46

Description

@simons-plugins

Live finding (mock fleet, 2026-06-10): the Fan mock uses FanModeSequence=OffLowMedHigh (no On/Auto) — common on real hardware. FanControlHandler maps TurnOn → write FanMode=4 (On), which such fans reject (constraint error). Also: the write failure produced no Indigo-visible error (writes may need the same failure surfacing as commands).

Proposed: TurnOn → write PercentSetting=100 (or restore last non-zero PercentSetting), falling back to FanMode=High(3) — valid in every FanModeSequence; TurnOff stays FanMode=0. And surface write_attribute error responses on the device like command failures.

Metadata

Metadata

Assignees

No one assigned

    Labels

    device-supportNew Matter device class / cluster supportenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions