From 05a35427bea2ac16875c501219e259951abd9bdf Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Wed, 18 Sep 2024 20:08:33 +0200 Subject: [PATCH 1/2] Chgange subscription floor to 2 seconds to prevent flooding during transitions --- 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 54bf15b4..debc242e 100644 --- a/matter_server/server/device_controller.py +++ b/matter_server/server/device_controller.py @@ -78,6 +78,7 @@ DATA_KEY_LAST_NODE_ID = "last_node_id" LOGGER = logging.getLogger(__name__) +NODE_SUBSCRIPTION_FLOOR = 2 NODE_SUBSCRIPTION_CEILING_WIFI = 60 NODE_SUBSCRIPTION_CEILING_THREAD = 60 NODE_SUBSCRIPTION_CEILING_BATTERY_POWERED = 600 @@ -1221,7 +1222,6 @@ def resubscription_succeeded( self.server.signal_event(EventType.NODE_UPDATED, node) node_logger.info("Setting up attributes and events subscription.") - interval_floor = 0 # determine subscription ceiling based on routing role # Endpoint 0, ThreadNetworkDiagnostics Cluster, routingRole attribute # for WiFi devices, this cluster doesn't exist. @@ -1244,7 +1244,7 @@ def resubscription_succeeded( [()], events=[("*", 1)], return_cluster_objects=False, - report_interval=(interval_floor, interval_ceiling), + report_interval=(NODE_SUBSCRIPTION_FLOOR, interval_ceiling), auto_resubscribe=True, ) ) From 3a06c653c515fbdf25176f7f1c23a71a24e3bdf7 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Wed, 18 Sep 2024 20:33:44 +0200 Subject: [PATCH 2/2] use 1 second --- matter_server/server/device_controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matter_server/server/device_controller.py b/matter_server/server/device_controller.py index debc242e..72a378de 100644 --- a/matter_server/server/device_controller.py +++ b/matter_server/server/device_controller.py @@ -78,7 +78,7 @@ DATA_KEY_LAST_NODE_ID = "last_node_id" LOGGER = logging.getLogger(__name__) -NODE_SUBSCRIPTION_FLOOR = 2 +NODE_SUBSCRIPTION_FLOOR = 1 NODE_SUBSCRIPTION_CEILING_WIFI = 60 NODE_SUBSCRIPTION_CEILING_THREAD = 60 NODE_SUBSCRIPTION_CEILING_BATTERY_POWERED = 600