diff --git a/homeassistant/components/tibber/sensor.py b/homeassistant/components/tibber/sensor.py index f2ff23dfe5d..b60d88e9814 100644 --- a/homeassistant/components/tibber/sensor.py +++ b/homeassistant/components/tibber/sensor.py @@ -186,6 +186,7 @@ class TibberSensor(SensorEntity): """Initialize the sensor.""" self._tibber_home = tibber_home self._home_name = tibber_home.info["viewer"]["home"]["appNickname"] + self._device_name = None if self._home_name is None: self._home_name = tibber_home.info["viewer"]["home"]["address"].get( "address1", "" @@ -202,7 +203,7 @@ class TibberSensor(SensorEntity): """Return the device_info of the device.""" device_info = { "identifiers": {(TIBBER_DOMAIN, self.device_id)}, - "name": self.name, + "name": self._device_name, "manufacturer": MANUFACTURER, } if self._model is not None: @@ -237,6 +238,8 @@ class TibberSensorElPrice(TibberSensor): self._attr_unique_id = f"{self._tibber_home.home_id}" self._model = "Price Sensor" + self._device_name = self._attr_name + async def async_update(self): """Get the latest data and updates the states.""" now = dt_util.now() @@ -295,6 +298,7 @@ class TibberSensorRT(TibberSensor): super().__init__(tibber_home) self._sensor_name = sensor_name self._model = "Tibber Pulse" + self._device_name = f"{self._model} {self._home_name}" self._attr_device_class = device_class self._attr_name = f"{self._sensor_name} {self._home_name}" @@ -330,7 +334,7 @@ class TibberSensorRT(TibberSensor): self.async_on_remove( async_dispatcher_connect( self.hass, - SIGNAL_UPDATE_ENTITY.format(self._sensor_name), + SIGNAL_UPDATE_ENTITY.format(self.unique_id), self._set_state, ) ) @@ -370,7 +374,7 @@ class TibberRtDataHandler: self._async_add_entities = async_add_entities self._tibber_home = tibber_home self.hass = hass - self._entities = set() + self._entities = {} async def async_callback(self, payload): """Handle received data.""" @@ -393,7 +397,7 @@ class TibberRtDataHandler: if sensor_type in self._entities: async_dispatcher_send( self.hass, - SIGNAL_UPDATE_ENTITY.format(RT_SENSOR_MAP[sensor_type][0]), + SIGNAL_UPDATE_ENTITY.format(self._entities[sensor_type]), state, timestamp, ) @@ -412,6 +416,6 @@ class TibberRtDataHandler: state_class, ) new_entities.append(entity) - self._entities.add(sensor_type) + self._entities[sensor_type] = entity.unique_id if new_entities: self._async_add_entities(new_entities)