Fixing Cyberpower UPS with NUT on PFSense

Ran into a bit of a problem getting my Cyberpower UPS ST900U working on PFSense. It required a bit of banging my head against the search wall before I found a solution so hopefully this will help someone else.

A quick search indicated the USBHID driver should work with the Cyberpower UPS ST900U however it was repeatedly reporting the daemon could not find the UPS.

Full credit to Rob Griffiths post here https://robservatory.com/using-nut-to-monitor-a-cyberpower-ups-in-pfsense/

  1. Login via Terminal to the pfSense box, then use item (8) to exit to the shell.
  2. Run these two commands:
    • $ /usr/local/sbin/upsdrvctl -u root start
    • $ service devd restart
  3. Exit the connection to your pfSense box.

This worked a treat and things are talking perfectly now.

In my net diving to try to find a solution to this I ran across a mention of the Cyberpower nut driver not reliably shutting down on low power only critical power which then causes issues with the UPS coming back up when power is restored. The following configuration added under Service > UPS > Settings > Extra Arguments to driver (optional) properly sets shutdown at 20%.

pollfreq=5 -i 5
ignorelb
override.battery.charge.low = 20
override.battery.charge.warning = 50

Happy UPSing!