From 0cb038d1c111e60059565f0df583ce4aed308627 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Fri, 10 Oct 2025 14:37:26 +1100 Subject: [PATCH] BE: UNIFIAPI handle missing id #1224 Signed-off-by: jokob-sk --- front/plugins/unifi_api_import/unifi_api_import.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/front/plugins/unifi_api_import/unifi_api_import.py b/front/plugins/unifi_api_import/unifi_api_import.py index c7284622..6bdb52c8 100755 --- a/front/plugins/unifi_api_import/unifi_api_import.py +++ b/front/plugins/unifi_api_import/unifi_api_import.py @@ -112,7 +112,12 @@ def get_device_data(site, api): mylog('verbose', [f'[{pluginName}] Site: {site_name} clients: {json.dumps(clients_resp, indent=2)}']) # Build a lookup for devices by their 'id' to find parent MAC easily - device_id_to_mac = {dev['id']: dev.get('macAddress', '') for dev in unifi_devices} + device_id_to_mac = {} + for dev in unifi_devices: + if "id" not in dev: + mylog("verbose", [f"[{pluginName}] Skipping device without 'id': {json.dumps(dev)}"]) + continue + device_id_to_mac[dev["id"]] = dev.get("macAddress", "") # Helper to resolve uplinkDeviceId to parent MAC, or "Internet" if no uplink def resolve_parent_mac(uplink_id):