Skip to content

Feature: Add Fan Operating Mode select for active fan mode #49

Description

@EdenNelson

ESPHome Web UI does not expose Home Assistant fan presets/modes as clearly as a normal select entity. Add a Levoit fan_operating_mode select that exposes the purifier's active fan operating mode directly.

This gives ESPHome dashboards a regular dropdown for the same active fan modes already supported by the fan preset path, while keeping existing fan preset behavior intact.

Acceptance criteria:

  • Add a new Levoit select type with YAML config key type: fan_operating_mode.
  • The internal select enum uses a unique name and does not conflict with existing text sensor or fan mode names.
  • The select exposes model-specific active fan modes:
    • Core200S: Manual, Sleep
    • Core300S/Core400S/Core600S: Manual, Sleep, Auto
    • Vital100S/Vital200S: Manual, Sleep, Auto, Pet
    • Sprout: Manual, Auto
    • EverestAir: Manual, Sleep, Auto, Turbo
  • Changing the select sends the same MCU fan-mode commands already used by the fan preset path.
  • MCU status updates publish back to the select so it stays synchronized with physical-panel and Home Assistant changes.
  • Local fan-control changes also update the select immediately, so the dropdown stays in sync when fan operation changes.
  • Add the select to relevant default Levoit device YAMLs and builder YAML mirrors.
  • Document that Fan Operating Mode is the active fan mode and is distinct from Auto Mode / Auto Profile.
  • Do not add remembered Room Size persistence, Manual/Auto mechanics changes, Core room-size encoding changes, diagnostics, raw sensors, generated YAML churn beyond required config mirrors, or unrelated model behavior changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions