From 87d61eea6f4189bf1dc01614534e1fff84db4a7f Mon Sep 17 00:00:00 2001 From: Esteban Zapata Rojas <2417465+estebanz01@users.noreply.github.com> Date: Fri, 5 Jul 2024 15:58:39 -0500 Subject: [PATCH] at init: Replace deprecated async entry setup call with suggestion. Based on https://developers.home-assistant.io/blog/2024/06/12/async_forward_entry_setups/ it is possible to replace it with `async_forward_entry_setups` instead, which accepts multiple platforms and it should be more efficient. --- custom_components/localtuya/__init__.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/custom_components/localtuya/__init__.py b/custom_components/localtuya/__init__.py index b126c2f..35a2adb 100644 --- a/custom_components/localtuya/__init__.py +++ b/custom_components/localtuya/__init__.py @@ -139,7 +139,7 @@ async def async_setup(hass: HomeAssistant, config: dict): ) new_data[ATTR_UPDATED_AT] = str(int(time.time() * 1000)) hass.config_entries.async_update_entry(entry, data=new_data) - + elif device_id in hass.data[DOMAIN][TUYA_DEVICES]: _LOGGER.debug("Device %s found with IP %s", device_id, device_ip) @@ -270,12 +270,9 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry): ) hass.data[DOMAIN][TUYA_DEVICES][dev_id] = TuyaDevice(hass, entry, dev_id) - await asyncio.gather( - *[ - hass.config_entries.async_forward_entry_setup(entry, platform) - for platform in platforms - ] - ) + # Setup all platforms at once, letting HA handling each platform and avoiding + # potential integration restarts while elements are still initialising. + await hass.config_entries.async_forward_entry_setups(entry, platforms) for dev_id in device_ids: hass.data[DOMAIN][TUYA_DEVICES][dev_id].async_connect()