From d51b3bd9713833b21127f1bc42301cf9d97e8d0f Mon Sep 17 00:00:00 2001 From: Ivo Brett Date: Tue, 18 Jun 2024 09:09:08 +0100 Subject: [PATCH 1/2] fixed a edge case bug where importing the first test node using the dashboard via a diagnostics file was failing --- matter_server/server/device_controller.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/matter_server/server/device_controller.py b/matter_server/server/device_controller.py index d466a423..55911929 100644 --- a/matter_server/server/device_controller.py +++ b/matter_server/server/device_controller.py @@ -865,7 +865,12 @@ async def import_test_node(self, dump: str) -> None: else: dump_nodes = dump_data["data"]["server"]["nodes"] # node ids > 900000 are reserved for test nodes - next_test_node_id = max(*(x for x in self._nodes), TEST_NODE_START) + 1 + if self._nodes: + next_test_node_id = max(*(x for x in self._nodes), TEST_NODE_START) + 1 + else: + #an empty self._nodes dict evaluates to false so we set the first + #test node id to TEST_NODE_START + next_test_node_id = TEST_NODE_START for node_dict in dump_nodes: node = dataclass_from_dict(MatterNodeData, node_dict, strict=True) node.node_id = next_test_node_id From 2f228405e54bbe4d64c72fd5089740835d446fb7 Mon Sep 17 00:00:00 2001 From: Ivo Brett Date: Tue, 18 Jun 2024 09:49:34 +0100 Subject: [PATCH 2/2] fixed the comment as lint was complaining --- matter_server/server/device_controller.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/matter_server/server/device_controller.py b/matter_server/server/device_controller.py index 55911929..c4cb34a8 100644 --- a/matter_server/server/device_controller.py +++ b/matter_server/server/device_controller.py @@ -868,8 +868,8 @@ async def import_test_node(self, dump: str) -> None: if self._nodes: next_test_node_id = max(*(x for x in self._nodes), TEST_NODE_START) + 1 else: - #an empty self._nodes dict evaluates to false so we set the first - #test node id to TEST_NODE_START + # an empty self._nodes dict evaluates to false so we set the first + # test node id to TEST_NODE_START next_test_node_id = TEST_NODE_START for node_dict in dump_nodes: node = dataclass_from_dict(MatterNodeData, node_dict, strict=True)