Ian Gulliver
92ab5d8a6e
Add TP-Link AP support with wireless client sub-locations
...
- Add NodeType enum (switch, ap, wireless_client, wired_client)
- Poll SNMPv2c and SNMPv3 in parallel to win race with ping
- Render APs with bordered sub-locations containing wireless clients
- Fall back to parent interface stats when child lacks them
- Log when unreachable nodes become reachable via merge
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-02 20:33:42 -08:00
Ian Gulliver
eff2635725
Add remove button for unreachable nodes not in config
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-02 11:18:06 -08:00
Ian Gulliver
d4e7a8a9b7
Move interface counter state from global map to Interface struct
2026-02-02 10:16:37 -08:00
Ian Gulliver
2a8e376cbf
Add error LastSeen tracking, port uptime and last error to table/hovercards
2026-02-02 09:59:03 -08:00
Ian Gulliver
32da723b2c
Clear MAC table on each SNMP poll and reduce ping threshold
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-31 13:20:20 -08:00
Ian Gulliver
5a7596b456
Add port flap and port down error tracking with faster ping
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-31 13:01:07 -08:00
Ian Gulliver
d1b4de01e8
Add shared_names config and port uptime tracking
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-31 12:06:59 -08:00
Ian Gulliver
d14de5950e
Remove ArtNet RDM/TOD discovery support
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-31 10:57:11 -08:00
Ian Gulliver
bb22e16460
Add structured node config with names/macs/ips and avoid flag
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-31 09:52:51 -08:00
Ian Gulliver
3b8005a28c
Add ArtRDM TOD discovery for real ArtNet nodes
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-31 07:48:02 -08:00
Ian Gulliver
587049616b
Store and display artmap mappings on nodes in flow view
2026-01-30 22:59:58 -08:00
Ian Gulliver
1618ef1b87
Add artmap polling to discover sACN unicast receivers
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-30 13:03:35 -08:00
Ian Gulliver
71e9337bdb
Omit empty ips arrays from interface JSON
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-30 10:09:17 -08:00
Ian Gulliver
ef01aaa5c9
Reduce API response size by using node ID references
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-30 09:35:42 -08:00
Ian Gulliver
88763946a4
Replace Dante channel strings with structured data
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 23:21:33 -08:00
Ian Gulliver
b966ad0feb
Refactor Dante fields to use proper types and group flows with lastSeen
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 23:15:24 -08:00
Ian Gulliver
99083ecde5
Refactor error tracking to be edge-triggered with node setters
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 23:06:26 -08:00
Ian Gulliver
aebd6f5e2c
Use MulticastGroup as map key and serialize under lock
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 22:48:55 -08:00
Ian Gulliver
a912d73169
Refactor node storage and use proper types for protocol data
...
- Rename TypeID to ID throughout
- Remove re-derivable data (MACTableSize, SACNInputs now derived)
- Use typed ArtNetUniverse and SACNUniverse with methods
- Store multicast groups with lastSeen tracking in structs
- Remove int indexes in Nodes, use direct node pointers
- Parse multicast groups into typed struct instead of strings
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 22:36:44 -08:00
Ian Gulliver
fc5b36cd1c
Remove separate tracking structures and store protocol data directly on nodes
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 22:15:54 -08:00
Ian Gulliver
f5d90636bb
Move protocol data onto nodes and simplify API response
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 21:50:48 -08:00
Ian Gulliver
7f36444003
Sort by names, then IPs
2026-01-28 21:16:35 -08:00
Ian Gulliver
85cfa6a9f4
Revert "Add missing node tracking for config-defined nodes"
...
This reverts commit 9ec193ef1d .
2026-01-28 08:42:12 -08:00
Ian Gulliver
9ec193ef1d
Add missing node tracking for config-defined nodes
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 08:38:58 -08:00
Ian Gulliver
5ec5e8e3e5
Fall back to IP or MAC in DisplayName when no names available
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-26 14:50:55 -08:00
Ian Gulliver
7c978d28ac
Add per-interface packet and byte rate statistics
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-26 11:16:32 -08:00
Ian Gulliver
2bc6b1054b
Add Dante overlay with TX/RX highlighting and channel info
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 18:22:22 -08:00
Ian Gulliver
4c149ecdf7
Fix IP deduplication and filter link interfaces in JSON
2026-01-25 09:53:31 -08:00
Ian Gulliver
9aebe8b83d
Add HTTP API with JSON status endpoint and typeid support
2026-01-24 11:03:34 -08:00
Ian Gulliver
894e355f56
split nodes.go into focused files and refactor Update function
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 23:31:57 -08:00