Entities
The entity registry is where friendly names, entity ids, and visibility live. These services let Claude fix the light.shelly_1pm_9a4c2f mess at scale: rename in bulk, assign sane entity ids, disable noisy diagnostics, hide what dashboards shouldn’t show, and sweep out registry entries whose integration is long gone.
change_entity_id does not rewrite automations, scripts, or dashboards that reference the old id. Run find_orphaned_references afterwards to catch anything left pointing at the old name — Claude does this automatically when you ask it to rename things.
Rename entity
brain.rename_entity
Set the friendly name override of one or more entities.
| Field | Type | Required | Description |
|---|---|---|---|
entity_id | entity (list) | yes | Entities to rename. |
name | text | yes | The new friendly name. |
service: brain.rename_entitydata: entity_id: - light.shelly_1pm_abc123 name: Kitchen Ceiling🗣️ “Rename light.shelly_1pm_abc123 to ‘Kitchen Ceiling’.”
Change entity ID
brain.change_entity_id
Change an entity’s ID (e.g. light.shelly_abc123 to light.kitchen_ceiling). Automations and dashboards referencing the old ID must be updated separately.
| Field | Type | Required | Description |
|---|---|---|---|
entity_id | entity | yes | The current entity ID. |
new_entity_id | text | yes | The new entity ID, same domain. |
service: brain.change_entity_iddata: entity_id: light.shelly_1pm_abc123 new_entity_id: light.kitchen_ceiling🗣️ “Give that Shelly a sane entity id: light.kitchen_ceiling.”
Enable entity
brain.enable_entity
Enable one or more disabled entities. Takes effect after the owning integration reloads.
| Field | Type | Required | Description |
|---|---|---|---|
entity_id | entity (list) | yes | Entities to enable. |
service: brain.enable_entitydata: entity_id: - sensor.zigbee_router_lqi🗣️ “Re-enable the LQI diagnostic sensor.”
Disable entity
brain.disable_entity
Disable one or more entities. They stop updating and are removed from the UI.
| Field | Type | Required | Description |
|---|---|---|---|
entity_id | entity (list) | yes | Entities to disable. |
service: brain.disable_entitydata: entity_id: - sensor.noisy_diagnostic🗣️ “Disable that diagnostic sensor that spams the recorder.”
Hide entity
brain.hide_entity
Hide one or more entities from auto-generated dashboards and voice assistants. They keep working.
| Field | Type | Required | Description |
|---|---|---|---|
entity_id | entity (list) | yes | Entities to hide. |
service: brain.hide_entitydata: entity_id: - switch.washing_machine_child_lock🗣️ “Hide the child-lock switch from dashboards but keep it working.”
Unhide entity
brain.unhide_entity
Unhide one or more hidden entities.
| Field | Type | Required | Description |
|---|---|---|---|
entity_id | entity (list) | yes | Entities to unhide. |
service: brain.unhide_entitydata: entity_id: - switch.washing_machine_child_lock🗣️ “Show the child-lock switch again.”
Set entity aliases
brain.set_entity_aliases
Replace an entity’s voice-assistant aliases — the alternative names Assist listens for.
| Field | Type | Required | Description |
|---|---|---|---|
entity_id | entity | yes | The entity to update. |
aliases | text (list) | yes | The full new list of aliases. |
service: brain.set_entity_aliasesdata: entity_id: light.office_desk_lamp aliases: ["the beacon", "desk light"]🗣️ “We call the office lamp ‘the beacon’ — make voice understand that.”
Set entity icon
brain.set_entity_icon
Set an icon override on one or more entities. Omit the icon to clear the override and return to the default.
| Field | Type | Required | Description |
|---|---|---|---|
entity_id | entity (list) | yes | Entities to update. |
icon | icon | no | The icon to set. Omit to clear the override. |
service: brain.set_entity_icondata: entity_id: - switch.bedroom_fan icon: mdi:ceiling-fan🗣️ “That fan shows as a generic switch — give it a fan icon.”
Delete orphaned entities
brain.delete_orphaned_entities
Remove registry entries for entities whose integration no longer provides them (state shows as ‘restored’). Runs as a dry run by default and returns the list of affected entities as response data. Optionally scoped to specific entities: each one is re-verified as orphaned, and anything still alive is skipped and reported, never deleted.
| Field | Type | Required | Description |
|---|---|---|---|
dry_run | boolean | no | When on (default), only report what would be removed. |
entity_id | entity (list) | no | Restrict the cleanup to these entities. Each is re-verified as orphaned; anything still provided by an integration is skipped and reported in skipped_not_orphaned. Omit to target every orphan. |
# Report only — nothing is deletedservice: brain.delete_orphaned_entitiesresponse_variable: orphans
# Delete only the ones you reviewed; live entities are skipped, never deletedservice: brain.delete_orphaned_entitiesdata: dry_run: false entity_id: - sensor.old_hub_battery - sensor.old_hub_signal🗣️ “Are there any dead entities left over from integrations I removed? Clean them up.”