HA 2025.5 ESPHome device names now on frontend

I just updated to HA 2025.5 and the device name is now showing up with the entity name on the home assistant front end. For example, a light is now named Kitchen-Overhead-Light Kitchen Overhead Light where it used to just be named Overhead Light. (It’s entity id is light.kitchen_overhead_light and name in ESP home Kitchen Overhead Light)

Also new entities are being named with the device id as well. For example, I just added a pantry light and it’s entity id was light.pantry_light_pantry_light where the old behavior would have just been light.pantry_light.

This appears to be a new behavior for 2025.5 and only for ESPHome devices. Do I need to change my configuration for devices in ESPHome so this doesn’t happen?

I have had the same experience, but a long time ago. So I would not tie it to 2025.5

Interesting, maybe it was just due to the restart from the update. I’m in the process of restoring to a 2025.4 backup but it sounds like that may not help. Did you find a fix? Was it something in the ESPHome configurations?

If you have a fiendly_name set in the device this is the behaviour expected. If you don’t have a friendly_name set for the device it should not happen.

However this has been occuring for me with no friedly_name set. I suspect it is a frontend bug as this device name + entity name only appears on my dashboard, not on the device page.

Apparently the developers think this is how it should be. See: Friendly Name not respected in/on Dashboard! · Issue #25410 · home-assistant/frontend · GitHub

I’ve opened another issue anyway:

I suspect unless bdraco gets on board arguing for the previous behaviour we won’t have much luck in getting this reverted.

I’m pretty sure this is the way it is going to be from now on.

Get used to having to name your entities twice. Once in ESPHome and once again in the HA UI. All so halfwits that don’t have a clue what an entity id is can find their entities in the UI editors.

2 Likes

Yeah, same here…
i just spent a couple of hours changing some of my esp’s, since suddenly all my entities were showing double names (like “clima bedroom temperature clima bedroom temperature” … ). I don’t have set “friendly_name” in all my devices yet, so it’s definitely a bug.

However, i intended to change my system it anyway, so…

I think that best way to do is to set friendly_name, then name entities short, like:

friendly_name: clima bedroom

then name sensors:

  • name: “temperature” → shown in HA: “clima bedroom temperature”
  • name: “set temperature” → shown in HA: “clima bedroom set temperature”
  • … etc …
1 Like

It was a deliberate choice:

So this is the way HA have chosen to go. Never mind that it is way more inconvenient for users, the integration has a bronze rating now. Yay! :roll_eyes:

We have to name our entities twice, once in ESPHome and then again in the Home Assistant UI to remove this stupid decision (one more in the long list).

Or go back and completely rename everything in your ESPHome devices - which will cause a change in entity id, necessitating a whole lot of find and replace in dashboards automations and scripts.

6 Likes

Then documentation must be changed, it still says optional:

  • friendly_name (Optional, string): This name is sent to the frontend and used by Home Assistant as the integration and device name. It also gets prefixed to entity names when needed. While optional, leaving it out can result in less intuitive names and a less polished experience in Home Assistant. Setting a friendly_name helps keep things clear, consistent, and easier to manage.

Not to mention that it should be clearly stated, since it’s a massive breaking change…

1 Like

It is still optional. It just that Home Assistant no longer cares.

This

Should be changed to

Feel free to open a documentation PR. I’m done volunteering my time to support this dumpster fire.

7 Likes

Hi everyone,

After updating to Home Assistant Core 2025.5.0, all of my ESPHome entities started including the device name as a prefix (e.g., ESP32 Living Room Light), which has completely disrupted the naming structure across thousands of entities .

This change has severely impacted the organization of my dashboards and broke naming consistency across key integrations like Apple HomeKit, which now shows all devices with these verbose names.

Unfortunately, the only working solution I found so far was to downgrade to version 2025.4.4, which restored the previous naming behavior. I understand the motivation behind the change (PR #143049), but for larger setups, this breaks things badly — especially without a way to opt out or mass-apply friendly names.

Has anyone found a way to batch fix or override this behavior, without having to manually set the name: or friendly_name: for each entity one by one in every ESPHome YAML file?

Any tips or tools to help automate this would be appreciated.

Thanks in advance!

2 Likes

There was something like this on Discord server.
Thanks, Petro :slight_smile: worked OK for me.
Solution for faulty names

Best, JR

Very very very badly

1 Like

“you do not have permission to view this channel”… :cold_sweat:

Here’s what I posted on discord. This will allow you to retain your entity names when upgrading to 2025.5 from any previous version.

  1. (only do this if you updated to 2025.5 already) Downgrade to 2025.4

  2. Run this in template editor

    {%- for e in integration_entities('esphome') %}
    {{ e }}:
      friendly_name: "{{ state_attr(e, 'friendly_name') }}"
    {%- endfor %}
    
  3. Add results from template editor into to customize.yaml

    Add the following to configuration.yaml if you have never customized entities via yaml.

    homeassistant:
      customize: !include customize.yaml
    

    Then create a file customize.yaml in your config folder and paste the results from the template.

  4. Restart HA

  5. Upgrade HA

  6. (optional) Remove customize.yaml and any references to it in configuration.yaml


If you already updated and made changes to other things and you can’t really downgrade, these steps will likely get the names back:

  1. Run this in the template editor

    {%- for e in integration_entities('esphome') %}
    {{ e }}:
      friendly_name: "{{ state_attr(e, 'friendly_name')|regex_replace('^' ~ device_name(e)~' ', '') }}"
    {%- endfor %}
    
  2. Add results from template editor into to customize.yaml

    Add the following to configuration.yaml if you have never customized entities via yaml.

    homeassistant:
      customize: !include customize.yaml
    

    Then create a file customize.yaml in your config folder and paste the results from the template.

  3. Restart HA

  4. (optional) Remove customize.yaml and any references to it in configuration.yaml

FYI This is marked as a solution for more optics only.

15 Likes

Sorry, while I was searching Petro on this forum to givwe him the credits- he chimed in already :slight_smile:
Yeah, as a HA community member You could/should be a member on this as forums aint helpdesk they say :slight_smile:
Highly recommended by Getting started options in HA.

Best, JR

1 Like

Well, i don’t hang much on discord… i did register (once), but i’m noob there… even can’t say how to join HA channel (if this is required…)

Petro, thanks for instructions!

I wonder, however…is step 6 correct? If i remove all those customizations, won’t they go back to “wrong”?

EDIT: 1220 entries on my HA. So, if i divide by 2 i would have to change just over 600 names… disaster, really…

I’m pretty sure they stick afterwards. It would be nice if someone who’s comfortable with the change can confirm that.

1 Like

It’s really annoying that this was not in either ESPHome’s or Home Assistant’s change log (as far as I can tell). I understand that HA made a decision on naming, (that I disagree with, but it’s their prerogative) and they’ve been supporting the old method as backwards compatible for a while, but they shouldn’t force the change without listing it in breaking changes.

2 Likes

I’m very disappointed that more thought wasn’t put into how this will break everyone currently using ESPHome. According to your analytics, that’s over a quarter of your users!

bdraco’s characterization of a “little transition pain” is quite the understatement. I have over 1k esphome entities, I’m sure many others have more. This ruins dashboards, and has downstream impact to Homekit and Google Assistant. And based on the docs, HA will now always modify entity names & IDs for ESPHome.