Handle StorageError in the Broadlink integration (#35986)
parent
88ebdf3a53
commit
3d253fa52a
|
@ -6,7 +6,7 @@ from datetime import timedelta
|
|||
import logging
|
||||
import re
|
||||
|
||||
from broadlink.exceptions import BroadlinkException, ReadError
|
||||
from broadlink.exceptions import BroadlinkException, ReadError, StorageError
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.const import CONF_HOST
|
||||
|
@ -85,10 +85,11 @@ async def async_setup_service(hass, host, device):
|
|||
_LOGGER.info("Press the key you want Home Assistant to learn")
|
||||
start_time = utcnow()
|
||||
while (utcnow() - start_time) < timedelta(seconds=20):
|
||||
await asyncio.sleep(1)
|
||||
try:
|
||||
packet = await device.async_request(device.api.check_data)
|
||||
except ReadError:
|
||||
await asyncio.sleep(1)
|
||||
except (ReadError, StorageError):
|
||||
continue
|
||||
except BroadlinkException as err_msg:
|
||||
_LOGGER.error("Failed to learn: %s", err_msg)
|
||||
return
|
||||
|
|
|
@ -14,6 +14,7 @@ from broadlink.exceptions import (
|
|||
BroadlinkException,
|
||||
DeviceOfflineError,
|
||||
ReadError,
|
||||
StorageError,
|
||||
)
|
||||
import voluptuous as vol
|
||||
|
||||
|
@ -321,10 +322,11 @@ class BroadlinkRemote(RemoteEntity):
|
|||
code = None
|
||||
start_time = utcnow()
|
||||
while (utcnow() - start_time) < timedelta(seconds=timeout):
|
||||
await asyncio.sleep(1)
|
||||
try:
|
||||
code = await self.device.async_request(self.device.api.check_data)
|
||||
except ReadError:
|
||||
await asyncio.sleep(1)
|
||||
except (ReadError, StorageError):
|
||||
continue
|
||||
else:
|
||||
break
|
||||
|
||||
|
|
Loading…
Reference in New Issue