From ec62b0cdfbcc36df8db0b167295c4ee97d58b4b6 Mon Sep 17 00:00:00 2001 From: Simone Chemelli Date: Fri, 26 Sep 2025 01:34:09 +0200 Subject: [PATCH] Code optimization for Uptime Robot (#152993) --- .../components/uptimerobot/binary_sensor.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/uptimerobot/binary_sensor.py b/homeassistant/components/uptimerobot/binary_sensor.py index 52e490222fc7e..0a0f973c6e008 100644 --- a/homeassistant/components/uptimerobot/binary_sensor.py +++ b/homeassistant/components/uptimerobot/binary_sensor.py @@ -28,11 +28,12 @@ async def async_setup_entry( known_devices: set[int] = set() def _check_device() -> None: - current_devices = {monitor.id for monitor in coordinator.data} - new_devices = current_devices - known_devices - if new_devices: - known_devices.update(new_devices) - async_add_entities( + entities: list[UptimeRobotBinarySensor] = [] + for monitor in coordinator.data: + if monitor.id in known_devices: + continue + known_devices.add(monitor.id) + entities.append( UptimeRobotBinarySensor( coordinator, BinarySensorEntityDescription( @@ -41,9 +42,9 @@ def _check_device() -> None: ), monitor=monitor, ) - for monitor in coordinator.data - if monitor.id in new_devices ) + if entities: + async_add_entities(entities) _check_device() entry.async_on_unload(coordinator.async_add_listener(_check_device))