From 5baad658a389c23fa2821719e451b73fe55312e6 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Sat, 17 Jan 2026 18:22:56 -0600 Subject: [PATCH] fix: use profile OS name instead of sys_descr for firmware version The Operating System field was showing 'Cambium Verona Networks' because firmware_version was set to the raw sys_descr SNMP value. Now uses the profile's OS name (e.g., 'epmp') so it displays as 'Cambium epmp' which is cleaner and more accurate. Future improvement: Poll actual firmware version from SNMP using the profile_os_definitions.version OID. --- lib/towerops/snmp/profiles/dynamic.ex | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/towerops/snmp/profiles/dynamic.ex b/lib/towerops/snmp/profiles/dynamic.ex index 9998f3a6..0cfbaa71 100644 --- a/lib/towerops/snmp/profiles/dynamic.ex +++ b/lib/towerops/snmp/profiles/dynamic.ex @@ -19,12 +19,14 @@ defmodule Towerops.Snmp.Profiles.Dynamic do Returns manufacturer, model, and firmware info. """ @spec identify_device(DeviceProfile.t(), Discovery.system_info()) :: Discovery.device_info() - def identify_device(profile, system_info) do + def identify_device(profile, _system_info) do # Use profile metadata to build device info %{ manufacturer: extract_manufacturer(profile), model: profile.text || profile.os, - firmware_version: Map.get(system_info, :sys_descr), + # Use profile OS name as firmware_version for now + # TODO: Poll SNMP OIDs from profile_os_definitions to get actual version + firmware_version: profile.os, serial_number: nil } end