From b58e0331cfb410bdd64ac9d5e39ddc17075eccf6 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 24 May 2024 23:54:25 -1000 Subject: [PATCH] Migrate zwave_js to use async_unload_platforms (#118101) --- homeassistant/components/zwave_js/__init__.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/homeassistant/components/zwave_js/__init__.py b/homeassistant/components/zwave_js/__init__.py index e0b0e3cd370..efd9ab717ad 100644 --- a/homeassistant/components/zwave_js/__init__.py +++ b/homeassistant/components/zwave_js/__init__.py @@ -4,7 +4,6 @@ from __future__ import annotations import asyncio from collections import defaultdict -from collections.abc import Coroutine from contextlib import suppress import logging from typing import Any @@ -958,14 +957,12 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Unload a config entry.""" client: ZwaveClient = entry.runtime_data[DATA_CLIENT] driver_events: DriverEvents = entry.runtime_data[DATA_DRIVER_EVENTS] - - tasks: list[Coroutine] = [ - hass.config_entries.async_forward_entry_unload(entry, platform) + platforms = [ + platform for platform, task in driver_events.platform_setup_tasks.items() if not task.cancel() ] - - unload_ok = all(await asyncio.gather(*tasks)) if tasks else True + unload_ok = await hass.config_entries.async_unload_platforms(entry, platforms) if client.connected and client.driver: await async_disable_server_logging_if_needed(hass, entry, client.driver)