Areas & Floors
Areas and floors are how Home Assistant understands the shape of your home — and how voice assistants resolve “turn off the lights upstairs”. These services let Claude (or any automation) build and maintain that structure: create rooms, group them into floors, move devices and entities around, and manage the aliases voice assistants listen for.
A device normally gives its area to all of its entities; assigning an entity to an area directly overrides that — handy when one hub owns gadgets in different rooms.
Create area
brain.create_area
Create a new area. Returns the new area_id as response data.
| Field | Type | Required | Description |
|---|---|---|---|
name | text | yes | Name of the new area. |
icon | icon | no | Icon for the area. |
aliases | text (list) | no | Alternative names, used by voice assistants. |
floor_id | floor | no | Floor to place the area on. |
service: brain.create_areadata: name: Guest Room icon: mdi:bed aliases: ["spare room"] floor_id: upstairs🗣️ “Create a Guest Room area on the upstairs floor, with ‘spare room’ as a voice alias.”
Delete area
brain.delete_area
Delete an area. Entities and devices in it are left unassigned.
| Field | Type | Required | Description |
|---|---|---|---|
area_id | area | yes | The area to delete. |
service: brain.delete_areadata: area_id: guest_room🗣️ “Delete the guest room area.”
Rename area
brain.rename_area
Rename an existing area.
| Field | Type | Required | Description |
|---|---|---|---|
area_id | area | yes | The area to rename. |
name | text | yes | The new name. |
service: brain.rename_areadata: area_id: guest_room name: Nursery🗣️ “Rename the guest room to Nursery.”
Set area aliases
brain.set_area_aliases
Replace the aliases of an area (used by voice assistants).
| Field | Type | Required | Description |
|---|---|---|---|
area_id | area | yes | The area to update. |
aliases | text (list) | yes | The full new list of aliases. |
service: brain.set_area_aliasesdata: area_id: living_room aliases: ["lounge", "front room"]🗣️ “Make the living room also answer to ‘lounge’ and ‘front room’.”
Set area icon
brain.set_area_icon
Set or clear the icon shown for an area. Omit the icon to clear it.
| Field | Type | Required | Description |
|---|---|---|---|
area_id | area | yes | The area to update. |
icon | icon | no | The new icon, e.g. mdi:sofa. Leave it out to clear the icon. |
service: brain.set_area_icondata: area_id: living_room icon: mdi:sofa🗣️ “Give the living room a sofa icon.”
Add device to area
brain.add_device_to_area
Assign one or more devices to an area.
| Field | Type | Required | Description |
|---|---|---|---|
area_id | area | yes | The target area. |
device_id | device (list) | yes | Devices to assign. |
service: brain.add_device_to_areadata: area_id: office device_id: - a1b2c3d4e5f6🗣️ “Move the desk lamp’s device into the office.”
Remove device from area
brain.remove_device_from_area
Remove one or more devices from whatever area they are in.
| Field | Type | Required | Description |
|---|---|---|---|
device_id | device (list) | yes | Devices to unassign. |
service: brain.remove_device_from_areadata: device_id: - a1b2c3d4e5f6🗣️ “Take that device out of whatever room it’s in.”
Add entity to area
brain.add_entity_to_area
Assign one or more entities to an area (overrides the device’s area).
| Field | Type | Required | Description |
|---|---|---|---|
area_id | area | yes | The target area. |
entity_id | entity (list) | yes | Entities to assign. |
service: brain.add_entity_to_areadata: area_id: kitchen entity_id: - light.under_cabinet🗣️ “Put the under-cabinet light in the kitchen (even though its hub device lives elsewhere).”
Remove entity from area
brain.remove_entity_from_area
Remove one or more entities from whatever area they are in.
| Field | Type | Required | Description |
|---|---|---|---|
entity_id | entity (list) | yes | Entities to unassign. |
service: brain.remove_entity_from_areadata: entity_id: - light.under_cabinet🗣️ “Remove that light from its area.”
Create floor
brain.create_floor
Create a new floor. Returns the new floor_id as response data.
| Field | Type | Required | Description |
|---|---|---|---|
name | text | yes | Name of the new floor. |
icon | icon | no | Icon for the floor. |
level | number | no | Level number (0 = ground floor). |
aliases | text (list) | no | Alternative names, used by voice assistants. |
service: brain.create_floordata: name: Upstairs level: 1 icon: mdi:home-floor-2🗣️ “Create an Upstairs floor and put the bedrooms on it.”
Delete floor
brain.delete_floor
Delete a floor. Areas on it are left without a floor.
| Field | Type | Required | Description |
|---|---|---|---|
floor_id | floor | yes | The floor to delete. |
service: brain.delete_floordata: floor_id: upstairs🗣️ “Delete the upstairs floor.”
Rename floor
brain.rename_floor
Rename an existing floor.
| Field | Type | Required | Description |
|---|---|---|---|
floor_id | floor | yes | The floor to rename. |
name | text | yes | The new name. |
service: brain.rename_floordata: floor_id: upstairs name: First Floor🗣️ “Rename Upstairs to First Floor.”
Update floor
brain.update_floor
Change a floor’s icon, level, or aliases — use rename_floor for the name. Pass at least one field; anything you leave out is left as it is.
| Field | Type | Required | Description |
|---|---|---|---|
floor_id | floor | yes | The floor to update. |
icon | icon | no | The new icon, e.g. mdi:home-floor-2. |
level | number | no | The storey number — 0 for the ground floor, negative for a basement. |
aliases | text (list) | no | The full new list of aliases, used by voice assistants. |
service: brain.update_floordata: floor_id: basement level: -1 icon: mdi:home-floor-negative-1🗣️ “The basement is level -1, not 0 — fix it.”
Add area to floor
brain.add_area_to_floor
Place one or more areas on a floor.
| Field | Type | Required | Description |
|---|---|---|---|
floor_id | floor | yes | The target floor. |
area_id | area (list) | yes | Areas to place on the floor. |
service: brain.add_area_to_floordata: floor_id: upstairs area_id: - master_bedroom - kids_room🗣️ “Put the master bedroom and the kids’ room on the upstairs floor.”
Remove area from floor
brain.remove_area_from_floor
Remove one or more areas from whatever floor they are on.
| Field | Type | Required | Description |
|---|---|---|---|
area_id | area (list) | yes | Areas to remove from their floor. |
service: brain.remove_area_from_floordata: area_id: - kids_room🗣️ “Take the kids’ room off its floor.”