Why does this entity not have a unique ID?

When you open the settings of an entityAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more], you may see this message: This entity (‘climate.bath’) does not have a unique ID, therefore its settings cannot be managed from the UI.

You may also see a similar message in these places:

  • When you add aliases for Assist: Aliases are not supported for entities without a unique ID.
  • When you assign a category to an automation, script, scene, or helper, for example: To assign a category to an automation it needs to have a unique ID.
  • In the list of automations, for an automation without a unique ID: Only automations that have a unique ID assigned are debuggable.

A unique ID is a permanent identifier (for example, a serial number) that is guaranteed never to change. Without one, Home Assistant cannot safely let you rename the entity or change its settings from the user interface, because there would be no reliable way to track which entity you meant.

You will typically see this on entities you created manually in YAML, or on entities from an integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] that has no way to determine a unique ID for the underlying device. This is not an error, but a limitation of the integration. To find out whether you can add one yourself, refer to Can I add a unique ID myself?.

Where each ID is used

Unique ID:

  • Used only internally in Home Assistant.

Entity ID:

  • Entity with a unique ID: the entity ID is only used as a reference, for example in automations or dashboards.
  • Entity without a unique ID: the entity ID acts as the replacement for the missing unique ID, and as the reference in automations or dashboards.

Can the IDs be changed?

Unique ID:

  • No. It is a static identifier.

Entity ID:

  • Entity with a unique ID: the entity ID can be changed freely, as long as it follows the format <domain>.<id> and does not collide with another entity. If you change the entity ID, remember to update the references in automations and dashboards.
  • Entity without a unique ID: the entity ID is treated as a fixed identifier and cannot be changed.

If your entity has no unique ID, you can still adjust some properties through the manual customization options in YAML.

How do I remove an entity without a unique ID?

Entities without a unique ID are not stored in the entity registry, so you cannot delete them from the user interface. To remove one, remove or change the configuration that creates the entity.

  • If you created the entity manually in YAML, remove its configuration. Then go to Settings > Tools > YAML and reload the affected configuration if it is listed. Otherwise, restart Home Assistant.
  • If an integration creates the entity, go to Settings > Devices & services, select the integration, and reconfigure or remove the source that provides it. The available options depend on the integration, so check its documentation for details.

Can I add a unique ID myself?

It depends on the integration.

  • If you created the entity in YAML, check the documentation of its integration for a unique_id option. Some integrations, such as Template and MQTT, let you set one yourself. Once the entity has a unique ID, you can rename it and change its settings from the UI.
  • If the integration doesn’t offer that option, you can’t add a unique ID yourself. It has to come from the integration, because it needs to identify the same device or service every time Home Assistant starts.

If an integration does not provide unique IDs, it could potentially be improved to do so. Contributions are welcome. See the developer documentation to get started, and the entity registry documentation for more on unique IDs.