diff --git a/homeassistant/components/broadlink/__init__.py b/homeassistant/components/broadlink/__init__.py index a729ac0ff4a..d8b7f60b5b4 100644 --- a/homeassistant/components/broadlink/__init__.py +++ b/homeassistant/components/broadlink/__init__.py @@ -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 diff --git a/homeassistant/components/broadlink/remote.py b/homeassistant/components/broadlink/remote.py index b03bf7a4a04..03ecb9b7634 100644 --- a/homeassistant/components/broadlink/remote.py +++ b/homeassistant/components/broadlink/remote.py @@ -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