The network a client is connected to has real diagnostic value: at cloud-seven the WiFi name alone (FDG vs CS Op) separated the private residence Sonos from venue gear (#554), and the DHCP segment/SSID also narrows where a device physically is. Surface it end to end.
network field (string, omitempty) on router.Client and store.UnmanagedClient: the best available human-meaningful name for what the client is connected to. Per backend:
server field (named DHCP server per segment; Citymesh names them per network).ssid/iface from clients.get_list (fields exist in the raw payload, we only read mac/ip/name/online/tx/rx today); prefer ssid, fall back to iface. Defensive decoding, firmware fields vary.network on neck clients; show it in the unmanaged device hints (class - network - room - model) and in the MAC-linked asset live section next to the IP.hydraneck v0.14.0 (via the built-in updater) and hydravenues v0.6.1 (scale rebuild). network now flows client -> scan -> /network API -> venue pages -> hydravenues hints and asset live info.
Verified live at cloud-seven: the MikroTik DHCP server name separates the segments exactly as hoped: the two venue Sonos Ports report DHCP_0001, the three private-residence players DHCP_0002 (91 clients across DHCP_0001/0002/0003/0103/0110).
Remaining in this issue:
networks: label map in hydraneck config (e.g. DHCP_0002: "FDG / private residence") applied at scan time, or ask Citymesh to name their DHCP servers.The seed ouiTable maps 78:45:01 -> network/Ubiquiti; that was an unverified guess. Evidence it is BIAMP: two known Biamp devices at cloud-seven share it - the TEC-1 wall panel (78:45:01:10:66:43, TEC1-04796952) and the Tesira server main (78:45:01:09:68:a0, 11.0.0.201, confirmed by the owner on site). Fix: change 78:45:01 to av/Biamp in classify.go (supersedes the earlier plan to add a TEC1 hostname rule; the OUI catches TEC panels, Tesira servers and expanders alike). Verify against IEEE before shipping.