Skip to content

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.

FieldTypeRequiredDescription
entity_identity (list)yesEntities to rename.
nametextyesThe new friendly name.
service: brain.rename_entity
data:
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.

FieldTypeRequiredDescription
entity_identityyesThe current entity ID.
new_entity_idtextyesThe new entity ID, same domain.
service: brain.change_entity_id
data:
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.

FieldTypeRequiredDescription
entity_identity (list)yesEntities to enable.
service: brain.enable_entity
data:
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.

FieldTypeRequiredDescription
entity_identity (list)yesEntities to disable.
service: brain.disable_entity
data:
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.

FieldTypeRequiredDescription
entity_identity (list)yesEntities to hide.
service: brain.hide_entity
data:
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.

FieldTypeRequiredDescription
entity_identity (list)yesEntities to unhide.
service: brain.unhide_entity
data:
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.

FieldTypeRequiredDescription
entity_identityyesThe entity to update.
aliasestext (list)yesThe full new list of aliases.
service: brain.set_entity_aliases
data:
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.

FieldTypeRequiredDescription
entity_identity (list)yesEntities to update.
iconiconnoThe icon to set. Omit to clear the override.
service: brain.set_entity_icon
data:
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.

FieldTypeRequiredDescription
dry_runbooleannoWhen on (default), only report what would be removed.
entity_identity (list)noRestrict 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 deleted
service: brain.delete_orphaned_entities
response_variable: orphans
# Delete only the ones you reviewed; live entities are skipped, never deleted
service: brain.delete_orphaned_entities
data:
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.”