From d4ebcf2ba5f127c86e9b5801e0c0d3532e732e9c Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Sat, 25 Sep 2021 12:22:51 -0600 Subject: [PATCH] Simplify state update for Flu Near You (#56650) --- homeassistant/components/flunearyou/sensor.py | 25 +++++-------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/homeassistant/components/flunearyou/sensor.py b/homeassistant/components/flunearyou/sensor.py index 72c0a7b1118..e96578fab97 100644 --- a/homeassistant/components/flunearyou/sensor.py +++ b/homeassistant/components/flunearyou/sensor.py @@ -130,7 +130,7 @@ async def async_setup_entry( for description in USER_SENSOR_DESCRIPTIONS ] ) - async_add_entities(sensors) + async_add_entities(sensors, True) class FluNearYouSensor(CoordinatorEntity, SensorEntity): @@ -156,26 +156,14 @@ class FluNearYouSensor(CoordinatorEntity, SensorEntity): @callback def _handle_coordinator_update(self) -> None: """Handle updated data from the coordinator.""" - self.update_from_latest_data() - self.async_write_ha_state() - - async def async_added_to_hass(self) -> None: - """Register callbacks.""" - await super().async_added_to_hass() - self.update_from_latest_data() - - @callback - def update_from_latest_data(self) -> None: - """Update the sensor.""" - raise NotImplementedError + self.async_schedule_update_ha_state(force_refresh=True) class CdcSensor(FluNearYouSensor): """Define a sensor for CDC reports.""" - @callback - def update_from_latest_data(self) -> None: - """Update the sensor.""" + async def async_update(self) -> None: + """Update the state.""" self._attr_extra_state_attributes.update( { ATTR_REPORTED_DATE: self.coordinator.data["week_date"], @@ -188,9 +176,8 @@ class CdcSensor(FluNearYouSensor): class UserSensor(FluNearYouSensor): """Define a sensor for user reports.""" - @callback - def update_from_latest_data(self) -> None: - """Update the sensor.""" + async def async_update(self) -> None: + """Update the state.""" self._attr_extra_state_attributes.update( { ATTR_CITY: self.coordinator.data["local"]["city"].split("(")[0],