How to Change a Device Name in Home Assistant

Renaming devices in Home Assistant sounds straightforward — and often it is — but the process has more layers than most guides let on. Depending on what you're renaming, where it appears, and which integration added it, you might be editing one field or three. Here's what's actually happening under the hood, and how to navigate it confidently.

Why Device Names in Home Assistant Are More Complex Than You'd Expect

Home Assistant separates devices, entities, and areas into distinct concepts. A single physical device (say, a smart plug) might have multiple entities attached to it — power monitoring, switch state, signal strength. Each entity has its own name, and the device itself has a separate name sitting above them.

When people say "change the device name," they usually mean one of three things:

  • The device name shown in Settings → Devices & Services
  • The entity name (what shows up in dashboards and automations)
  • The friendly name that voice assistants and UI displays read aloud

These can all be different, and changing one doesn't automatically update the others.

How to Rename a Device in Home Assistant 🏷️

Method 1: Through the Devices & Services Menu

This is the most direct path for renaming the device record itself.

  1. Go to Settings → Devices & Services
  2. Click on the Devices tab
  3. Search for or scroll to your device
  4. Click the device to open its detail page
  5. Click the pencil/edit icon next to the device name
  6. Type the new name and save

This changes what Home Assistant displays as the device label in the UI. It does not automatically rename the associated entities.

Method 2: Renaming Individual Entities

If you want dashboard cards, automations, and scripts to reflect a new name, you'll need to rename the entities tied to that device.

  1. Go to Settings → Devices & Services → Entities
  2. Find the entity (filter by device name if needed)
  3. Click the entity to open its settings panel
  4. Click the name field and edit it
  5. Save

You can also rename entities directly from the entity detail page by clicking the gear icon on any entity in a dashboard card.

Method 3: Editing Configuration Files (YAML)

For users running manual or YAML-based integrations, device and entity names may be defined in configuration.yaml or split config files. In that case, the UI rename won't stick — or won't exist at all. You'll need to:

  • Locate the relevant YAML file (e.g., customize.yaml, configuration.yaml, or a platform-specific file)
  • Change the friendly_name: or name: field under the entity
  • Restart Home Assistant or reload the integration

This is common with integrations configured through template sensors, MQTT, or manual device entries.

The Entity ID vs. the Display Name — A Critical Distinction

One source of ongoing confusion: renaming a device or entity in the UI changes the display name only. The underlying entity ID (like switch.living_room_plug) is set when the entity is first created and doesn't change automatically.

If your automations and scripts reference entity IDs (which they almost always do), renaming the display name won't break anything. But if you want to change the entity ID itself — to keep things tidy or after a major reorganization — you'll need to do that separately:

  1. Open the entity's detail panel in Settings
  2. Click the gear icon
  3. Find the Entity ID field and edit it there

⚠️ Changing an entity ID will break any automation, script, or dashboard card that references the old ID. Home Assistant will warn you, but it won't auto-update references.

How Integration Type Affects What You Can Change

Not all devices behave the same way. The integration powering a device determines how much naming control you have.

Integration TypeUI Rename Works?Entity ID Editable?Notes
Zigbee (ZHA / Z2M)YesYesNames set in ZHA or Zigbee2MQTT may override HA
Z-Wave JSYesYesRename in HA UI or Z-Wave JS UI separately
MQTTPartialSometimesDepends on discovery vs manual config
ESPHomeYesYesNames set in ESPHome firmware take priority
Cloud integrations (Tuya, etc.)Display onlyYesDevice name may sync from cloud app
YAML/TemplateNo (UI ignored)YAML onlyMust edit config files directly

This matters a lot in practice. If a device keeps reverting to its old name after a restart, the integration is likely pushing the name from an external source — a manufacturer cloud, a Zigbee coordinator, or firmware.

When Names Keep Reverting After a Restart

This is one of the more frustrating behaviors new Home Assistant users encounter. If your rename doesn't stick:

  • Check the integration source — Zigbee2MQTT, Tuya, and ESPHome all have their own naming fields that take precedence
  • Rename at the source — change the name in the Zigbee2MQTT frontend, the ESPHome device config, or the manufacturer app
  • Use customize.yaml to override friendly_name for stubborn entities
  • Disable auto-discovery renaming — some integrations let you lock the name in HA to prevent overrides

Variables That Determine Your Experience

The "right" way to rename a device in Home Assistant isn't universal. What works cleanly depends on:

  • Which integration added the device (YAML, UI, cloud, local protocol)
  • Whether you use automations that reference entity IDs — renaming gets riskier the more complex your setup
  • Home Assistant version — the UI has changed significantly across major versions; older installs may have different menus
  • Whether you use voice assistants — Google Home and Alexa pull names differently, sometimes from device names, sometimes from entity friendly names, sometimes from Nabu Casa settings
  • How the device was initially configured — devices set up through YAML behave differently from those discovered automatically

A user with five Zigbee bulbs managed through ZHA will have a completely different naming experience than someone running a complex MQTT setup with ESPHome firmware on custom hardware. Both are valid setups — they just require different approaches to something as seemingly simple as a rename.

Your setup is the variable that matters most here. 🔧