From 06503824051b478b4a4a17c35dd282583730c71d Mon Sep 17 00:00:00 2001 From: Gleb Tcivie Date: Sun, 5 Jan 2025 20:20:16 +0200 Subject: [PATCH] ``` Handle broadcast IDs in client details retrieval Add a check for broadcast node IDs (4294967295 and 1) in the `_get_client_details` method to return a predefined `ClientDetails` instance. This prevents unnecessary database queries for broadcast IDs and ensures consistent handling of these special cases. ``` --- exporter/processor/processor_base.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/exporter/processor/processor_base.py b/exporter/processor/processor_base.py index c47a4d8..aab032e 100644 --- a/exporter/processor/processor_base.py +++ b/exporter/processor/processor_base.py @@ -308,6 +308,8 @@ class MessageProcessor: ).set(mesh_packet.rx_rssi) def _get_client_details(self, node_id: int) -> ClientDetails: + if node_id == 4294967295 or node_id == 1: # FFFFFFFF or 1 (Broadcast) + return ClientDetails(node_id=node_id, short_name='Broadcast', long_name='Broadcast') node_id_str = str(node_id) # Convert the integer to a string with self.db_pool.connection() as conn: with conn.cursor() as cur: