From 46c7194cb358dea3168da19ead9b5a5a894e8ddd Mon Sep 17 00:00:00 2001 From: AJ Quick Date: Sat, 8 Aug 2026 09:23:33 -0600 Subject: [PATCH] Change device name retrieval to use observer name Updated method to retrieve device name for PacketCapture reporting to use observer name instead of bot name. --- .../service_plugins/packet_capture_service.py | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/modules/service_plugins/packet_capture_service.py b/modules/service_plugins/packet_capture_service.py index 509d535..f11567d 100644 --- a/modules/service_plugins/packet_capture_service.py +++ b/modules/service_plugins/packet_capture_service.py @@ -1212,7 +1212,7 @@ class PacketCaptureService(BaseServicePlugin): payload_len = str(max(0, packet_len - 1 - transport_bytes - 1 - path_bytes)) # Get device name and public key - device_name = self._get_bot_name() + device_name = self._get_observer_name() if not device_name: device_name = "MeshCore Device" @@ -1556,6 +1556,23 @@ class PacketCaptureService(BaseServicePlugin): self.logger.debug(f"Decode error traceback: {traceback.format_exc()}") return None + def _get_observer_name(self) -> str: + """Get observer name for PacketCapture MQTT reporting. + + Allows the observer/analyzer identity to differ from the + MeshCore RF node and bot name. + """ + observer_name = self.bot.config.get( + "PacketCapture", + "observer_name", + fallback="" + ).strip() + + if observer_name: + return observer_name + + return self._get_bot_name() + def _get_bot_name(self) -> str: """Get bot name from device or config. @@ -2767,7 +2784,7 @@ class PacketCaptureService(BaseServicePlugin): firmware_info = await self.get_firmware_info() # Get device name and public key - device_name = self._get_bot_name() + device_name = self._get_observer_name() if not device_name: device_name = "MeshCore Device"