From 383877fbc079a235e0202be59c31666f97d34e7a Mon Sep 17 00:00:00 2001 From: joostlek Date: Wed, 25 Oct 2023 12:00:21 +0200 Subject: [PATCH] Bring Withings activity sensor creation in line with the others --- homeassistant/components/withings/sensor.py | 30 +++++++++++---------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/homeassistant/components/withings/sensor.py b/homeassistant/components/withings/sensor.py index 4729671fa3b0c..18025b7594fc2 100644 --- a/homeassistant/components/withings/sensor.py +++ b/homeassistant/components/withings/sensor.py @@ -705,26 +705,28 @@ def _async_goals_listener() -> None: activity_coordinator = withings_data.activity_coordinator - activity_callback: Callable[[], None] | None = None - activity_entities_setup_before = ent_reg.async_get_entity_id( Platform.SENSOR, DOMAIN, f"withings_{entry.unique_id}_activity_steps_today" ) - def _async_add_activity_entities() -> None: - """Add activity entities.""" - if activity_coordinator.data is not None or activity_entities_setup_before: - async_add_entities( - WithingsActivitySensor(activity_coordinator, attribute) - for attribute in ACTIVITY_SENSORS - ) - if activity_callback: - activity_callback() - if activity_coordinator.data is not None or activity_entities_setup_before: - _async_add_activity_entities() + entities.extend( + WithingsActivitySensor(activity_coordinator, attribute) + for attribute in ACTIVITY_SENSORS + ) else: - activity_callback = activity_coordinator.async_add_listener( + remove_activity_listener: Callable[[], None] + + def _async_add_activity_entities() -> None: + """Add activity entities.""" + if activity_coordinator.data is not None: + async_add_entities( + WithingsActivitySensor(activity_coordinator, attribute) + for attribute in ACTIVITY_SENSORS + ) + remove_activity_listener() + + remove_activity_listener = activity_coordinator.async_add_listener( _async_add_activity_entities )