Expose Areas as Virtual Domain Entities for State Aggregation #1848
Unanswered
glenviewjeff
asked this question in
Core functionality
Replies: 1 comment
-
|
Have you seen the new |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 propose that the Core architecture be updated so that Areas automatically expose virtual/proxy entities for supported domains (specifically
light,switch,binary_sensor, andlock) based on the devices assigned to them.For example, if an Area named "Kids Room" (
area_id: kids_room) contains threelightentities, Core should automatically exposelight.area_kids_room.This virtual entity would function identically to a Light Group:
onif any non-excluded entity in the Area ison.service: light.turn_ontarget: area_idalready supports).To handle edge cases (e.g., a router LED that shouldn't trigger the room state), a simple boolean toggle "Exclude from Area State" should be added to the Entity Registry settings, similar to the existing "Hide" or "Exclude from Recorder" options.
Current limitations
Currently, Areas are effectively "backend-only" concepts.
light.kids_room_group) that duplicate the list of devices already assigned to the Area.Technical benefits
True "Zero Config" Dashboards: Users could drag a Tile Card onto a dashboard, select an Area, and immediately have full state feedback and control (dimming/color) without creating intermediate helpers.
Architectural Consistency: It bridges the gap between the Service layer (which respects Areas) and the State Machine (which currently ignores them).
Simplified Logic: Automations could trigger based on
light.area_living_roomstate changes without needing complex templates or manual groups.Additional context
This addresses the root cause of "WTH" posts regarding automatic grouping. Previous requests for "Automatic Groups" often get bogged down by edge cases (e.g., "I don't want my printer screen turning on the room lights").
By treating this as an Area Entity with an Exclusion property on the child devices, we solve the edge cases without forcing the user to maintain manual groups.
This is similar to how HomeKit and Google Home handle rooms: they automatically aggregate the state of devices within a room assignment. Home Assistant is currently the outlier in requiring manual grouping for room-level state visibility.
Also see: https://github.com/orgs/home-assistant/discussions/1731
Beta Was this translation helpful? Give feedback.
All reactions