What's Changed
Features
split_special_modesfor fan: New opt-in flag that decouples the 6 real fan speeds from the 5 special modes (Burst, Sleep, Automatic Humidity/CO2/Time). With it enabled, the HA slider exposes levels 1–6 only, while special modes are reachable viapreset_mode. Existing configs are fully unaffected (split_special_modesdefaults tofalse).select.sec_touchplatform: New writable Mode dropdown for ESPHome's built-inweb_serverUI. Because ESPHome's web server does not render fanpreset_modedropdowns, this platform gives non-HA users (and local-LAN fallback scenarios) a clickable control for all 7 modes (Off, Normal, Burst, Sleep, Automatic Humidity, Automatic CO2, Automatic Time). The select mirrors device state in real time and validates at config load that a matchingfan.sec_touchwith the samefan_numberexists.- New examples:
examples/split-mode.yamlandexamples/webserver-fallback.yamldemonstrate both features end-to-end.
Bug Fixes
- Fixed stale-preset flash and stale-echo revert on rapid control changes — a race condition where a quick second command could cause the UI to briefly revert to the previous preset before settling.
- Fixed slider snapping in split mode: picking Burst now correctly snaps the HA slider to 100% (level 6), while picking Normal preserves the current slider position instead of resetting it to 1.
- Burst triggered from the physical SEC-Touch panel now also syncs the HA slider to 100% (consistent with the software path).
- Added missing
<map>C++ include. - Fixed fan speed range validation on state transition.
Improvements
- General README and documentation improvements.
Stable release branch
Please use stable as the ref branch in your component settings
external_components:
- source:
type: git
url: https://github.com/distante/esphome-components
ref: stableNew Contributors
Full Changelog: v1.1.0...v1.2.0