The "Domain Wall" Problem

Feedback: The “Domain Wall” Problem for New User

Perspective:** New user migrating from HomeKit / Lutron ecosystem.

The Issue: Home Assistant remains “data-rigid” when it comes to entity types (domains). If a high-quality hub like Lutron reports an on/off switch, HA locks that entity as a switch.. While technically accurate, it ignores the context (e.g., that switch is physically wired to a ceiling fan).

The “User Experience” Friction:

  1. The Duplicate Trap: The current solution—the “Switch as X” helper—creates a duplicate entity. This leads to a messy database where users have to manage two IDs (switch.fan and fan.fan) for one physical wire.
  2. The “Hidden” Paradox: To keep the UI clean, users must “Hide” the original switch. However, hiding isn’t enough to remove it from the Automation Editor’s “State” search, leading to constant “which one do I click?” confusion.
  3. The “Disabled” Dead End: If a user tries to truly clean up by disabling the original switch, the helper entity breaks and goes “Unavailable.”

The Request: We need a “Native Domain Override.” Users should be able to go to an entity’s settings and click a single “Reclassify as…” button that changes the domain at the root level without creating a second helper entity or requiring manual customize.yaml coding.

The “Part-Time Nerd” Verdict:

“I came to Home Assistant for the ‘Brain,’ but I’m spending all my time being a ‘Janitor.’ I shouldn’t have to rename original entities to z_junk just to make my search bar usable. If I tell the system a switch is a fan, the system should believe me and update the ID accordingly.” …It doesn’t help that I am a bit OCD…

All that aside, Home Assistant is really great and I am only just scratching the surface for all of the amazing things it is capable of. I am very appreciative to have some folks out there working on on making this open source platform great.

Thank you all!

The forum is not the place for feature requests.

Please post your feature request here: home-assistant · Discussions · GitHub