From f88b24f8a4a395e8b13cc18962fe49ab15af1ce8 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 18 Jun 2024 20:40:21 -0500 Subject: [PATCH] Combine statements that return the same result in august binary_sensor (#119944) --- .../components/august/binary_sensor.py | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/homeassistant/components/august/binary_sensor.py b/homeassistant/components/august/binary_sensor.py index 50378b837a4..beb899a174b 100644 --- a/homeassistant/components/august/binary_sensor.py +++ b/homeassistant/components/august/binary_sensor.py @@ -63,30 +63,29 @@ def _retrieve_motion_state(data: AugustData, detail: DoorbellDetail) -> bool: return _activity_time_based_state(latest) -def _retrieve_image_capture_state(data: AugustData, detail: DoorbellDetail) -> bool: - assert data.activity_stream is not None - latest = data.activity_stream.get_latest_device_activity( - detail.device_id, {ActivityType.DOORBELL_IMAGE_CAPTURE} - ) +_IMAGE_ACTIVITIES = {ActivityType.DOORBELL_IMAGE_CAPTURE} + +def _retrieve_image_capture_state(data: AugustData, detail: DoorbellDetail) -> bool: + stream = data.activity_stream + assert stream is not None + latest = stream.get_latest_device_activity(detail.device_id, _IMAGE_ACTIVITIES) if latest is None: return False - return _activity_time_based_state(latest) +_RING_ACTIVITIES = {ActivityType.DOORBELL_DING} + + def _retrieve_ding_state(data: AugustData, detail: DoorbellDetail | LockDetail) -> bool: - assert data.activity_stream is not None - latest = data.activity_stream.get_latest_device_activity( - detail.device_id, {ActivityType.DOORBELL_DING} - ) - - if latest is None: + stream = data.activity_stream + assert stream is not None + latest = stream.get_latest_device_activity(detail.device_id, _RING_ACTIVITIES) + if latest is None or ( + data.push_updates_connected and latest.action == ACTION_DOORBELL_CALL_MISSED + ): return False - - if data.push_updates_connected and latest.action == ACTION_DOORBELL_CALL_MISSED: - return False - return _activity_time_based_state(latest)