#Core 2025.5.0 Friendly Names Changed!!! [Resolved]
1 messages · Page 1 of 1 (latest)
ESPhome was brought in line with integration standards. That means the default initial entity names that now contain device name before entity name.
So are you now saying I have to rename Every Dashboard entry to get it back to what I set in ESPHome?
I.E.:
light:
- platform: monochromatic
name: "Candles ${name}"
id: candle_0
output: candle_1_pwm
Where I set name in this light ??
just rename the entity in your device page if you don't want the device name
this is done in HA, as the change happened in HA, not your esphome config
^^ For Every Entity??
If you were using the default names, yes
I have 978 entities !!!
I have 174 ESPhome devices with 622 Entities!
Well, unfortunately you'll have to rename them all if you don't want the device name in the entity name.
And that will be the case for every new device I make too then, right??
Yes
and every other integration that uses this as well, which is pretty much all integrations that are in the UI that create devices
There should be a "Toggle" for this behaviour too, me thinks! đ
I'm just the messenger, not a feature request sound board đ
I wasn't requesting LOL
Removing thefriendly_name: option from your device configs would mean only 174 changes instead of 622. I'm now thankful I've never used it.
I don't use it either, never have.
Trouble is friendly names is not the problem. HA now adds "Device Name" to "Friendly Name" which is what set by name: in ESPHome
In the example code above, my device is called "6candles-shelf" and I have I set name: to be "Candles ${name}" (The substitution "name" is "Shelf")
So, my Entity was " light.candles_shelf" and have a name in HA as: "Candles Shelf".
- With the new Core Update, that now becomes: "light.6candles-shelf_candles_shelf" with the name as: "6candles-shelf Candles Shelf" đŠ
... This will mean either changing all 174 ESPHome devices, and their respective 622 Entities, or all my automations, scripts, etc in HA and every instance in Node-Red.
Well that's weird as I'm not seeing the same renaming issues for all my ESPHome entities. I assumed it was because of the device friendly_name.
I'm getting this issue too. I wasn't able to find help here or on the esphome discord, so I just renamed my entities manually (or at least the ones I interact with frequently)
I can attest that this doesn't work. I've removed this config line, rebuilt the firmware and removed and re-added the device from HA - the prepended friendly_name persists.
Yeah just noticed some of mine have changed to include the device name. All others I had already modified.
The entity_ids shouldnât have changed, if they did, itâs a bug. Someone tried to claim this during beta and they couldnât prove it actually happened. If you can prove that the entity_ids changed, please share all the details you can so we can correct the problem.
@tame stirrup I reverted back to Core 2025.4.4 to fix the Names.
I'll be re-update later today to try new ways of "fixing" the Entity Names in HA. I'll report back asap
Ah... I forgot...
Until the Backup>Settings page gets fixed, Core 2025.5.0 is unusable/untrusted - Reverting back 2025.4.4 đŠ
just add cloud: to configuration.yaml
it only adds cloud in your UI and gets around the backup page issue.
it does not actually connect you to any cloud, just enables the integration for potential use.
Ah, ok... I've got "Stuffs" to do today. I'll try it all again in a few days. đ
Is there a way to disable this prepending of device name to entity name?
Is there a way to specify the full HA name in the esphome config?
It's not an ESPHome thing, it's the HA ESPHome Integration thing and the way it adds entities FROM ESPHome.
- I've been thinking of ways to "Fix" this and the best idea I've had is to rename ALL my ESPHome Devices.
The trouble is a single device with multiply components...
Say I have several devices with multiple Functions (Components). E.G.:
bedroom-thermostat.yaml
climate:
- platform: thermostat
name: Bedroom Thermostat
...
light:
- platform: monochromatic
name: Bedroom Night Light
...
Previously these would have 'Friendly Names' of
"Bedroom Thermostat" and "Bedroom Night Light" - Easy!
- but now they become "bedroom-thermostat Bedroom Thermostat" and "bedroom-thermostat Bedroom Night Light" Which is REALLY UGLY, not to mention way too long.
I could change the code to:
climate:
- platform: thermostat
name: Thermostat
....
light:
- platform: monochromatic
name: Night Light
...
So they would be: ""bedroom-thermostat Thermostat" and ""bedroom-thermostat Night Light" - Still not what I want !
- PLUS, that would change the entity IDs too ???
If I'm right this looks like it fixed the backup/settings blank page issue ?
https://github.com/home-assistant/frontend/pull/25366
yep
I'll try again then LOL
Confirmed YAY!!
Well this is F*cked-up....
ESPHome Device info shows the name: I set with ESPHome (Left). Where-as the Dashboard shows <device name> + name: WTF!!
@tame stirrup I don't know enough about coding, could you take a look at this PR and tell me if this would fix the adding "Device Name" to entities?
https://github.com/home-assistant/frontend/pull/25373
Thnx đ
what does that have to do with esphome?
that's a PR for a future release
those are also all tests
i.e. not code that runs on the system
Like I say I don't know enough about coding, but, this PR seems to involve checking names/etc
Ah ok... Thnx
this is how device names and entity names are derrived in HA and it's done in the backend, not the frontend
every integration treats device / entity names like this
they aren't going to change it now because a few people don't like it for esphome
there's 100s of other integrations that already follow this naming convention, esphome was brought up to speed
I wonder then, why these differences?
#1370047350290255902 message
That's how all integrations work...
the device page hides the device name in the entities
that's only on the device page
Indeed... so why doesn't the Dashboard?
because the dashboard shows the name of the entity
it has no concept of the entities device
I see that but, I think it'll be a bit confusing to show one "Name" on one page and not another. đ
it's been this way for 4 years now
again, this is not new. This is an old system
you're just hitting it for the first time, but everyone else has been used to this for 4 years
Hmmm, ok... But, I still think it's wrong to display different things in different places for the same entity.
Ok, ok... Looking back at other integrations. I see now I've had to rename entity names per/device.
- I guess I was used to this "Old Way" from ESPHome naming.
So, yeah.. we're cool.
I'll close the Issue and update my thinking LOL
- Bonus: I get to add extra steps to my future YouTube tutorials. #LongerContent đ€Łđ€Ł
@tame stirrup Thank you for taking the time to help... sorry it took me taking so long to get my head around it. đ
Core 2025.5.0 Friendly Names Changed!!! [Resolved]
Until 2025.5 the frontend would not append the device name for esphome devices that had no friendly_name defined for the device. This was by design. bdraco specifically reverted a PR to retain this behaviour and it is well described in the esphome docs. I have opened a frontend issue for it with the relevant supporting links: https://github.com/home-assistant/frontend/issues/25427
As noted and discussed this IS now correct and in-line with how every other Integration works.
E.G.: This ARANET BlueTooth device. Left: Integration Right Dashboard Entities:
@flint hornet care to way in on this?
FYI: "Aranet Studio" is the name I GAVE the found "Device". Previously is came in as: "Aranet4 28C1A"
There has always been a specific exception for ESPHome devices without a friendly_name. That is now not being honoured.
Yes, as you posted links to PR that noted this WAS the behaviour. However, ESPHome Integration has been brough in-line with all others
And still should be.
I know it was nice to set the actual name required in YAML in ESPHome. But, now it's Integration has been updated to act the same as all others - That's no longer the case.
Here's what I do now to get my entity name(s)` back...
- Copy this to here:
Here's the full yaml for that Device:
esphome:
name: bugzapper-bedroom
esp8266:
board: esp01_1m
<<: !include .e_base.yaml
logger:
switch:
- platform: gpio
name: "Bedroom Bug Zapper"
pin: GPIO12
icon: mdi:spider
id: relay
status_led:
pin:
number: GPIO13
inverted: yes
With ".e_base.yaml" being:
####### To use add: #######
## <<: !include .e_base.yaml ##
#######################
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
ota:
platform: esphome
You don't get it.
... So, from now on, and just like we've had to do for every other Integration, we will have to rename entities coming from ESPHome devices.
This was a specific exception for esphome and is still documented in esphome.
Then the DOCs need updating too
Nope the frontend needs fixin
This exception was done on purpose. If someone has accidentally fucked it up then it needs reverting again just like bdraco did previously.
@modern nest I think you're confusing friendly_name: with "Device Name".
Before 2025.5.0, unlike every other Integration, ESPHome Integration did NOT Prepend Entities with the ESPHome Device Name.
IF friendly_name: is set within ESPHome YAML THEN it would be prepended to Entity Names, obviously it won't if it's NOT Set.
However, and again, just like Every Other Integration... ESPHome now Prepends "Device Name" to Entity Names.
There is no "device name" option only "name". And no that specifically should not be prepended to the entity names.
This was done specifically because of the shitfight it caused last time. If they have tried to sneak it back in then prepare for a rowdy rabble with pitchforks.
Sure there is, this is the Device Name:
As i said that is "name" not "device_name".
Bdraco himself stated:
And then he did revert it.
and then stated: "... we could revert this change and restore the bug but it's kinda moot to do that since at some point it will become mandatory"
Well that point aint yet. I don't need some nanny fucking up my carefully chosen entity names that fit nicely in my dashboard. And I certainly don't need to have to specify them twice becasue some meddling twit reverted a perfectly working system.
LOL - I hear that... I too was pissed at the change. As Predro said, it IS a pain but it IS the way it is now.
It's like ESPHome updates. "They" add a feature that NONE of my devices are using. Yet, I still have to update ALL OF THEM!
... and, as a YouTube Tutorial maker, I MUST have the latest versions of everything installed to be correct at time of filming
It's because of the shitty UI editor. People can't work out how to find the right entity because they name them badly and don't realise they can turn on the entity id visibility. Just one in a long line of bad decisions we have to live with.
See that's the difference between peeps that are organised and those that are not. "We" name things logically. However, the DEVs have to consider the "Lowest Hanging Fruit" and make things "idiot proof" - It's defo a pain but that's how the world works. đŠ
Point: CLI vs GUI đ LMAO
Yeah there's no going back: https://github.com/home-assistant/core/pull/143049
- downgrade to 2025.4
- run this in template editor
{%- for e in integration_entities('esphome') %}
{{ e }}:
friendly_name: "{{ state_attr(e, 'friendly_name') }}"
{%- endfor %}
- Add code to custimize.yaml
- Restart HA
- Upgrade HA
- Remove customize.yaml
yes, its not a great solution, yes it's annoying. However we should try to push for a better naming tools in HA over reverting this PR. I understand this isn't ideal, however the naming convention isn't new in HA and we now have 'breadcrumbs's everywhere. I'm fairly sure we can get options to account for these names inside or outside the breadcrumbs.
So, I understand you're frustrated, but we shouldn't be getting emotional and we should be striving for better tools in all of HA, not just esphome.
I've already pinged @marble lion on this, and that's typically how you (and I) should approach things like this in the future. She is the community manager after all.
I must say I understand the frustration I had the same when Tasmota did it, had go and rename few hundreds of entities, Today I just got a reminder of an entity I forgot to rename when I tried to control it from Google Home and it didn't work (Google didn't reconize what I said because the entity name become "Gates Parking gate" instead of "Parking Gate")
I still 100% believe this was not thought deeply by HA core team when it was decided to force naming entities like this.
For people who use centralized installations (same device with multiple outputs control different areas) it is not nice.
Luckily I only have 7 ESPHome devices so not much to rename (but still stange that a device is named "Office AC Office AC" is what was intended)
I don't accpet the claim that this is to align everything, but I understand this train has already gone. I do hope it will still be considered to at least allow the user to select if he want to prefix device name to entities as the whole idea that made me select HA in the first place (and work on improving it) was it flexibility.
Noticed this, it DOES change the Entity ID!!
To replicate:
- Delete a Device in the ESPHome Integration
- Wait for HA to find it again
ALL Entity ID's now have "device name" added to them.
So this IS a bug then, right??
My Code:
substitutions:
name: Bedroom
esphome:
name: curtains-bedroom
...
number:
- platform: template
name: $name Curtains
update_interval: never
Entity went from: number.bedroom_curtains to number.curtains_bedroom_bedroom_curtains
No⊠thatâs normal behavior, you deleted the configuration
But "the configuration" wasn't set in the first place
Yes it was...
When you delete the device, you delete the device from the registry and all associated entities and thier config entries
the config entry holds the previous entity_id
you deleted that
so when it gets recreated, it's recreated using defaults
This is normal behavior. Try it with any non-esphome device. Change the entity_id for an entity on the device, then delete the device, and add the device back. The entity_id you set will be wiped
i.e. normal behavior
Can we please move on from this? The system here has been in place for years. Just not in esphome. It's tried and true, there is almost a 0% chance there is a bug in this part of the system.
Fair enough. I wasn't expecting that to happen. I also have to work out how to name components in the future AND rename & re-config everything existing.
it's really not hard, in your situation, name the device bedroom curtains name the entity position
you will get number.bedroom_curtains_position
(if it's a number entity)
and it will follow the paradigm HA uses and you wont need $name aliases in your esphome config
Yeah, I get that... Also "position" that's the name I was looking for - I was wondering how to name it. Thnx
esphome:
name: Bedroom Curtain
...
number:
- platform: template
name: Position
update_interval: never
Trouble is... now I have to re-write all my yamls and edit a bunch of scripts and automations. BIG job!!
- At least I'll be compliant and "future proof" going forward.
Not sure how I'm going to address 5 years of video tutorial content though, let alone editing all the GitHub code shares. LOL
I'm not sure why you have to do that
just don't delete your existing devices...
the entity_id will remain
No, my OCD won't allow them to remain. đ Plus If I get a YouTube comment/question I'll need to have them correct.
Wait, it changes the entity id too now? This is getting worse and worse. Just by chance I happened to update half a dozen ESP8266 boards to ESP32 before the release of 2025.5. Delete device, flash new board, add device. Everything works no messing about changing anything other than the board type. Now this process would be a major PITA if I have to change every entity id.
If you delete any device in HA and re-add it, your entity_id's come back as the default entity_ids
This is nothing new
Try it with your shelly devices
It is not "nothing new" if it is adding the device name to the entity id.
And there was a reason for that. It is a DIY device with fine grained control over everyhting. That has been taken away.
it has not, there's a PR going through to get better control over the diy devices
Good.
I said this almost 2 weeks ago
but you've been to busy being mad
I don't know what else I can say man
Until recently I was under the impression this was only about names. Not entity ids.
The system has been in place for literal years
you've ran into this system before
so I don't undrestand why it's even a thing
Like the writing has been on the wall for a long ass time
So long that I've been pre-accounting for it for multiple years in ESPHome
and I'm not being facetious here
Yeah and for literal years ESPHome did not work this way meaning there are literal hundreds of thousands of devices that this will affect and no depreciation or communication of any kind was given that this change was going to happen.
there's nothing being deprecated
it's the default name
default
it's a system, it changed behavior
yes, something could have been said, but again, spilled milk
Oh FFS. If you are changing how ESPHome generates entity ids and names you have to warn people. Next time I replace a device my automations will stop working because the entity ids change. How id that not a breaking change?
No one aside from the 10 of you cared about the default generated names
literally 10. There isn't a huge uproar over this
no one's machines are breaking, the names changed. And if you didn't use aliases (esphome side) up the ass just regular device names, nothing changed
I understand you're upset, but getting all pissed off and chastising me about it when I'm just explaining it doesn't do anyone good
And at this point, my amount of fucks to give is so low because of all the bullshit people have been claiming
I understand you are upset, but I disagree with you, this made a lot of noise in the past with multiple integrations, on local forums I am active or managing this was one of the most hated things people mentioned about Home Assistant and being one of the contributors made me feel very uncomfortable about it.
Even now I see every issue about it dismissed with "This is how it should be", instead of trying to understand why what doesn't work for it for some people.
ESPHome is not the last, Shelly which is a big integration is still not complying to it and we are trying to find a way now to comply but not breaking things for people. I can also understand why it is more annoying for people who use ESPHome because they base their installation so that the source of truth is the device it self.
My installation is based mostly on Tasmota and Shelly, when Tasmota did it, I rolled back Home Assistant and keep it not updated for few month, to understand what it means for me, my prod is running on beta and sometimes even on dev so being behind few month was because the work to fix it was too much.
I currently have 110 switches, they used to be all based on names from the devices, in the past I could remove a device (or even completely remove the integration) and re-add it without anything breaks (besides history which I don't care about too much).
Now once every few month I have to rename a device because something happen, I need to rename it again, If I change wiring I need to remember to go back to HA and fix it, which was not needed in the past.
Having 2 central switch installations with multiple devices that control different devices this is an ugly solution and I understand why people act like this because I feel the same.
Here is an example from Shelly (which is not adjusted to comply with this yet):
It would be very ugly if this would have the device name prefixed because the outputs have nothing in common
Ok, then donât keep coming to me about it
I had 0 say in the system, Iâm just accounting for it in my own system
I also just happen to understand why itâs done. I have ideas on what should be done but it needs an arch discussion. Otherwise itâs just complaints to a person who canât do anything
I am active on Home Assistant from 2018, I can say that 90% of the time feedback from the community was highly appreciated and accepted most of the time, don't get it wrong, I don't think anyone should talk not nice or blame people that try to help, I just think something was missed here, as Home Assistant is not trying to be Google or Apple, but something gives the user more control and flexibility which was kinda missed here with trying to make it organized but actually did the opposite.
@tame stirrup I understand it is not related to you, sadly I was on a time I was less active when it was agreed on and was not active in this arch discussion, just saying I understand why people are upset about it
Yes and I understand too, but I continue to get daily pings about this all because I tried to help people get past it with various work arounds
And Iâm fed up
On my day job, I believe in trying to do the correct thing even if it means I have to take back something we worked on for month when I feel it is wrong
Here specifically I think it is still possible to give something which will make everyone happy (such as letting users decide what they prefer with a setting) but the first step is to understand why it is needed, which is why I don't like when it is dismissed with saying that most users/integrations don't care about this change. The fact that this is discussed for over two years means it does make people unhappy.
On my way to sleep, @tame stirrup I am aware of your great work and don't think you should be fed up, most people only want the best for Home Assistant and it is very lovely to see how this project has grown and how much people like you care about it. Thanks!
I don't use aliases. So does that mean my entity id's won't change if I replace a device?
post an example esphome config
You'll need to wait for the other PR and you'd change your config to
esphome:
name: Lux Sensor
platform: ESP32
board: mhetesp32minikit
sub_devices:
- id: outside_light
name: Outside Light
wifi:
ssid: 'WAPLO' # CHANGE THIS SECTION TO SUIT YOUR NETWORK
password: !secret wifi_pwd
manual_ip:
static_ip: 10.1.1.76
gateway: 10.1.1.1
subnet: 255.255.255.0
api:
# password: !secret api_password ## No longer recommended if using encryption. ##
encryption:
key: !secret api_encryption_key
logger:
ota:
password: !secret esp_pwd
binary_sensor:
- platform: status
name: "Status"
i2c:
sda: 21
scl: 22
scan: False
sensor:
- platform: wifi_signal
name: "Level WiFi Signal"
device_id: outside_light
id: os_ll
update_interval: 15s
filters:
- sliding_window_moving_average:
window_size: 15
send_every: 15
send_first_at: 1
- platform: bh1750
name: "Level"
device_id: outside_light
address: 0x23
update_interval: 1s
filters:
- sliding_window_moving_average:
window_size: 10
send_every: 10
send_first_at: 1
- or:
- throttle: 60s
- delta: 5
switch:
- platform: restart
name: "Restart"
and your names and entity_id's won't change when you delete/readd device
So it took me 3 days but, now all my devices have "proper" names. Entities conformed to [device_name] + name: xxx and all my Automations and Scripts edited.
- Bonus: Node-Red noticed the entity_id changes and alerted me to each one - Easy edit there.
I haven't used the esphome "friendy name" because it messed up the entity_id badly. For example:
name: "test-device"
friendly_name: "Konyha"
sensors:
name: "TeljesĂtmĂ©ny"```
In this case the entity_id will be: "sensor.test_device_teljes_tm_ny" (instead of "sensor.konyha_teljesitmeny").
But, without "friendly_name" the entity_id will be good: "sensor.konyha_teljesitmeny".
Now even without "friendly_name" such ugly entity_ids are created and these have to be copied into automations and scripts:
- platform: template
id: sensor_halozat_betaplalas_nem_osszevont_ertek
name: ${device_name} HĂLĂZAT - betĂĄplĂĄlĂĄs nem összevont Ă©rtĂ©k```
Entity_id will be: "sensor.growatt_inverter_growatt_inverter_h_l_zat_bet_pl_l_s_nem_sszevont_rt_k"
Would it be possible to modify the esphome integration to replace non-English characters with their corresponding unaccented counterparts, as before 2025.05?
@tame stirrup Would it be possible to modify the esphome integration to replace non-English characters with their corresponding unaccented counterparts, as before 2025.05?
friendly names are assumed untranslated
I suggest making a feature request to handle translations or change your device name to konyha and removing friendly_name
Unfortunately, since 2025.05, it messes up the entity_id even if I don't specify the friendly_name (it will be full of underscores).
Before 2025.05, the underscores were only included if the friendly_name was specified (that's why I didn't use frienly_name). I made a PR for this, but no one responded to it: https://github.com/home-assistant/core/pull/124997
Then you have until you get a review, like all other PRs
It looks like that PR was closed without a review? You have to keep PRs alive, it takes some time before reviews come through.
Meaning, don't let the PR go stale when stale bot marks it stale
Since it worked fine without friendly_name, I used it without it, but now as of 2025.05 this gate is also closed. What's left? Do I have to rename all entity_ids in Home Assistant by changing the underscores back to the original characters? Could someone make a patch for this that doesn't take months?
No, all fixes go through the normal review process
I recommend using ascii characters for your names inside your esphome configurations instead of the unicode variations
Also when you do that, remove ${device_name} because it's done by default. 2 birds 1 stone.
Yes, I thought about that too, but in this case I have to modify the "friendly name" of the entity one by one in Home Assistant.
why
everything you've mentioned here only happens when the device is first registered with HA. Existing devices will not alter the entity_id.
so if you plan for the names & entity_ids from your esphome device knowing the outcome, you shouldn't have to rename anything in HA.
because your example above already had the device name in the entity name. So nothing there is changing
But if I create a new sensor in a device or add a new device and specify it like this: "name: HALOZAT - betaplalas nem osszevont ertek", then the entity_id will be correct (the device name will also be included at the beginning), but in Home Assistant I have to rewrite the friendly name to this: "HĂLĂZAT - betĂĄplĂĄlĂĄs nem összevont Ă©rtĂ©k".
If you want it translated, yes
the translation functionality you're asking for doesn't exist, and you'll have to deal with that some how. Either renaming or waiting for a PR that addresses it.
I understand, it's just a pain that before 2025.05 this worked perfectly fine, and now it requires extra work to manage.