Skip to content

Add UniFi UPS-2U-Pro device support #1110

Description

@jimstrang

Summary

Add recognition and handling for the new UniFi UPS-2U-Pro, matching existing UPS-2U behavior.

Observed identifiers

A live US device reports:

type: usp
model: USPDA2B
shortname: UPSPROUS
name: UPS-2U-Pro

Ubiquiti's public device database lists:

Region Model Catalog shortname Sysid
US USPDA2B UPS-2U-Pro-US da2b
EU USPDA2C UPS-2U-Pro-EU da2c

The device exposes one 100 Mbps internal management port, similar to the existing UPS-2U.

Current behavior

  • API type usp resolves to DeviceType.Unknown.
  • Product model and shortname are not recognized.
  • The device may incorrectly appear eligible for iperf3 testing.
  • Its internal management port may receive non-actionable port audit findings.
  • No product image is available.

Proposed changes

  • Map API type usp to DeviceType.SmartPower.
  • Map USPDA2B and USPDA2C to UPS-2U-Pro.
  • Add runtime and catalog shortname aliases, including UPSPROUS.
  • Add UPS-2U-Pro to the no-iperf and power-device lists.
  • Add the official Ubiquiti product icon as ups-2u-pro.png.
  • Add product database, classification, and port-audit regression tests.

Acceptance criteria

  • Both regional model codes display as UPS-2U-Pro.
  • A usp device is classified as SmartPower.
  • The UPS is excluded from LAN speed-test targets.
  • Its internal management port is excluded from port-level VLAN/profile audits.
  • The correct product image is displayed.
  • Existing UPS-2U behavior remains unchanged.

Future per-outlet monitoring

NetworkOptimizer does not currently collect or display outlet_table telemetry. The UPS-2U-Pro exposes per-outlet voltage, current, power, power factor, and energy data.

A future feature could provide shared per-outlet monitoring for the UPS-2U-Pro, USP-PDU-Pro, and other compatible UniFi power devices. This is out of scope for initial device recognition.

Implementation availability

I have a US UPS-2U-Pro available for testing and access to its live UniFi controller payload. I can take the first pass at implementation and validate the behavior against real hardware.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions