From c173d4e40c8645d6c9711a2f0592262109654c22 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 14 Jan 2022 12:18:55 -1000 Subject: [PATCH] Ensure status is correct at start for older august bridges - This is the same fix as #64143 but for code that is not present in 2021.12 so its split since this one should not be backported --- homeassistant/components/august/__init__.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/august/__init__.py b/homeassistant/components/august/__init__.py index ec37bf55518eb3..d58541e708d287 100644 --- a/homeassistant/components/august/__init__.py +++ b/homeassistant/components/august/__init__.py @@ -141,9 +141,15 @@ async def async_setup(self): self._pubnub_unsub = async_create_pubnub(user_data["UserID"], pubnub) if self._locks_by_id: - await asyncio.gather( - *[self.async_status_async(lock_id) for lock_id in self._locks_by_id] - ) + tasks = [] + for lock_id in self._locks_by_id: + detail = self._device_detail_by_id[lock_id] + tasks.append( + self.async_status_async( + lock_id, bool(detail.bridge and detail.bridge.hyper_bridge) + ) + ) + await asyncio.gather(*tasks) @callback def async_pubnub_message(self, device_id, date_time, message): @@ -252,13 +258,14 @@ async def async_lock(self, device_id): device_id, ) - async def async_status_async(self, device_id): + async def async_status_async(self, device_id, hyper_bridge): """Request status of the the device but do not wait for a response since it will come via pubnub.""" return await self._async_call_api_op_requires_bridge( device_id, self._api.async_status_async, self._august_gateway.access_token, device_id, + hyper_bridge, ) async def async_lock_async(self, device_id, hyper_bridge):