Fix august lock/unlock with older bridges (#64143)

This commit is contained in:
J. Nick Koston 2022-01-14 13:13:30 -10:00 committed by GitHub
parent b0387efee3
commit 2d5fe93cb2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 14 additions and 7 deletions

View File

@ -261,13 +261,14 @@ class AugustData(AugustSubscriberMixin):
device_id,
)
async def async_lock_async(self, device_id):
async def async_lock_async(self, device_id, hyper_bridge):
"""Lock 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_lock_async,
self._august_gateway.access_token,
device_id,
hyper_bridge,
)
async def async_unlock(self, device_id):
@ -279,13 +280,14 @@ class AugustData(AugustSubscriberMixin):
device_id,
)
async def async_unlock_async(self, device_id):
async def async_unlock_async(self, device_id, hyper_bridge):
"""Unlock 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_unlock_async,
self._august_gateway.access_token,
device_id,
hyper_bridge,
)
async def _async_call_api_op_requires_bridge(

View File

@ -46,17 +46,22 @@ class AugustLock(AugustEntityMixin, RestoreEntity, LockEntity):
self._attr_unique_id = f"{self._device_id:s}_lock"
self._update_from_data()
@property
def _hyper_bridge(self):
"""Check if the lock has a paired hyper bridge."""
return bool(self._detail.bridge and self._detail.bridge.hyper_bridge)
async def async_lock(self, **kwargs):
"""Lock the device."""
if self._data.activity_stream.pubnub.connected:
await self._data.async_lock_async(self._device_id)
await self._data.async_lock_async(self._device_id, self._hyper_bridge)
return
await self._call_lock_operation(self._data.async_lock)
async def async_unlock(self, **kwargs):
"""Unlock the device."""
if self._data.activity_stream.pubnub.connected:
await self._data.async_unlock_async(self._device_id)
await self._data.async_unlock_async(self._device_id, self._hyper_bridge)
return
await self._call_lock_operation(self._data.async_unlock)

View File

@ -2,7 +2,7 @@
"domain": "august",
"name": "August",
"documentation": "https://www.home-assistant.io/integrations/august",
"requirements": ["yalexs==1.1.18"],
"requirements": ["yalexs==1.1.19"],
"codeowners": ["@bdraco"],
"dhcp": [
{

View File

@ -2504,7 +2504,7 @@ xs1-api-client==3.0.0
yalesmartalarmclient==0.3.7
# homeassistant.components.august
yalexs==1.1.18
yalexs==1.1.19
# homeassistant.components.yeelight
yeelight==0.7.8

View File

@ -1526,7 +1526,7 @@ xmltodict==0.12.0
yalesmartalarmclient==0.3.7
# homeassistant.components.august
yalexs==1.1.18
yalexs==1.1.19
# homeassistant.components.yeelight
yeelight==0.7.8