Fix removal of orphaned Matter devices (#95044)
This commit is contained in:
parent
e26b8e11d3
commit
0fa954040e
1 changed files with 5 additions and 2 deletions
|
@ -2,11 +2,12 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
|
from contextlib import suppress
|
||||||
|
|
||||||
import async_timeout
|
import async_timeout
|
||||||
from matter_server.client import MatterClient
|
from matter_server.client import MatterClient
|
||||||
from matter_server.client.exceptions import CannotConnect, InvalidServerVersion
|
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
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.components.hassio import AddonError, AddonManager, AddonState
|
from homeassistant.components.hassio import AddonError, AddonManager, AddonState
|
||||||
|
@ -207,6 +208,8 @@ async def async_remove_config_entry_device(
|
||||||
)
|
)
|
||||||
|
|
||||||
matter = get_matter(hass)
|
matter = get_matter(hass)
|
||||||
|
with suppress(NodeNotExists):
|
||||||
|
# ignore if the server has already removed the node.
|
||||||
await matter.matter_client.remove_node(node.node_id)
|
await matter.matter_client.remove_node(node.node_id)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
Loading…
Add table
Reference in a new issue