Skip to content

v1.3.0 — UI teach-in

Choose a tag to compare

@szymkiewiczmathieu szymkiewiczmathieu released this 29 Jul 15:28
· 30 commits to main since this release
e3cc60b

Manage EnOcean devices entirely from the UI

No more configuration.yaml editing for devices: Settings → EnOcean → Configure → Add a device, press the physical button, fill the short form, done. The entity is created immediately and survives restarts.

What is new

  • Options flow to add/remove binary_sensor, switch and light devices from the UI; UI devices coexist with existing YAML ones
  • Teach-in learn window (60 s, configurable 15-300) captures the first unknown EnOcean sender; also available as the enocean_custom.learn service firing enocean_custom_device_learned
  • Manage screen deletes a UI device (options + exact entity registry row); its EnOcean ID becomes teachable again immediately
  • unique_ids reuse the exact YAML formulas, so a later YAML→UI migration preserves entity_id and automations
  • switch_type (default/RPS, RPS channels 0/1) selectable in the form
  • French translation

Hardening (two adversarial review rounds)

  • Device forms use only websocket-serializable selectors
  • Learn windows are serialized and owned; captures are timestamped
  • Known IDs are re-seeded on every window and now include YAML sensor/climate senders
  • Malformed hand-edited ui_devices rows are skipped instead of crashing setup
  • Dongle is unloaded if platform forwarding fails (no zombie serial reader)

Gates

51 unittests + HA 2026.7.3 smoke, Ruff, compileall, EN/FR translation parity, CI 4/4 green. Deployed on production and validated with a live hardware teach-in (capture, entity creation, press/release decoding).

climate and sensor devices remain YAML-only in this release.