EnOcean Custom v2.2.0 — Passive radio inbox, local DDF catalog, A5-14-01 decoder
EnOcean Custom 2.2.0 — Passive radio inbox, local DDF catalog, A5-14-01 decoder
This release observes the radio more honestly without ever transmitting more.
Passive radio inbox
- In-memory observation per sender: UTC last-seen, packet count, last RSSI (dBm), last repeater count, and observed RORGs.
- Strictly passive: zero radio transmission added; the receive hook snapshots bounded facts on the serial thread and transfers them to the Home Assistant loop.
- Bounded by design: 64-entry LRU for unconfigured senders, no
.storagepersistence, full purge on config-entry unload. - The options-flow radio card (FR/EN) shows last-seen, signal and repeater facts when available.
- Exportable diagnostics expose only an aggregate
observed_senders_count— never sender IDs.
Local DDF catalog
scripts/import_ddf.pyconverts the official EnOcean Alliance DDF repository into a deterministic, versioneddata/ddf_catalog.json. No runtime network access.- Catalog precision fix: non-gateway Afriso Cositherm products (
002D00000004,002D00000005) transmit GPB0-00-00and receive eleven A5-10 profiles; only gateway variants (002D0000000A,002D0000000B) useD2-34-10. v2.1 attributedD2-34-10to all four. - Manufacturer registry seeded only with publicly documented IDs; unreferenced manufacturers stay honestly « non référencé ».
Decoder
A5-14-01(window/door contact + supply voltage monitor) is now decoded: contact as adoorbinary sensor, 0–5 V supply as a diagnostic sensor disabled by default; reserved values 251–255 are ignored.D2-34-10stays explicitly unsupported: no public bit-level specification exists, so no decoder is invented.
Validation
- 170 unit and regression tests
- Home Assistant 2026.7.3 import and runtime smoke
- HACS validation and Hassfest
- Ruff lint/format and runtime dependency audit
- DDF catalog verified against an independent re-parse of the source XML
Full design notes and compatibility matrix: Device Intelligence documentation