Currently, Home Assistant lacks a native way to classify spaces as “interior” or “exterior.” This requires users to manually create groups or complex conditions for automations. Additionally, using floors as a workaround fails because a room can belong to both a specific floor and a location type (e.g., a staircase that spans multiple floors but is still “interior”).
Proposed Solution:
Add an interior/exterior classification to areas or floors.
Use this classification for global actions. For example:
Turn off all interior lights when leaving the house.
Disable outdoor sensors when you’re outside.
Use Cases:
Automate “turn off all interior devices” when leaving.
Manage outdoor lights/sensors based on presence.
Simplify complex automations by categorizing spaces.
This would enhance usability and reduce the need for manual configurations.
I already found floors a bit of a weird concept now we have labels. Otherwise we can add all kind of classifications (room-type, room-usage etc) but labels are in my opinion already an excellent implementation for that. And even make it possible to label an area as both “Floor 1” and “Floor 2”.
But if you imagine to base a default dashboard for example on the area / floor information, the inside/ outside information makes sense here.
On the other side, if the final answer here is labels, we could ask “WTH, why to maintain area / floor information now that we can use labels instead” ?
Thanks for your input, it perfectly captures the idea! Labels are great for flexibility, but a native interior/exterior classification would simplify automations, enhance default dashboards, and provide a consistent experience out of the box. This is exactly the direction I had in mind!
Labels unfortunately don’t work with voice by default. You cannot say “turn off all outside lights”.
I agree. Floors are really just areas containing other areas. It makes little sense to have them as completely separate objects.
And areas in turn are really just a special type of label. Labels are by far the most flexible categorisation we have in Home Assistant, it would make sense to express everything as them.
If you stay there in winter and it is cold => outside
If you need to close the way between there and your living room when leaving the house => outside
In that specific case I would say outside for both cases… But I agree, you can find flaws everywhere…
Same with existing area and floor:
is a stair floor 0,1 or 2 or both ?
can you easily shut down the lights in all sleeping rooms but not in living room by one simple vocal command without automation or script ?
Maybe the answer is not inside/outside, maybe the answer is to be capable to have areas containing areas… or to get rid of area and floor but to be capable to use labels in all aspects we used areas like default dashboard, vocal commands, etc…
Nested areas would prevent areas belonging to more than one tree. E.g
Inside → upstairs → bedrooms → guestroom
If there was also a bedroom downstairs, it could not sit in the bedrooms area unless the bedrooms did not sit under upstairs. That then prevents you from targeting upstairs bedrooms only.
Labels seem a much better fit but maybe what we need is the ability to target multiple labels in automations as an AND rather than an OR. (Better still, have the option to decide).
This would mean being able to turn off lights for entities that have bedroom AND upstairs labels.
I fully agree with keeping a flexible system for grouping rooms. The current floor system works well, but it can feel too restrictive at times, especially if I want a room to belong to both the first floor and a group like “interior”.
I have a custom component, which I develop to test how using labels for everything might look like. One downside is that it’s for now mostly defined in YAML, not the UI, but other than that it has been working well for me. I’m thinking about how to extend it further, but it is hard to design it to be both extensible and yet still performant and well-behaved.