From 099b844dce77529aaa4a78417d377038839a7c78 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 24 Jan 2023 10:23:34 -1000 Subject: [PATCH] Migrate shelly to use async_forward_entry_setups (#86554) Replaces deprecated async_setup_platforms with async_forward_entry_setups --- homeassistant/components/shelly/__init__.py | 22 ++++++++++----------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/homeassistant/components/shelly/__init__.py b/homeassistant/components/shelly/__init__.py index 5adb769f4f4..b57ec6fa96d 100644 --- a/homeassistant/components/shelly/__init__.py +++ b/homeassistant/components/shelly/__init__.py @@ -151,8 +151,7 @@ async def _async_setup_block_entry(hass: HomeAssistant, entry: ConfigEntry) -> b sleep_period = entry.data.get(CONF_SLEEP_PERIOD) shelly_entry_data = get_entry_data(hass)[entry.entry_id] - @callback - def _async_block_device_setup() -> None: + async def _async_block_device_setup() -> None: """Set up a block based device that is online.""" shelly_entry_data.block = ShellyBlockCoordinator(hass, entry, device) shelly_entry_data.block.async_setup() @@ -163,7 +162,7 @@ async def _async_setup_block_entry(hass: HomeAssistant, entry: ConfigEntry) -> b shelly_entry_data.rest = ShellyRestCoordinator(hass, device, entry) platforms = BLOCK_PLATFORMS - hass.config_entries.async_setup_platforms(entry, platforms) + await hass.config_entries.async_forward_entry_setups(entry, platforms) @callback def _async_device_online(_: Any) -> None: @@ -176,7 +175,7 @@ async def _async_setup_block_entry(hass: HomeAssistant, entry: ConfigEntry) -> b data["model"] = device.settings["device"]["type"] hass.config_entries.async_update_entry(entry, data=data) - _async_block_device_setup() + hass.async_create_task(_async_block_device_setup()) if sleep_period == 0: # Not a sleeping device, finish setup @@ -188,7 +187,7 @@ async def _async_setup_block_entry(hass: HomeAssistant, entry: ConfigEntry) -> b except InvalidAuthError as err: raise ConfigEntryAuthFailed(repr(err)) from err - _async_block_device_setup() + await _async_block_device_setup() elif sleep_period is None or device_entry is None: # Need to get sleep info or first time sleeping device setup, wait for device shelly_entry_data.device = device @@ -199,7 +198,7 @@ async def _async_setup_block_entry(hass: HomeAssistant, entry: ConfigEntry) -> b else: # Restore sensors for sleeping device LOGGER.debug("Setting up offline block device %s", entry.title) - _async_block_device_setup() + await _async_block_device_setup() return True @@ -236,8 +235,7 @@ async def _async_setup_rpc_entry(hass: HomeAssistant, entry: ConfigEntry) -> boo sleep_period = entry.data.get(CONF_SLEEP_PERIOD) shelly_entry_data = get_entry_data(hass)[entry.entry_id] - @callback - def _async_rpc_device_setup() -> None: + async def _async_rpc_device_setup() -> None: """Set up a RPC based device that is online.""" shelly_entry_data.rpc = ShellyRpcCoordinator(hass, entry, device) shelly_entry_data.rpc.async_setup() @@ -250,7 +248,7 @@ async def _async_setup_rpc_entry(hass: HomeAssistant, entry: ConfigEntry) -> boo ) platforms = RPC_PLATFORMS - hass.config_entries.async_setup_platforms(entry, platforms) + await hass.config_entries.async_forward_entry_setups(entry, platforms) @callback def _async_device_online(_: Any, update_type: UpdateType) -> None: @@ -262,7 +260,7 @@ async def _async_setup_rpc_entry(hass: HomeAssistant, entry: ConfigEntry) -> boo data[CONF_SLEEP_PERIOD] = get_rpc_device_sleep_period(device.config) hass.config_entries.async_update_entry(entry, data=data) - _async_rpc_device_setup() + hass.async_create_task(_async_rpc_device_setup()) if sleep_period == 0: # Not a sleeping device, finish setup @@ -274,7 +272,7 @@ async def _async_setup_rpc_entry(hass: HomeAssistant, entry: ConfigEntry) -> boo except InvalidAuthError as err: raise ConfigEntryAuthFailed(repr(err)) from err - _async_rpc_device_setup() + await _async_rpc_device_setup() elif sleep_period is None or device_entry is None: # Need to get sleep info or first time sleeping device setup, wait for device shelly_entry_data.device = device @@ -285,7 +283,7 @@ async def _async_setup_rpc_entry(hass: HomeAssistant, entry: ConfigEntry) -> boo else: # Restore sensors for sleeping device LOGGER.debug("Setting up offline block device %s", entry.title) - _async_rpc_device_setup() + await _async_rpc_device_setup() return True