Network Topology
D3.js-compatible graph API for visualizing device network relationships.
Source: src/network-topology/
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /network-topology/topology | Full graph (nodes + links) |
GET | /network-topology/nodes | List nodes with filters |
GET | /network-topology/nodes/:id | Node details with metrics |
GET | /network-topology/connections | List connections with filters |
GET | /network-topology/statistics | Network-wide statistics |
Data Model
Nodes
Built from Device records. Each node contains:
id,label,type(display, hub, controller, sensor)status,ipAddress,locationmetadata: model, version, lastSeen, screenEnabled
Links
Built from device configuration.network.parentDeviceId relationships:
source,target,type(wifi, ethernet, mqtt)strength(signal quality 0-100),bandwidth- Devices without explicit parents connect to the nearest hub node
Graph Structure
┌─── Display A
Hub ─────┼─── Display B
└─── Controller ─── Sensor
The service determines node types via determineNodeType() and connection types via determineConnectionType() based on device configuration metadata.
Filtering
NetworkFilterDto supports filtering by:
- Device type
- Status (online/offline)
- Location
Related Modules
DevicesModule— Source device dataDeviceMetricsModule— Latest metrics for node details