### What happened?
A breaking change was [introduced in Home Assistant 2023.8](…https://github.com/home-assistant/core/pull/95159) involving naming of MQTT entities which affects update entities exposed by Zigbee2MQTT.
The following warning is logged by Home Assistant:
```
Logger: homeassistant.components.mqtt.mixins
Source: components/mqtt/mixins.py:294
Integration: MQTT (documentation, issues)
First occurred: 7:19:13 PM (10 occurrences)
Last logged: 7:19:14 PM
MQTT device name is equal to entity name in your config {'availability': [{'topic': 'zigbee/bridge/state', 'payload_not_available': 'offline', 'payload_available': 'online'}, {'topic': 'zigbee/Eagle Outlet/availability', 'payload_not_available': 'offline', 'payload_available': 'online'}], 'availability_mode': 'all', 'command_topic': 'zigbee/bridge/request/device/ota_update/update', 'device': {'identifiers': ['zigbee2mqtt_0x00158d00028a402f'], 'manufacturer': 'Xiaomi', 'model': 'Mi power plug ZigBee US (ZNCZ12LM)', 'name': 'Eagle Outlet', 'connections': []}, 'device_class': <UpdateDeviceClass.FIRMWARE: 'firmware'>, 'entity_picture': 'https://github.com/Koenkk/zigbee2mqtt/raw/master/images/logo.png', 'json_attributes_topic': 'zigbee/Eagle Outlet', 'latest_version_template': Template<template=({{ value_json['update']['latest_version'] }}) renders=0>, 'latest_version_topic': 'zigbee/Eagle Outlet', 'name': 'Eagle Outlet', 'payload_install': '{"id": "0x00158d00028a402f"}', 'state_topic': 'zigbee/Eagle Outlet', 'unique_id': '0x00158d00028a402f_update_zigbee', 'value_template': Template<template=({{ value_json['update']['installed_version'] }}) renders=0>, 'payload_available': 'online', 'enabled_by_default': True, 'payload_not_available': 'offline', 'qos': 0, 'encoding': 'utf-8', 'retain': False}, this is not expected. Please correct your configuration. The entity name will be set to `null`
MQTT device name is equal to entity name in your config {'availability': [{'topic': 'zigbee/bridge/state', 'payload_not_available': 'offline', 'payload_available': 'online'}, {'topic': 'zigbee/Kitchen Smart Plug/availability', 'payload_not_available': 'offline', 'payload_available': 'online'}], 'availability_mode': 'all', 'command_topic': 'zigbee/bridge/request/device/ota_update/update', 'device': {'identifiers': ['zigbee2mqtt_0x90fd9ffffe667d69'], 'manufacturer': 'Innr', 'model': 'Smart plug (SP 224)', 'name': 'Kitchen Smart Plug', 'sw_version': '2.7', 'connections': []}, 'device_class': <UpdateDeviceClass.FIRMWARE: 'firmware'>, 'entity_picture': 'https://github.com/Koenkk/zigbee2mqtt/raw/master/images/logo.png', 'json_attributes_topic': 'zigbee/Kitchen Smart Plug', 'latest_version_template': Template<template=({{ value_json['update']['latest_version'] }}) renders=0>, 'latest_version_topic': 'zigbee/Kitchen Smart Plug', 'name': 'Kitchen Smart Plug', 'payload_install': '{"id": "0x90fd9ffffe667d69"}', 'state_topic': 'zigbee/Kitchen Smart Plug', 'unique_id': '0x90fd9ffffe667d69_update_zigbee', 'value_template': Template<template=({{ value_json['update']['installed_version'] }}) renders=0>, 'payload_available': 'online', 'enabled_by_default': True, 'payload_not_available': 'offline', 'qos': 0, 'encoding': 'utf-8', 'retain': False}, this is not expected. Please correct your configuration. The entity name will be set to `null`
MQTT device name is equal to entity name in your config {'availability': [{'topic': 'zigbee/bridge/state', 'payload_not_available': 'offline', 'payload_available': 'online'}, {'topic': 'zigbee/Cellar Heater - Kitchen/availability', 'payload_not_available': 'offline', 'payload_available': 'online'}], 'availability_mode': 'all', 'command_topic': 'zigbee/bridge/request/device/ota_update/update', 'device': {'identifiers': ['zigbee2mqtt_0xb0ce18140003ef99'], 'manufacturer': 'Sengled', 'model': 'Smart plug (E1C-NB6)', 'name': 'Cellar Heater - Kitchen', 'connections': []}, 'device_class': <UpdateDeviceClass.FIRMWARE: 'firmware'>, 'entity_picture': 'https://github.com/Koenkk/zigbee2mqtt/raw/master/images/logo.png', 'json_attributes_topic': 'zigbee/Cellar Heater - Kitchen', 'latest_version_template': Template<template=({{ value_json['update']['latest_version'] }}) renders=0>, 'latest_version_topic': 'zigbee/Cellar Heater - Kitchen', 'name': 'Cellar Heater - Kitchen', 'payload_install': '{"id": "0xb0ce18140003ef99"}', 'state_topic': 'zigbee/Cellar Heater - Kitchen', 'unique_id': '0xb0ce18140003ef99_update_zigbee', 'value_template': Template<template=({{ value_json['update']['installed_version'] }}) renders=0>, 'payload_available': 'online', 'enabled_by_default': True, 'payload_not_available': 'offline', 'qos': 0, 'encoding': 'utf-8', 'retain': False}, this is not expected. Please correct your configuration. The entity name will be set to `null`
MQTT device name is equal to entity name in your config {'availability': [{'topic': 'zigbee/bridge/state', 'payload_not_available': 'offline', 'payload_available': 'online'}, {'topic': 'zigbee/Cellar Heater - 1st/availability', 'payload_not_available': 'offline', 'payload_available': 'online'}], 'availability_mode': 'all', 'command_topic': 'zigbee/bridge/request/device/ota_update/update', 'device': {'identifiers': ['zigbee2mqtt_0xb0ce18140003f855'], 'manufacturer': 'Sengled', 'model': 'Smart plug (E1C-NB6)', 'name': 'Cellar Heater - 1st', 'connections': []}, 'device_class': <UpdateDeviceClass.FIRMWARE: 'firmware'>, 'entity_picture': 'https://github.com/Koenkk/zigbee2mqtt/raw/master/images/logo.png', 'json_attributes_topic': 'zigbee/Cellar Heater - 1st', 'latest_version_template': Template<template=({{ value_json['update']['latest_version'] }}) renders=0>, 'latest_version_topic': 'zigbee/Cellar Heater - 1st', 'name': 'Cellar Heater - 1st', 'payload_install': '{"id": "0xb0ce18140003f855"}', 'state_topic': 'zigbee/Cellar Heater - 1st', 'unique_id': '0xb0ce18140003f855_update_zigbee', 'value_template': Template<template=({{ value_json['update']['installed_version'] }}) renders=0>, 'payload_available': 'online', 'enabled_by_default': True, 'payload_not_available': 'offline', 'qos': 0, 'encoding': 'utf-8', 'retain': False}, this is not expected. Please correct your configuration. The entity name will be set to `null`
MQTT device name is equal to entity name in your config {'availability': [{'topic': 'zigbee/bridge/state', 'payload_not_available': 'offline', 'payload_available': 'online'}, {'topic': 'zigbee/Cellar Heater - 2nd/availability', 'payload_not_available': 'offline', 'payload_available': 'online'}], 'availability_mode': 'all', 'command_topic': 'zigbee/bridge/request/device/ota_update/update', 'device': {'identifiers': ['zigbee2mqtt_0xb0ce18140003f6ee'], 'manufacturer': 'Sengled', 'model': 'Smart plug (E1C-NB6)', 'name': 'Cellar Heater - 2nd', 'connections': []}, 'device_class': <UpdateDeviceClass.FIRMWARE: 'firmware'>, 'entity_picture': 'https://github.com/Koenkk/zigbee2mqtt/raw/master/images/logo.png', 'json_attributes_topic': 'zigbee/Cellar Heater - 2nd', 'latest_version_template': Template<template=({{ value_json['update']['latest_version'] }}) renders=0>, 'latest_version_topic': 'zigbee/Cellar Heater - 2nd', 'name': 'Cellar Heater - 2nd', 'payload_install': '{"id": "0xb0ce18140003f6ee"}', 'state_topic': 'zigbee/Cellar Heater - 2nd', 'unique_id': '0xb0ce18140003f6ee_update_zigbee', 'value_template': Template<template=({{ value_json['update']['installed_version'] }}) renders=0>, 'payload_available': 'online', 'enabled_by_default': True, 'payload_not_available': 'offline', 'qos': 0, 'encoding': 'utf-8', 'retain': False}, this is not expected. Please correct your configuration. The entity name will be set to `null`
```
As you can see, the update entity name is the exact same as the name provided for the device name (for the device registry). As a result, this warning is being logged for all update entities.
By the looks of it, ~~update entity is the only one that~~ switch, update, and light entities are not currently setting the name of the entity in the form of {Device Name} {entity descriptor}.
For example, the energy sensor entity for my outlet has an entity name of `Eagle Outlet energy` with a device registry name of `Eagle Outlet`:
```
availability:
- topic: zigbee/bridge/state
- topic: zigbee/Eagle Outlet/availability
availability_mode: all
device:
identifiers:
- zigbee2mqtt_0x00158d00028a402f
manufacturer: Xiaomi
model: Mi power plug ZigBee US (ZNCZ12LM)
name: Eagle Outlet
device_class: energy
enabled_by_default: true
json_attributes_topic: zigbee/Eagle Outlet
name: Eagle Outlet energy
state_class: total_increasing
state_topic: zigbee/Eagle Outlet
unique_id: 0x00158d00028a402f_energy_zigbee
unit_of_measurement: kWh
value_template: '{{ value_json.energy }}'
platform: mqtt
```
However, the update entity, as seen in the payload below, has its name set to `Eagle Outlet` instead of, for example, `Eagle Outlet update`:
```
availability:
- topic: zigbee/bridge/state
- topic: zigbee/Eagle Outlet/availability
availability_mode: all
command_topic: zigbee/bridge/request/device/ota_update/update
device:
identifiers:
- zigbee2mqtt_0x00158d00028a402f
manufacturer: Xiaomi
model: Mi power plug ZigBee US (ZNCZ12LM)
name: Eagle Outlet
device_class: firmware
entity_picture: https://github.com/Koenkk/zigbee2mqtt/raw/master/images/logo.png
json_attributes_topic: zigbee/Eagle Outlet
latest_version_template: '{{ value_json[''update''][''latest_version''] }}'
latest_version_topic: zigbee/Eagle Outlet
name: Eagle Outlet
payload_install: '{"id": "0x00158d00028a402f"}'
state_topic: zigbee/Eagle Outlet
unique_id: 0x00158d00028a402f_update_zigbee
value_template: '{{ value_json[''update''][''installed_version''] }}'
platform: mqtt
```
### What did you expect to happen?
_No response_
### How to reproduce it (minimal and precise)
_No response_
### Zigbee2MQTT version
1.32.1
### Adapter firmware version
N/A
### Adapter
N/A
### Debug log
_No response_