====== Setting up a UPS with TrueNAS ======
TrueNAS supports monitoring UPS' using the open source [[https://networkupstools.org/|Network UPS Tool]] (aka NUT). While they have done a good job of automating discovery, sometimes it is difficult to figure out which device is which when a UPS is plugged into a USB port.
===== Find UPS plugged into a USB port =====
The command usbconfig
is your friend here. In this real life case, I found the Cyberpower PR1500 plugged in at ugen0.4.
ugen0.4: at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (50mA)
It is on bus 0, port 4, so look for the direct link to that. It will either be called ugen* or uhid* in /dev
ls -ablph /dev/ugen* ; ls -ablph /dev/uhid*
This shows all entries named ugen* or uhid*, with the link that it actually points to.
lrwxr-xr-x 1 root wheel 9B Nov 18 17:55 /dev/ugen0.4 -> usb/0.4.0
So, the device it is hooked up to is /dev/ugen0.4.
===== Setting up the UPS =====
Open the TrueNAS WebUI and go to Services, then Actions for UPS
- Identifier: ups (or anything you want)
- UPS Mode: Master
- Driver: find something close. For my PR1500, I used PR6000
- Port: auto (or choose ugen0.4 that you found above)
- Shutdown: UPS goes on battery
- Shutdown Timer: 600 (seconds, or 10 minutes)
- Save
===== Testing =====
Start the UPS service. You can now drop to the shell and run the command:
upsc ups
where 'ups' is the name you chose as Identifier.
If it all appears to be working, put a check for Automatically start. NOTE: you can view some stats on the UPS under Reporting.
===== ipmi shows a difference =====
If you use ipmitool to display the amount of power the server is using
ipmitool sensor
You might see a different number than the power your UPS is showing with upsc ups
.
First, ipmitool is probably showing //Watts// while the UPS may be showing //Volt-Amps// (VA). In an AC circuilt, these can be different.
Second, your UPS uses additional power to keep the batteries topped off, and also just for some internal circuitry, so it should show a different power (higher) than what your server actually uses.
On my setup, with a Cyberpower UPS powering an older Dell server, I used the command:
ipmitool sensor | grep 'Power Meter' | cut -d'|' -f2
upsc ups | egrep 'ups.load|ups.realpower.nominal'