From eab1be0ff6a0fe7c12fbba4dbf2516df2fe59729 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Tue, 29 Sep 2026 12:57:18 +0200 Subject: [PATCH] Set the sma sensor name once instead of in a name property (#183577) Co-authored-by: Claude Opus 5.5 --- homeassistant/components/sma/sensor.py | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/homeassistant/components/sma/sensor.py b/homeassistant/components/sma/sensor.py index 79b97ab105b1..f023ec09bca9 100644 --- a/homeassistant/components/sma/sensor.py +++ b/homeassistant/components/sma/sensor.py @@ -866,8 +866,11 @@ class SMAsensor(CoordinatorEntity[SMADataUpdateCoordinator], SensorEntity): super().__init__(coordinator) if description is not None: self.entity_description = description + sensor_name = description.name else: - self._attr_name = pysma_sensor.name + sensor_name = pysma_sensor.name + device_name = coordinator.data.sma_device_info.name + self._attr_name = f"{device_name or 'SMA'} {sensor_name}" protocol = "https" if entry.data[CONF_SSL] else "http" url = f"{protocol}://{entry.data[CONF_HOST]}" @@ -881,7 +884,7 @@ class SMAsensor(CoordinatorEntity[SMADataUpdateCoordinator], SensorEntity): identifiers={(DOMAIN, entry.unique_id)}, manufacturer=coordinator.data.sma_device_info.manufacturer, model=coordinator.data.sma_device_info.type, - name=coordinator.data.sma_device_info.name, + name=device_name, sw_version=coordinator.data.sma_device_info.sw_version, serial_number=coordinator.data.sma_device_info.serial, ) @@ -893,17 +896,6 @@ class SMAsensor(CoordinatorEntity[SMADataUpdateCoordinator], SensorEntity): # Will be enabled by async_added_to_hass if actually used. self._sensor.enabled = False - @property - @override - def name(self) -> str: - """Return the name of the sensor prefixed with the device name.""" - if self._attr_device_info is None or not ( - name_prefix := self._attr_device_info.get("name") - ): - name_prefix = "SMA" - - return f"{name_prefix} {super().name}" - @property @override def available(self) -> bool: