Nested Areas #172
Replies: 10 comments 17 replies
-
I. Prior ArtAs Jörg W pointed out on the 2020 Why the heck can’t areas be nested? , @balloob has weighed in on nesting Areas in 2018-19 home-assistant/architecture#94
Further discussion by the devs took place at 2023-24 Add the concept of floors #1021 Related from the HA community:
II. ArgumentIn light of the robust arguments by no less than the Founder and President of HA and key devs against Nested Areas made earlier, it made sense to keep the Areas simple for a time to see where the community takes it. Having assigned everything to its respective areas, I was able to massively reduce the number of redundant automations (same stuff, different room) by targeting "same area as the trigger was in": That lowly little template hints at the much bigger notion: Areas hold the key to make automations MUCH more portable & reusable among us! Which, for the most common use cases, can shift us users away from blank-slate, one-off tinkering, solving the same problem 1000 different ways 600 of which are legacy, and towards more collaboration opportunities, putting our heads together refining common blueprints. Imagine a new user spinning up their fresh new HA for the first time, and instead of a blank slate being asked "Is this for a House, an Apartment, an Office, a Restaurant - or start blank?". Based on selection, a template / super-blueprint is loaded with common automations already in place - just add your devices to the correct areas. Once you do, they just start doing the right thing, effortlessly, based on the best of the HA community experience encapsulated in those blueprints. The user can take it from there, not from a blank slate but "standing on the shoulders of ... a bunch of other guys and gals who've done this before & put their heads together". But why nested areas? Because it enables semantics and context and lay of the land - it enables a smart home to actually know itself. In a flat list implementation I can name my kitchen area We're talking having the lowest-level areas defined pretty granularly: down to parts of the livingroom, work stations in the kitchen, individually-lit sections of a walkway, or even steps on the stairway, with spatial relationships between them & their peers (what peer area is to my South - SW - West - NW - ... or up the stairs / down the stairs) - being one and the same with the motion radar detection areas. On top of those baseline mlost granular areas, have 3-4 levels of area hierarchy roll-ups to the top level "Everywhere" this HA instance manages. The higher Area levels would be semantically tagged - am I a complete room, a suite of rooms or a floor, a flight of stairs; am I indoor or outdoor; am I public-access or guest-access or family/team-access or restricted area, etc. YES, a "Floor" would be a type of area - that HA understands is a floor. Potentially, a Zone might also be folded into the hierarchical Area paradigm. Imagine your home inferring your intent-in-context based on past patterns, and lighting your way ahead of you even including areas that don't have motion detectors because it knows you'll likely pass there. The more granular the areas, the more fidelity those patterns will have - meaning, confidence on the detection side and finesse on the action side. But without the less granular roll-up / parent areas, it becomes tedious for the humans. I don't want to manually turn off the lights in all 15 sub-areas of the kitchen that are one and the same with the mw radar motion sensor areas, much less list them individually in an automation (goodbye, those blueprints). So we need to have it both ways (very granular areas AND room / suite or floor / house-level parent area roll-up). We're asking to have it both ways. I support this Nested Areas feature request by @wildekek . |
Beta Was this translation helpful? Give feedback.
-
|
As a new user (in the first few days of using HA) this was the first thing that struck me. The lack of a Home wrapper into which Areas could be put. This was apparent to me as the first thing I did after launching and seeing the easy discoverable devices was start the Tuya integration as I have many Tuya compatible devices already deployed in 4 properties. I've read much of the debate and I see the complexity, but I can also see a clear need for a layer representing a Property or Home, underneath which are areas. While I understand the concept that each property might have a home assistant instance locally which might be accessible remotely, some of the integrations break this concept as soon as you do them. Tuya supports a concept of a Home and in the Tuya app these are separated. So if you have a HA instance with Tuya integration then the devices appear in a flat hierarchy. I tried using labels to separate them but it was not great so then I separated them by making an Area for each home and making that part of the device config. Then I used the Area dashboard to separate them. But it would have been more elegant if HA could have imported the Home label. A counter example is the MyDlink app where there is no such hierarchy. So the cameras for all the homes appear together. But the count is low compared to sensors and other items so it mostly works. For these I used the generic camera integration to import into the local instances of HA. HA can become the Master over many integrations, offering a clear added value to provide a 'one pane of glass' view which would be enhanced with some form of nesting. I agree with the concerns of many deep nestings, granularity and overlaps. But a Property or Home is a thing with a clear role in a hierarchy, placeable on a map. Just something to consider, so I support this feature request. And added my own request in the Tuya integration to allow for import of the Home tag. |
Beta Was this translation helpful? Give feedback.
-
|
Piggybacking into this idea, we should also be able to have floors act as a parent area of all the areas within that floor. Reason why is that sometimes we have devices or automations that are in, or target an entire floor, rather than a single area. For example, I can have a scene or automation that sets up night lights for upstairs, or downstairs. |
Beta Was this translation helpful? Give feedback.
-
|
Again a new reason why we need this: Purpose-specific automation triggers & conditions. When selecting a purpose specific trigger, areas become first class citizens in your trigger now. Trigger example that was in the live stream for release 2026.4: Smoke detected > Area = House. The house area does not exist at the moment though and was just an area made for the demo, so in practice this does not work. The use case is excellent though. It would be great to have a root area based on the name in Settings > Home information > Home Name. EG "My house". Then all subsequent areas could fall under this root. |
Beta Was this translation helpful? Give feedback.
-
|
I think another good use case nested areas would be to direct vacuum robot (or lawn robot) to a specific sub-areas within rooms (i.e. a sub-area inside a room). The would allow for example to give voice command for vacuum robot to ”clean in front of the cat litterbox” or ”clean the babys spot in the dining room”. |
Beta Was this translation helpful? Give feedback.
-
|
FYI, spotted that @nielsrowinbik has now added a very relevant issue tracker to the Home Assistant roadmap about models for physical space: Note that references this feature request as well as this Discord thread that sparked from the 2026.4 release party chat: |
Beta Was this translation helpful? Give feedback.
-
|
The following things should be considered when changing areas: Beginners vs advanced usersWe all think differently, so what works for me might not work for someone else. Predefined dashboardsThe new default dashboards use the predefined context of areas and floors to provide a very decent dashboard layout. This is something which needs to be preserved. GroupingAreas are a common way of grouping and finding devices, entities and automations. Many users use areas beyond the originally intended concept of physical (parts of) rooms. AssumptionsHome Assistant appears to assume areas are always part of the house. If a user creates an outdoor area with weather data, radar image and lights, the devices will be included in the default climate, security and lights dashboards. Backwards compatibilityThe impact of an backwards incompatible change can be significant. Scenarios and edge cases:The following use cases can be considered: Connected roomsConnected rooms such as an open kitchen connected to a living room can be considered 1 area for some situations and 2 areas for others. It's currently not possible to group the rooms. Outside vs InsideThe garden, porch or balcony are areas which can have lights, motion and temperature entities which are relevant for the area but which are not part of the house. Non-house areasAreas such as a garage, shed or car are marked as such and not considered part of the house. They are shown separately on the default dashboards. Virtual areasIt's not uncommon to use virtual areas for grouping of concepts such as network devices, a homelab or utilities which affect the whole house. DoorsA door is commonly part of 2 rooms. This is currently not supported and requires workarounds to model correctly. Options0. Current Floors & AreasAreas are a way of grouping devices. 1. Outdoor FloorAdd a "floor" for outdoor. Areas such as porch, shed and garden can be related to this floor. 2. Context specific AreasAdd extra information to areas. Extra properties are added to areas to provide better context and allow for better decision making. 3. Add (Hue) ZonesPhilips hue allows zones to be defined as an more advanced way to organize devices. 4. Nested areasAs described above. Areas can contain devices and other areas. 5. Buildings / Floors / AreaIt is currently assumed that there is 1 build which all floors and areas are part of. By adding a building which areas can or cannot be part of would provide useful context. 6. Multiple areas per deviceAllow a device to be added to more than 1 area.
ConclusionLooking at which solution meets which scenarios, nested areas do not seem like the best way forward because it is probably not backwards compatible with the default dashboards. Adding more specific concepts such as "building" and allowing an area to be part of the building or not be part of the building would satisfy several use cases with minimal impact. Adding less specific concept such as the zones from Philips Hue could provide additional flexibility which the context specific areas do not provide. It could act like a group of devices. The benefits are however rather small. |
Beta Was this translation helpful? Give feedback.
-
|
A remark I also made in Discord: Do we really need such a rigid structure where:
This concept has already be tried with labels, where you can "tag" as many label as you want to anything. The same concept could be pushed to floor / areas:
=> This would solve many nesting issues by allowing an entity to be in more than one area User could create "non physical" floors or area on purpose (many example and possibilities):
I personaly see very few drawback as this logic already exist for label and works well there:
Keeping only floor / area "type" would not break anything (especially overview dashboard) , but allowing tag instead of assign would allow many new opportunities. Floor and area names could be changed, but it is another debate. Many things can already be done with labels:
|
Beta Was this translation helpful? Give feedback.
-
|
Multiple areas per device makes such areas similar to tags that already exist. The entire point of areas is they represent the actual locations of an HA-managed property. And locations are hierarchical. A master suite is a part of a 2nd floor and contains a bathroom and a bedroom (rooms), and the bathroom has his and her sink area plus toilet plus shower, and a bedroom contains two closets. In addition to a hierarchy, spatial relationships exist between these places. A master bathroom can be North of the master bedroom and navigable from it (i.e. a door / passage exists directly connecting these places). A guest bathroom shares a wall with master bathroom, but is NOT navigable directly from it. The master suite can be semantically tagged that it's indoors, year-round, family access, non-work. Multiple areas per device as the alternative to true nested areas, solves one issue bur robs us of all these relationships between places and their meaning being knowable to HA for future smarts. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for disagreeing and the clear examples. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Describe your core improvement
I would like to nest Areas in Areas. This way we can make devices and entities easier to find and simplify naming. Let's get rid of names like 'Guesthouse Bedroom Walk-in Closet Light' but nest areas like so:
Area: Guesthouse > Bedroom > Walk-in Closet
Device name: Light
Current limitations
Currently, I can't group areas per building, nor can I add a specific place inside an area. For example, when I have an open plan living room with a kitchen, the architecture does not allow easy control. Hence, I have to:
When I turn off all lights in the living room, I want the kitchen to be included. Not possible in this way.
Technical benefits
Additional context
Looking at the new device pickers and the focus on areas for automated dashboards, this would be a logical next step imo.
Beta Was this translation helpful? Give feedback.
All reactions