diff --git a/homeassistant/components/broadlink/config_flow.py b/homeassistant/components/broadlink/config_flow.py index 4dfc80c6fe97230b4095c33745f9c1379665d809..9fe83e350cfbd5128a290e58f02cde0ea4201157 100644 --- a/homeassistant/components/broadlink/config_flow.py +++ b/homeassistant/components/broadlink/config_flow.py @@ -7,7 +7,7 @@ import broadlink as blk from broadlink.exceptions import ( AuthenticationError, BroadlinkException, - DeviceOfflineError, + NetworkTimeoutError, ) import voluptuous as vol @@ -139,7 +139,7 @@ class BroadlinkFlowHandler(config_entries.ConfigFlow, domain=DOMAIN): await self.async_set_unique_id(device.mac.hex()) return await self.async_step_reset(errors=errors) - except DeviceOfflineError as err: + except NetworkTimeoutError as err: errors["base"] = "cannot_connect" err_msg = str(err) @@ -207,7 +207,7 @@ class BroadlinkFlowHandler(config_entries.ConfigFlow, domain=DOMAIN): try: await self.hass.async_add_executor_job(device.set_lock, False) - except DeviceOfflineError as err: + except NetworkTimeoutError as err: errors["base"] = "cannot_connect" err_msg = str(err) diff --git a/homeassistant/components/broadlink/device.py b/homeassistant/components/broadlink/device.py index d05fdfd4df6406548df84866e0e089839f5de5a6..51d9b0a497ffa2f53fb920f259581979e6f3a24b 100644 --- a/homeassistant/components/broadlink/device.py +++ b/homeassistant/components/broadlink/device.py @@ -9,7 +9,7 @@ from broadlink.exceptions import ( AuthorizationError, BroadlinkException, ConnectionClosedError, - DeviceOfflineError, + NetworkTimeoutError, ) from homeassistant.const import CONF_HOST, CONF_MAC, CONF_NAME, CONF_TIMEOUT, CONF_TYPE @@ -82,7 +82,7 @@ class BroadlinkDevice: await self._async_handle_auth_error() return False - except (DeviceOfflineError, OSError) as err: + except (NetworkTimeoutError, OSError) as err: raise ConfigEntryNotReady from err except BroadlinkException as err: diff --git a/homeassistant/components/broadlink/manifest.json b/homeassistant/components/broadlink/manifest.json index 6a6300449044cdacddf3af73e45d0f7c70bb3f73..9c6e571ec8685eaad64a0fae131327f94994e4f0 100644 --- a/homeassistant/components/broadlink/manifest.json +++ b/homeassistant/components/broadlink/manifest.json @@ -2,7 +2,7 @@ "domain": "broadlink", "name": "Broadlink", "documentation": "https://www.home-assistant.io/integrations/broadlink", - "requirements": ["broadlink==0.14.1"], + "requirements": ["broadlink==0.15.0"], "codeowners": ["@danielhiversen", "@felipediel"], "config_flow": true } diff --git a/homeassistant/components/broadlink/remote.py b/homeassistant/components/broadlink/remote.py index 7c1ae7349da85bb64a2ce63777e99e0bef09c483..32305331a218712c262f867d47df789ab0cb5cb9 100644 --- a/homeassistant/components/broadlink/remote.py +++ b/homeassistant/components/broadlink/remote.py @@ -9,7 +9,7 @@ import logging from broadlink.exceptions import ( AuthorizationError, BroadlinkException, - DeviceOfflineError, + NetworkTimeoutError, ReadError, StorageError, ) @@ -262,7 +262,7 @@ class BroadlinkRemote(RemoteEntity, RestoreEntity): try: await self._device.async_request(self._device.api.send_data, code) - except (AuthorizationError, DeviceOfflineError, OSError) as err: + except (AuthorizationError, NetworkTimeoutError, OSError) as err: _LOGGER.error("Failed to send '%s': %s", command, err) break @@ -295,7 +295,7 @@ class BroadlinkRemote(RemoteEntity, RestoreEntity): if toggle: code = [code, await self._async_learn_command(command)] - except (AuthorizationError, DeviceOfflineError, OSError) as err: + except (AuthorizationError, NetworkTimeoutError, OSError) as err: _LOGGER.error("Failed to learn '%s': %s", command, err) break diff --git a/homeassistant/components/broadlink/updater.py b/homeassistant/components/broadlink/updater.py index 8b6f1316f52d510f2ec352e1c67a7a4be8df8949..d36a07a185bdba49d1257bcf5602d5f08967b903 100644 --- a/homeassistant/components/broadlink/updater.py +++ b/homeassistant/components/broadlink/updater.py @@ -9,7 +9,7 @@ from broadlink.exceptions import ( AuthorizationError, BroadlinkException, CommandNotSupportedError, - DeviceOfflineError, + NetworkTimeoutError, StorageError, ) @@ -113,7 +113,7 @@ class BroadlinkRMMini3UpdateManager(BroadlinkUpdateManager): ) devices = await self.device.hass.async_add_executor_job(hello) if not devices: - raise DeviceOfflineError("The device is offline") + raise NetworkTimeoutError("The device is offline") return {} diff --git a/requirements_all.txt b/requirements_all.txt index 771d31c80bee4327d9edfe57e070e627014342cc..6406f32bad6a345fbbc4a539798259a862ba8e2c 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -383,7 +383,7 @@ boto3==1.9.252 bravia-tv==1.0.6 # homeassistant.components.broadlink -broadlink==0.14.1 +broadlink==0.15.0 # homeassistant.components.brother brother==0.1.17 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 6a86f7538baf6432b9f490e24257657f81cf1d74..455341a248362ed57fc88d6f3aca8d89947962e2 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -204,7 +204,7 @@ bond-api==0.1.8 bravia-tv==1.0.6 # homeassistant.components.broadlink -broadlink==0.14.1 +broadlink==0.15.0 # homeassistant.components.brother brother==0.1.17 diff --git a/tests/components/broadlink/test_config_flow.py b/tests/components/broadlink/test_config_flow.py index a7660b03da5b636bca7733c87f35159e143d42ff..bc0eba069a862bf6d7f740017bddf425b9721800 100644 --- a/tests/components/broadlink/test_config_flow.py +++ b/tests/components/broadlink/test_config_flow.py @@ -249,11 +249,11 @@ async def test_flow_auth_authentication_error(hass): assert result["errors"] == {"base": "invalid_auth"} -async def test_flow_auth_device_offline(hass): - """Test we handle a device offline in the auth step.""" +async def test_flow_auth_network_timeout(hass): + """Test we handle a network timeout in the auth step.""" device = get_device("Living Room") mock_api = device.get_mock_api() - mock_api.auth.side_effect = blke.DeviceOfflineError() + mock_api.auth.side_effect = blke.NetworkTimeoutError() result = await hass.config_entries.flow.async_init( DOMAIN, context={"source": config_entries.SOURCE_USER} @@ -403,12 +403,12 @@ async def test_flow_unlock_works(hass): assert mock_api.set_lock.call_count == 1 -async def test_flow_unlock_device_offline(hass): - """Test we handle a device offline in the unlock step.""" +async def test_flow_unlock_network_timeout(hass): + """Test we handle a network timeout in the unlock step.""" device = get_device("Living Room") mock_api = device.get_mock_api() mock_api.is_locked = True - mock_api.set_lock.side_effect = blke.DeviceOfflineError + mock_api.set_lock.side_effect = blke.NetworkTimeoutError() result = await hass.config_entries.flow.async_init( DOMAIN, context={"source": config_entries.SOURCE_USER} diff --git a/tests/components/broadlink/test_device.py b/tests/components/broadlink/test_device.py index 1e68921e9bdd5d288bc9ec5afe2871f9c5a53ac1..d267243aeb94814b938590b685d4f9af972833ed 100644 --- a/tests/components/broadlink/test_device.py +++ b/tests/components/broadlink/test_device.py @@ -62,11 +62,11 @@ async def test_device_setup_authentication_error(hass): } -async def test_device_setup_device_offline(hass): - """Test we handle a device offline.""" +async def test_device_setup_network_timeout(hass): + """Test we handle a network timeout.""" device = get_device("Office") mock_api = device.get_mock_api() - mock_api.auth.side_effect = blke.DeviceOfflineError() + mock_api.auth.side_effect = blke.NetworkTimeoutError() with patch.object( hass.config_entries, "async_forward_entry_setup" @@ -119,11 +119,11 @@ async def test_device_setup_broadlink_exception(hass): assert mock_init.call_count == 0 -async def test_device_setup_update_device_offline(hass): - """Test we handle a device offline in the update step.""" +async def test_device_setup_update_network_timeout(hass): + """Test we handle a network timeout in the update step.""" device = get_device("Office") mock_api = device.get_mock_api() - mock_api.check_sensors.side_effect = blke.DeviceOfflineError() + mock_api.check_sensors.side_effect = blke.NetworkTimeoutError() with patch.object( hass.config_entries, "async_forward_entry_setup" @@ -308,7 +308,7 @@ async def test_device_unload_update_failed(hass): """Test we unload a device that failed the update step.""" device = get_device("Office") mock_api = device.get_mock_api() - mock_api.check_sensors.side_effect = blke.DeviceOfflineError() + mock_api.check_sensors.side_effect = blke.NetworkTimeoutError() with patch.object(hass.config_entries, "async_forward_entry_setup"): _, mock_entry = await device.setup_entry(hass, mock_api=mock_api)