From f606ba3b2394bbda4566a1443026f375a14eceb9 Mon Sep 17 00:00:00 2001 From: Simone Chemelli Date: Sun, 21 Nov 2021 10:25:18 +0100 Subject: [PATCH] Detail reason for ConfigEntryNotReady (#60062) --- homeassistant/components/shelly/__init__.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/shelly/__init__.py b/homeassistant/components/shelly/__init__.py index ca690e33361..92e13aad664 100644 --- a/homeassistant/components/shelly/__init__.py +++ b/homeassistant/components/shelly/__init__.py @@ -166,8 +166,12 @@ async def async_setup_block_entry(hass: HomeAssistant, entry: ConfigEntry) -> bo try: async with async_timeout.timeout(AIOSHELLY_DEVICE_TIMEOUT_SEC): await device.initialize() - except (asyncio.TimeoutError, OSError) as err: - raise ConfigEntryNotReady from err + except asyncio.TimeoutError as err: + raise ConfigEntryNotReady( + str(err) or "Timeout during device setup" + ) from err + except OSError as err: + raise ConfigEntryNotReady(str(err) or "Error during device setup") from err await async_block_device_setup(hass, entry, device) elif sleep_period is None or device_entry is None: @@ -219,8 +223,10 @@ async def async_setup_rpc_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool device = await RpcDevice.create( aiohttp_client.async_get_clientsession(hass), options ) - except (asyncio.TimeoutError, OSError) as err: - raise ConfigEntryNotReady from err + except asyncio.TimeoutError as err: + raise ConfigEntryNotReady(str(err) or "Timeout during device setup") from err + except OSError as err: + raise ConfigEntryNotReady(str(err) or "Error during device setup") from err device_wrapper = hass.data[DOMAIN][DATA_CONFIG_ENTRY][entry.entry_id][ RPC