1
0
mirror of https://github.com/home-assistant/core.git synced 2026-02-15 07:36:16 +00:00

Fix scrape sensor device name (#160765)

This commit is contained in:
Artur Pragacz
2026-01-12 10:53:25 +01:00
committed by GitHub
parent e5851b7920
commit 0da518e951

View File

@@ -142,6 +142,8 @@ async def async_setup_entry(
class ScrapeSensor(CoordinatorEntity[ScrapeCoordinator], ManualTriggerSensorEntity):
"""Representation of a web scrape sensor."""
_sensor_name: str | None = None
def __init__(
self,
hass: HomeAssistant,
@@ -162,14 +164,26 @@ class ScrapeSensor(CoordinatorEntity[ScrapeCoordinator], ManualTriggerSensorEnti
self._value_template = value_template
self._attr_native_value = None
if not yaml and (unique_id := trigger_entity_config.get(CONF_UNIQUE_ID)):
self._attr_name = None
self._sensor_name = None
self._attr_has_entity_name = True
self._attr_device_info = DeviceInfo(
entry_type=DeviceEntryType.SERVICE,
identifiers={(DOMAIN, unique_id)},
manufacturer="Scrape",
name=self.name,
name=self._rendered[CONF_NAME],
)
else:
self._sensor_name = self._rendered.get(CONF_NAME)
@property
def name(self) -> str | None:
"""Return the name of the sensor.
Override needed because TriggerBaseEntity.name always returns the
rendered name, ignoring _attr_name. When has_entity_name is True,
we need name to return None to use the device name instead.
"""
return self._sensor_name
def _extract_value(self) -> Any:
"""Parse the html extraction in the executor."""