====== 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'