EnOcean Custom 2.4.1 — optional which/onoff filters on device triggers
Device triggers can now be refined with optional channel (which: 0/1/10) and position (onoff: 0/1) filters, using the standard Home Assistant trigger-capabilities mechanism. This makes every legacy button_pressed event trigger — including release-driven shutter controls with per-position actions — convertible to a native device trigger with byte-identical matching semantics.
Details
- Optional selectors on every rocker trigger; omitting them preserves the broad v2.4.0 matching.
- Frontend stores selector values as strings (
"0","1","10"); validation normalizes them to integers on every path, with a defensive normalization at attach time and a dedicated string-config test. - Contradictory configurations are rejected: the channel-pinned types (
Channel 1/2 button pressed) refuse a conflictingwhichfilter. - Backward compatible: a v2.4.0 trigger configuration behaves exactly the same.
Verification
- 199 unit tests (guarded for environments without Home Assistant), real HA smoke test, Ruff on the CI target list, compile + JSON gates: all green.
- CI
Validate4/4 green (HACS, tests/smoke, Hassfest 2026.7.3, dependency audit).
Full Changelog: v2.4.0...v2.4.1