From 0fa954040eeaa5858b5a02361b139043fddd4f16 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Thu, 22 Jun 2023 11:13:14 +0200 Subject: [PATCH] Fix removal of orphaned Matter devices (#95044) --- homeassistant/components/matter/__init__.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/matter/__init__.py b/homeassistant/components/matter/__init__.py index 4c47cd4d235..59c5ec9efc8 100644 --- a/homeassistant/components/matter/__init__.py +++ b/homeassistant/components/matter/__init__.py @@ -2,11 +2,12 @@ from __future__ import annotations import asyncio +from contextlib import suppress import async_timeout from matter_server.client import MatterClient from matter_server.client.exceptions import CannotConnect, InvalidServerVersion -from matter_server.common.errors import MatterError, NodeCommissionFailed +from matter_server.common.errors import MatterError, NodeCommissionFailed, NodeNotExists import voluptuous as vol from homeassistant.components.hassio import AddonError, AddonManager, AddonState @@ -207,7 +208,9 @@ async def async_remove_config_entry_device( ) matter = get_matter(hass) - await matter.matter_client.remove_node(node.node_id) + with suppress(NodeNotExists): + # ignore if the server has already removed the node. + await matter.matter_client.remove_node(node.node_id) return True