From a2138a76428efe68b04c139beb907f4371c7571f Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 30 Apr 2021 14:04:59 -0700 Subject: [PATCH] Iqvia to check bad fetch during setup (#49931) --- homeassistant/components/iqvia/__init__.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/homeassistant/components/iqvia/__init__.py b/homeassistant/components/iqvia/__init__.py index 14e6353a064..65914bb1756 100644 --- a/homeassistant/components/iqvia/__init__.py +++ b/homeassistant/components/iqvia/__init__.py @@ -36,15 +36,9 @@ DEFAULT_SCAN_INTERVAL = timedelta(minutes=30) PLATFORMS = ["sensor"] -async def async_setup(hass, config): - """Set up the IQVIA component.""" - hass.data[DOMAIN] = {DATA_COORDINATOR: {}} - return True - - async def async_setup_entry(hass, entry): """Set up IQVIA as config entry.""" - hass.data[DOMAIN][DATA_COORDINATOR][entry.entry_id] = {} + coordinators = {} if not entry.unique_id: # If the config entry doesn't already have a unique ID, set one: @@ -72,19 +66,18 @@ async def async_setup_entry(hass, entry): (TYPE_DISEASE_FORECAST, client.disease.extended), (TYPE_DISEASE_INDEX, client.disease.current), ]: - coordinator = hass.data[DOMAIN][DATA_COORDINATOR][entry.entry_id][ - sensor_type - ] = DataUpdateCoordinator( + coordinator = coordinators[sensor_type] = DataUpdateCoordinator( hass, LOGGER, name=f"{entry.data[CONF_ZIP_CODE]} {sensor_type}", update_interval=DEFAULT_SCAN_INTERVAL, update_method=partial(async_get_data_from_api, api_coro), ) - init_data_update_tasks.append(coordinator.async_refresh()) + init_data_update_tasks.append(coordinator.async_config_entry_first_refresh()) await asyncio.gather(*init_data_update_tasks) + hass.data[DOMAIN].setdefault(DATA_COORDINATOR, {})[entry.entry_id] = coordinators hass.config_entries.async_setup_platforms(entry, PLATFORMS) return True