Skip to content

Releases: bstaeheli/ha2fhem

v0.1.0 — four device classes, bidirectional, live-proven

Choose a tag to compare

@bstaeheli bstaeheli released this 09 Jul 05:48

First tagged release.

Device classes (both directions, feature-gated setters): vacuum, cover, switch, light — each a pure profile, zero module-core changes since Phase 3 proved the abstraction.

HA integration (custom_components/ha2fhem, HACS-ready): registry enumeration → contract-valid MQTT discovery, state mirror with initial dump, startup gated on EVENT_HOMEASSISTANT_STARTED, command handler mapping contract payloads to service calls, include/exclude device filters editable via options flow, runtime add/remove lifecycle with ghost cleanup (discovery deletes for dropped devices), everything retain=false with birth republish.

FHEM module (HA2FHEM_BRIDGE/HA2FHEM_CLIENT, installable via FHEM update): parent/child with autocreate/auto-delete, English stable entity keys, true/false binary sensors, per-component setter tables, device × class filters.

Live evidence on a production HA + real broker: Roomba locate (beep), full physical cover round trip (open/close/stop/position, same-second state mirror), light on/off round trip ~1 s, options-flow filter changes without restart, 30-device / 90-config filter-matrix and load test (~1 s to 30 FHEM children).

Test suites: 94 FHEM (prove) + 129 HA (pytest) — all green. Contract: CONTRACT.md v0.1.0 draft covering all four components.

Install: FHEM via update all https://codeberg.org/bstaeheli/ha2fhem/raw/branch/main/fhem/controls_ha2fhem.txt; HA via HACS custom repository github.com/bstaeheli/ha2fhem (read-only mirror; development happens here on Codeberg).