From a7f33535c7af8261bd4cbd9321040bd7455d7237 Mon Sep 17 00:00:00 2001 From: Allen Porter Date: Sun, 16 Oct 2022 11:45:27 -0700 Subject: [PATCH] Fix google calendar event transparency filter (#80438) --- homeassistant/components/google/calendar.py | 3 ++- tests/components/google/test_calendar.py | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/google/calendar.py b/homeassistant/components/google/calendar.py index 77ed922e511..995fb1ec98f 100644 --- a/homeassistant/components/google/calendar.py +++ b/homeassistant/components/google/calendar.py @@ -359,7 +359,8 @@ class GoogleCalendarEntity(CoordinatorEntity, CalendarEntity): def _apply_coordinator_update(self) -> None: """Copy state from the coordinator to this entity.""" events = self.coordinator.data - self._event = _get_calendar_event(next(iter(events))) if events else None + api_event = next(filter(self._event_filter, iter(events)), None) + self._event = _get_calendar_event(api_event) if api_event else None if self._event: (self._event.summary, self._offset_value) = extract_offset( self._event.summary, self._offset diff --git a/tests/components/google/test_calendar.py b/tests/components/google/test_calendar.py index f4129eb0926..49bfa8e1d72 100644 --- a/tests/components/google/test_calendar.py +++ b/tests/components/google/test_calendar.py @@ -24,6 +24,7 @@ from .conftest import ( TEST_API_ENTITY, TEST_API_ENTITY_NAME, TEST_YAML_ENTITY, + TEST_YAML_ENTITY_NAME, ) from tests.common import async_fire_time_changed @@ -577,6 +578,11 @@ async def test_opaque_event( events = await response.json() assert (len(events) > 0) == expect_visible_event + # Verify entity state for upcoming event + state = hass.states.get(TEST_YAML_ENTITY) + assert state.name == TEST_YAML_ENTITY_NAME + assert state.state == (STATE_ON if expect_visible_event else STATE_OFF) + @pytest.mark.parametrize("mock_test_setup", [None]) async def test_scan_calendar_error(