When adding a new device in Home Assistant, the system currently exposes all discovered entities by default — including many obscure or diagnostic-level sensors that are rarely used. This results in a cluttered experience, especially for power users integrating complex devices (Zigbee, Z-Wave, MQTT, etc.).
I propose adding a hierarchical picker UI during the device setup process, allowing users to select which entity groups to enable based on relevance and intent.
Problem
Complex devices often expose 20+ entities by default.
Many of these are for diagnostics or rarely used metadata (RSSI, firmware, voltage, etc.).
Users must manually disable entities post-setup, which is time-consuming and error-prone.
There’s no structured way to filter or prioritize entities at setup time.
This leads to cluttered UI, slower automation configuration, and an overwhelming experience for new users.
Proposed Solution: Hierarchical Entity Picker UI
Introduce a step during device onboarding (e.g., right after entity discovery) that:
Displays entities grouped by function or category, such as:
Feature discussions in community forums and Reddit on entity clutter
Current workaround: manual entity disabling via Settings > Devices
Final Note
This change would greatly improve onboarding for intermediate and advanced users while still being opt-in and non-disruptive for those who prefer the current behavior. It’s a quality-of-life enhancement that aligns with Home Assistant’s goals of being both powerful and approachable.
Oh my… Zooz Zen32 scene controller… 3 PAGES of entities (on my mobile) and a dozen are hidden… But yes most are. Properly hidden by default because ZWaveJS. This and a couple other devices (looking at you Jasco motion dimmer) that also do this (metric TON of entities most off by default)
I was hoping to get feedback on how the attributes of a device are displayed during onboarding.
…looking for a more organized hierarchical method to choose attributes when adding new devices to HA.
I was hoping the updated Picker functionality would be applicable in what I’m looking for out of HA.
What you’re proposing would require the user to onboard the device again if they forgot to select a specific entity or simply changed their mind.
While the current way might seem cumbersome to you, at least users have an option to disable or hide entities, and these entities can be re-enabled/set as visible at a later date because HA knows about them already. If these entities were not exposed to HA at all during onboarding, then there’s not much else that can be done.
Also, new entities may get added to devices during updates as people figure out more ways of controlling a device. Eg. I’m staring at a number.server_power_countdown entity which I’m 95% sure was not present when I initially onboarded ta power monitoring plug - it was added during a Z2M update.
How would your approach handle this scenario? It’s an “Optional Control”, but how would I be made aware of it to decide how it should be handled? What If I had 20 power plugs?
@petro was spot on in his previous post. It’s the integration which decides which entities are enabled by default, but even then, those entities are added but disabled.
You mention RSSI in your (ChatGPT-generated) example - all my RSSI entities are disabled by default because their respective integrations handle them that way. It doesn’t stop me from re-enabling them should I want to. More importantly, HA knows about them but hides them from everywhere but the device page - I can simply add them back with a couple of clicks.
I’m not even going to argue about the entire Benefits section, because I disagree with all 4 points. All I have is two questions:
Am I the only one who excitedly opens up a new device page right after onboarding to discover all the new entities?
How much extra effort do you think is involved to disable any entities I don’t think I’ll use for the time being while I’m on that page?
Thank you for your insight on this.
Could the Picker approach be used after the fact in your example to choose what attributes (via a check box method for example) I would like to hide or keep exposed?
I think it be helpful to have a more deliberate way to see different levels of functionality in an organized fashion to help novice users like myself navigate what arguably can be overwhelming with the attributes exposed by HA on certain devices.
First things first - you keep referring to “entities” as “attributes”. Please learn the difference.
Each and every entity in HA allows you to disable or hide that entity after onboarding the device. It also gives you the flexibility to re-enable the entity at a later date should you change your mind:
EDIT: Saw that you snuck in an edit to your original requirement as I was writing.
Yes, you can also do this via checkbox. Go to the entities page & Click the multi-select icon & choose your entities (use a filter if you don’t want to be overwhelmed). Click the 3 dots in the top right and you can enable/disable, hide/unhide the selected entities