v1.2.1 — Fix manual fan setup
Bug fixes
Fixed: adding a fan manually crashed with ValueError: Unable to convert schema (#5, thanks @JesusSanchezLopez)
The manual setup form (Settings → Devices & Services → Add Integration → Fanimation BLE Ceiling Fan) failed to render because the MAC-address field used a vol.Match regex validator, which Home Assistant's frontend cannot serialize. This broke any setup that doesn't go through Bluetooth auto-discovery — for example adding a second fan, or installs relying on an ESP32 Bluetooth proxy.
MAC validation now runs in the config-flow handler instead of the schema, so the form renders correctly and an invalid address shows a clear inline error instead of a traceback.
Bonus: the MAC field now accepts colon-, dash-, and dot-separated formats as well as bare hex (e.g. aabbccddeeff) — all normalized automatically.
- Also hardened config-flow translations (added the
already_in_progressabort string and a CI completeness test that catches missing translation keys).
Upgrade notes
No action required. Backward-compatible patch release — existing fans keep working unchanged, and stored MAC/unique-ID format is preserved.
Credits
Bug report and root-cause traceback by @JesusSanchezLopez. Thank you.