Skip to content

feat(network): resolve DPI names in traffic-flow statistics #546

Description

@jontybrook

Problem

unifi_get_traffic_flow_statistics returns DPI application_id and category_id, but leaves application_name and category_name null. Current controllers expose the required names through the official Integration API.

Traffic-flow rows carry the application and category IDs separately, while the application catalogue uses the compound key:

(category_id << 16) | application_id

Proposed solution

  • Fetch and cache the complete DPI application/category catalogue.
  • Follow controller pagination rather than assuming the requested page size is honoured.
  • Best-effort enrich traffic-flow Top Applications with names.
  • Keep names null if the catalogue is unavailable or lacks a match; the statistics call should still succeed.
  • Apply the shared manager behaviour consistently to MCP, REST and GraphQL.

Validation

Verified read-only against a current UniFi controller: the Integration API returned complete application/category catalogues and resolved live flow rows including GitHub, SSL/TLS, HTTP, Spotify and ChatGPT.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions