UPS2MQTT - a high density UPS integration for large numbers UPS's

I created this project off the back of several other projects that integrated several types of UPS devices through the HACS project. A couple of people came forward requesting assistance in setting up UPS's in numbers I had not considered 80+. My original projects weren't optimising for anymore than a handful of devices.

This project UPS2MQTT is the result of a significant amount of effort covering a range of devices and sprouted several side projects including a massed UPS snmp and modbus simulation that can be used to profile real devices and simulate responses with playout delays as a body to test against.

What is ups2mqtt?

ups2mqtt connects UPS devices to Home Assistant by publishing telemetry over MQTT.

It collects key metrics such as:

  • battery level
  • load percentage
  • runtime remaining
  • input/output voltage
  • UPS status (online, on battery, charging)
    ... and much more for our vendor specific drivers

and makes them available for:

  • Home Assistant sensors
  • automations (e.g. shutdown triggers, alerts)
  • dashboards

With optional telemetry feeds for:

  • Prometheus
  • Influx V3

Includes read-only connectivity to UPS/Power Devices:

  • NUT
  • APCUPSd
  • APC snmp and modbus
  • Cyberpower modbus
  • RFC1628.

Example of device list

Example of templated device configuration

Example of cached and transferred data

Device profiles to optimise and forward interesting data

Both APCUPSd and NUT profile compatibility and profiling

Example data auto-registered and forwarded to HA via MQTT

Example from Prometheus integration

An influxdbv3 connector is also included for additional stat collection platforms