Home Assistant devices configured in the UI are a bit of a mess, to say the least. You have one long list of entities, and finding what you are looking for takes longer than it should. Thankfully, this will no longer be the case in the upcoming Home Assistant 2021.11.
Everyone benefits from a bit of spring-cleaning
In the example seen in this screenshot, you will quickly see what a mean by “a bit of a mess”. All entities of the motion sensor I am viewing are bundled in to one long list. Because it's sorted alphabetically, the most relevant information this sensor is providing — motion — is halfway down. This list also includes sensors, I might only need to view once in a blue moon, such as the link quality, and sensitivity, both of which are placed above the occupancy status.
Starting with Home Assistant 2021.11.0, this will no longer be the case. In the upcoming release, entities can be categorized in to one of three groups: Primary, configuration, and diagnostic. As can be seen in the screenshot, the primary entity, of which there can only ever be one, of a speaker is the media player. The configuration category of entities that can be adjusted, such as the status light and touch controls of a speaker. Finally, the diagnostic entities include those that deliver you information for diagnostic purposes. In this example, those are the battery percentage and power status.
Entity categories are more than a visual change
The developers could have stopped there, and the entity categorization would have already been an excellent addition to Home Assistant. But not only do the three categories offer a better visual overview, they also change the device's behaviour.
By default, non-primary entities will not be exposed to the Google Assistant or Amazon Alexa. The same entities will also not be called by service calls that target the device or area the device is in.
The entity categorization will not be available for every device when Home Assistant 2021.11 launches. Some popular integrations, such as WLED, Xiaomi Miio, MyQ, and Roomba will be supported, while others will have to be updated. Developers of custom integrations will also be responsible for adding categorization, as this is not an automatically added feature.