From 71a3daa8ce93ea62b416c661a9f25faa9f5e4692 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Tue, 12 Oct 2021 05:36:46 +0200 Subject: [PATCH] Pass device manager directly in Tuya registry cleanup (#57511) --- homeassistant/components/tuya/__init__.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/homeassistant/components/tuya/__init__.py b/homeassistant/components/tuya/__init__.py index 3b358e8889a..326cacfebbf 100644 --- a/homeassistant/components/tuya/__init__.py +++ b/homeassistant/components/tuya/__init__.py @@ -111,7 +111,7 @@ async def _init_tuya_sdk(hass: HomeAssistant, entry: ConfigEntry) -> bool: hass.data[DOMAIN][entry.entry_id][TUYA_DEVICE_MANAGER] = device_manager # Clean up device entities - await cleanup_device_registry(hass, entry) + await cleanup_device_registry(hass, device_manager) _LOGGER.debug("init support type->%s", PLATFORMS) @@ -120,12 +120,11 @@ async def _init_tuya_sdk(hass: HomeAssistant, entry: ConfigEntry) -> bool: return True -async def cleanup_device_registry(hass: HomeAssistant, entry: ConfigEntry) -> None: +async def cleanup_device_registry( + hass: HomeAssistant, device_manager: TuyaDeviceManager +) -> None: """Remove deleted device registry entry if there are no remaining entities.""" - device_registry_object = device_registry.async_get(hass) - device_manager = hass.data[DOMAIN][entry.entry_id][TUYA_DEVICE_MANAGER] - for dev_id, device_entry in list(device_registry_object.devices.items()): for item in device_entry.identifiers: if DOMAIN == item[0] and item[1] not in device_manager.device_map: @@ -171,7 +170,6 @@ class DeviceListener(TuyaDeviceListener): def __init__(self, hass: HomeAssistant, entry: ConfigEntry) -> None: """Init DeviceListener.""" - self.hass = hass self.entry = entry