Remove obsolete routing info when migrating a Z-Wave network (#147568)

This commit is contained in:
Petar Petrov 2025-06-26 12:06:36 +03:00 committed by Franck Nijhof
parent d523f85404
commit ae062b230c
No known key found for this signature in database
GPG Key ID: AB33ADACE7101952
4 changed files with 12 additions and 10 deletions

View File

@ -3105,7 +3105,7 @@ async def websocket_restore_nvm(
driver.once("driver ready", set_driver_ready), driver.once("driver ready", set_driver_ready),
] ]
await controller.async_restore_nvm_base64(msg["data"]) await controller.async_restore_nvm_base64(msg["data"], {"preserveRoutes": False})
with suppress(TimeoutError): with suppress(TimeoutError):
async with asyncio.timeout(DRIVER_READY_TIMEOUT): async with asyncio.timeout(DRIVER_READY_TIMEOUT):

View File

@ -1400,7 +1400,9 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
driver.once("driver ready", set_driver_ready), driver.once("driver ready", set_driver_ready),
] ]
try: try:
await controller.async_restore_nvm(self.backup_data) await controller.async_restore_nvm(
self.backup_data, {"preserveRoutes": False}
)
except FailedCommand as err: except FailedCommand as err:
raise AbortFlow(f"Failed to restore network: {err}") from err raise AbortFlow(f"Failed to restore network: {err}") from err
else: else:

View File

@ -5649,7 +5649,7 @@ async def test_restore_nvm(
{ {
"command": "controller.restore_nvm", "command": "controller.restore_nvm",
"nvmData": "dGVzdA==", "nvmData": "dGVzdA==",
"migrateOptions": {}, "migrateOptions": {"preserveRoutes": False},
}, },
require_schema=42, require_schema=42,
) )
@ -5685,7 +5685,7 @@ async def test_restore_nvm(
{ {
"command": "controller.restore_nvm", "command": "controller.restore_nvm",
"nvmData": "dGVzdA==", "nvmData": "dGVzdA==",
"migrateOptions": {}, "migrateOptions": {"preserveRoutes": False},
}, },
require_schema=42, require_schema=42,
) )
@ -5740,7 +5740,7 @@ async def test_restore_nvm(
{ {
"command": "controller.restore_nvm", "command": "controller.restore_nvm",
"nvmData": "dGVzdA==", "nvmData": "dGVzdA==",
"migrateOptions": {}, "migrateOptions": {"preserveRoutes": False},
}, },
require_schema=42, require_schema=42,
) )

View File

@ -900,7 +900,7 @@ async def test_usb_discovery_migration(
client.driver.async_hard_reset = AsyncMock(side_effect=mock_reset_controller) client.driver.async_hard_reset = AsyncMock(side_effect=mock_reset_controller)
async def mock_restore_nvm(data: bytes): async def mock_restore_nvm(data: bytes, options: dict[str, bool] | None = None):
client.driver.controller.emit( client.driver.controller.emit(
"nvm convert progress", "nvm convert progress",
{"event": "nvm convert progress", "bytesRead": 100, "total": 200}, {"event": "nvm convert progress", "bytesRead": 100, "total": 200},
@ -1031,7 +1031,7 @@ async def test_usb_discovery_migration_restore_driver_ready_timeout(
client.driver.async_hard_reset = AsyncMock(side_effect=mock_reset_controller) client.driver.async_hard_reset = AsyncMock(side_effect=mock_reset_controller)
async def mock_restore_nvm(data: bytes): async def mock_restore_nvm(data: bytes, options: dict[str, bool] | None = None):
client.driver.controller.emit( client.driver.controller.emit(
"nvm convert progress", "nvm convert progress",
{"event": "nvm convert progress", "bytesRead": 100, "total": 200}, {"event": "nvm convert progress", "bytesRead": 100, "total": 200},
@ -3501,7 +3501,7 @@ async def test_reconfigure_migrate_with_addon(
client.driver.async_hard_reset = AsyncMock(side_effect=mock_reset_controller) client.driver.async_hard_reset = AsyncMock(side_effect=mock_reset_controller)
async def mock_restore_nvm(data: bytes): async def mock_restore_nvm(data: bytes, options: dict[str, bool] | None = None):
client.driver.controller.emit( client.driver.controller.emit(
"nvm convert progress", "nvm convert progress",
{"event": "nvm convert progress", "bytesRead": 100, "total": 200}, {"event": "nvm convert progress", "bytesRead": 100, "total": 200},
@ -3686,7 +3686,7 @@ async def test_reconfigure_migrate_reset_driver_ready_timeout(
client.driver.async_hard_reset = AsyncMock(side_effect=mock_reset_controller) client.driver.async_hard_reset = AsyncMock(side_effect=mock_reset_controller)
async def mock_restore_nvm(data: bytes): async def mock_restore_nvm(data: bytes, options: dict[str, bool] | None = None):
client.driver.controller.emit( client.driver.controller.emit(
"nvm convert progress", "nvm convert progress",
{"event": "nvm convert progress", "bytesRead": 100, "total": 200}, {"event": "nvm convert progress", "bytesRead": 100, "total": 200},
@ -3835,7 +3835,7 @@ async def test_reconfigure_migrate_restore_driver_ready_timeout(
client.driver.async_hard_reset = AsyncMock(side_effect=mock_reset_controller) client.driver.async_hard_reset = AsyncMock(side_effect=mock_reset_controller)
async def mock_restore_nvm(data: bytes): async def mock_restore_nvm(data: bytes, options: dict[str, bool] | None = None):
client.driver.controller.emit( client.driver.controller.emit(
"nvm convert progress", "nvm convert progress",
{"event": "nvm convert progress", "bytesRead": 100, "total": 200}, {"event": "nvm convert progress", "bytesRead": 100, "total": 200},