Areas should be improved

There are 2 types of ways you can categorize an entity. Area and/or groups. I don’t know why both of them exist at the same time as one is easier to do than the other.

EDIT:
The main function I do with groups is cleaning up my lovelace and turn on and off multiple devices at once but they are harder to configure compared to areas. Areas on the other hand are a really nice way of showing a category of devices but lack the capability of controlling the entities in that area.

I think that there are some improvements needed on how Home Assistant categorizes entities and devices. This is what I think it should look like, Areas main purpose should be collecting/grouping devices and entities and make it easier to control devices such as lights, media, and other devices.

  • People have already made it really easy to add devices to groups but not every device can be added through home assistant using the web UI and there are many entities that are unable to go into groups. (example my RF door sensors which are connected through an RF bridge and Broadlink switches). This makes my entities that are physically one device but are added through configuration.yaml not be able to added to areas, that does not help on grouping devices and entities and makes a more cluttered experience.
  • Areas should work well with Lovelace and make the entities and devices be easily controllable and/or viewable. Such as controlling all lights in one area or seeing the temperature in one area (averaging if there are more than one. People like to group devices by which room they are in rather than what function they perform and areas has the possibility that it can change that. This is more than a wish than a need as most people edit their Lovelace and make their dashboard as beautiful as possible but not all people like to touch the scary yaml as it has the word coding and programming in it, thus there is a demand for and auto-populated Lovelace.

This is just my opinion, feel free to point out any misunderstanding.

Areas are for devices and groups are for entities so they’re not the same and doesn’t offer the same feature set. This is not enough motivation for a feature request

4 Likes

Can you explain to me, what the use for devices is? I only use entities. This might sound stupid to some. I know.

1 Like

They are a representation of a device whereas an entity id is usually a specific function or state. So a device connects all the different entities created (also over multiple integrations) and right now the most usablw part for devices are device automations which gives abstract features/events as easily configurable triggers in automations e.g. Button 2 long press

Hmm, to me it just sounds like an overly complicated layer made for hardcore programmers because they like OOP and have to make everything abstract. I doubt the majority of users in home automation would use / need this. And if you are going to say it is needed for the simplification of other things, like the automations editor, I think it would benefit from a different representation. Because atm it is just adding a layer of confusion.

1 Like

It was a quick summary over the phone. Yes everything around devices needs to be added by developers to integrations but. It’

The main function I do with groups is cleaning up my lovelace and turn on and off multiple devices at once but they are harder to configure compared to areas. Areas on the other hand are a really nice way of showing a category of devices but lack the capability of controlling the entities in that area.

I think that there are some improvements needed on how Home Assistant categorizes entities and devices. This is what I think it should look like, Areas main purpose should be collecting/grouping devices and entities and make it easier to control devices such as lights, media, and other devices.

  • People have already made it really easy to add devices to groups but not every device can be added through home assistant using the web UI and there are many entities that are unable to go into groups. (example my RF door sensors which are connected through an RF bridge and Broadlink switches). This makes my entities that are physically one device but are added through configuration.yaml not be able to added to areas, that does not help on grouping devices and entities and makes a more cluttered experience.
  • Areas should work well with Lovelace and make the entities and devices be easily controllable and/or viewable. Such as controlling all lights in one area or seeing the temperature in one area (averaging if there are more than one. People like to group devices by which room they are in rather than what function they perform and areas has the possibility that it can change that. This is more than a wish than a need as most people edit their Lovelace and make their dashboard as beautiful as possible but not all people like to touch the scary yaml as it has the word coding and programming in it, thus there is a demand for and auto-populated Lovelace.

This is just my opinion, feel free to point out any misunderstanding. BTW I thought your profile pic was the grinch :smile:

To make it all easier (and since we’re in the mood of renaming things) I would rename areas to groups and make everything (devices and entities) groupable. Then slowly retire the current groups and lightgroups.

1 Like

This is exactly the problem with this subject. That entire post makes no sense to end users, and in all honesty is utterly useless as an explanation. What does it actually mean?

  • Can I switch everything on and off in an area?

  • Can I do the same thing in a group?

The answer to both is yes, so what’s the point of the areas?

I think groups existing still has some value even though areas exist. I see areas as rooms are part of your house that will have different type of devices inside. groups are helpful to combine some entities such as a sprinkler system that may have many valves and you will like to group them into one entity to turn them on all at once. usability is limited but is still there, so retiring groups doesn’t seem right to me.

you can turn off everything all at once in areas?

Apparently so, but to do so ‘easily’ involves using the UI automation editor and to do so in code would mean remembering a stupidly impossible to remember ‘area_id’ which is why everyone still just uses groups, because (as I was alluding to above) in spite of areas being part of homeassistant for a really long time, nobody can actually see the benefits of using them and whenever they ask they get a comment like the one I picked up on above.

In fact, the only ‘benefit’ anyone has ever told me about areas is that they are ‘stateless’, but it’s never been adequately explained how that improves things for me. Like if I want to know if something is on in an area, but the area is stateless then it’s actually pretty pointless.

As I see it the advantages of groups are:

  • I can add anything to a group, not just things that were configured through the ui
  • I can nest groups (have the living room group inside the downstairs group)
  • I can easily use my group in automations and scripts either as a trigger, condition or action.

The advantage of areas:

  • Ummmm???
3 Likes

I agree with you 100% the only advantage I can think of that it has potential to be beneficial. Areas are mostly UI based and or easier to configure so is more accessible to non geeky people, but you don’t get much out of it after you configure it.

1 Like

For me a good use for areas would be Area Activity.

Whenever a sensor inside an area is activated the area becomes active. When all sensors in the area are no longer active the area also becomes inactive. This way you can easily switch a light in a hallway when the front door is opening or motion is detected. Or you can use multiple motion sensors in one area to control the area activity. For as far is I can tell this is currently not possible, right?

Well it is. Just not with area’s but with groups it is.

1 Like

I have added a more feature-rich version to this request: Area-based Occupancy and Status

But also, @kaandorp please check out my blueprint for occupancy automation (basic): Automatic Room Occupancy - Room-based occupancy based on activity

I’m not in favor of making one abstraction to do both area and group things. Groups can turn everything on and off. They don’t need to be close to one another, they are things belonging together in some way. E.g. the members of a family. You can also use groups to see if there is a window open in the house.

But I’d hate everything in an area to be turned on at once: areas mimc a physical space. E.g. in Google home to tell which devices are in the same room with you. Not to turn everything on, but to know which thermostat you mean when you ask for the temperature, which blinds to close if you ask for that. Not to have one switch to rule them all, which is what groups do. But what does it mean if an area is on? Are the lights on? Is a window open? It doesn’t make sense. That is what you use groups for.

Could areas be improved? Certainly. I do not like that I cant assign an area from yaml. And also not if an entity has no unique_id. That last part is way more limiting to their usefullness.