Reduce unifiprotect update overhead (#96626)
This commit is contained in:
parent
cde1903e8b
commit
f2556df7db
10 changed files with 73 additions and 111 deletions
|
@ -73,18 +73,19 @@ class ProtectLock(ProtectDeviceEntity, LockEntity):
|
|||
@callback
|
||||
def _async_update_device_from_protect(self, device: ProtectModelWithId) -> None:
|
||||
super()._async_update_device_from_protect(device)
|
||||
lock_status = self.device.lock_status
|
||||
|
||||
self._attr_is_locked = False
|
||||
self._attr_is_locking = False
|
||||
self._attr_is_unlocking = False
|
||||
self._attr_is_jammed = False
|
||||
if self.device.lock_status == LockStatusType.CLOSED:
|
||||
if lock_status == LockStatusType.CLOSED:
|
||||
self._attr_is_locked = True
|
||||
elif self.device.lock_status == LockStatusType.CLOSING:
|
||||
elif lock_status == LockStatusType.CLOSING:
|
||||
self._attr_is_locking = True
|
||||
elif self.device.lock_status == LockStatusType.OPENING:
|
||||
elif lock_status == LockStatusType.OPENING:
|
||||
self._attr_is_unlocking = True
|
||||
elif self.device.lock_status in (
|
||||
elif lock_status in (
|
||||
LockStatusType.FAILED_WHILE_CLOSING,
|
||||
LockStatusType.FAILED_WHILE_OPENING,
|
||||
LockStatusType.JAMMED_WHILE_CLOSING,
|
||||
|
@ -92,7 +93,7 @@ class ProtectLock(ProtectDeviceEntity, LockEntity):
|
|||
):
|
||||
self._attr_is_jammed = True
|
||||
# lock is not fully initialized yet
|
||||
elif self.device.lock_status != LockStatusType.OPEN:
|
||||
elif lock_status != LockStatusType.OPEN:
|
||||
self._attr_available = False
|
||||
|
||||
async def async_unlock(self, **kwargs: Any) -> None:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue