You can enable the ups service in the truenas gui under system settings → services.
Connect the ups to your nas via usb, go to the shell and use nut-scanner -U to see which drvier your ups expects. Enable the service as discribed, choose any usb driver that matches the one your ups needs .
The Shutdown Command should be :
/sbin/shutdown -P
I too followed your instructions and that guide, and found
root@truenas[~]# nut-scanner -U
Scanning USB bus.
[nutdev1]
driver = "usbhid-ups"
port = "auto"
vendorid = "051D"
productid = "0002"
product = "Back-UPS ES 550G FW:870.O3 .I USB FW:O3"
serial = "5B1422T09119"
vendor = "APC"
bus = "001"
However, once I had configured it, I issue
root@truenas[~]# upsc ups@localhost
but I get told
init SSL without certificate database
Error: Driver not connected
My specific UPS (APC Back-UPS ES550) matches the bus scan above and it uses the usbhid-ups driver which matches half a dozen models listed in the UPS driver, so I am a bit stuck.
I disconnected and reconnected the cable to prove that USB bus scanning and detection is working properly.
I could work through all of the models which match that driver but, as we know, the article says it shouldn’t matter as long as the driver matches.
Which identifier did you give your ups? if it’s not “ups”, then upsc ups@localhost will return the above error. If you’ve given your ups a different identifier the command should be upsc “identifier”@localhost.
Hi,
I struggle to receive data from my NUT Server. Unfortunately in the menu I cant see the possibility to select a driver, but this is what Scale is complained about.
Driver selection is only available when the ups is master afaik, not slave.
And try to change the Identifier to ups, all lower case letters. For me it wasn’t working when the identifier was anything else but “ups” all lower cases.
also with lower case letters the system shows me the same error message when I try to save the config.
EDIT:
I changed the Mode to master, changed the Identifier to ups in lower case letters, selected a driver even if the UPS is not directly connected to the NAS and hit save. The changes have been saved to the config and after that I changed back to slave mode. Now I was able to save the config without a error message.
But still in the report tab for the UPS no values are recorded.
Graphing the Slave UPS on Scale 24.10 doesn’t work - instead it just spams the error log every second, forever.
I’ve created a workaround until there’s an upstream fix. The workaround is really trivial, and totally reversible (just delete the new file and restart netdata to revert to stock).
I’m trying to learn how all this works; I was curious why you overrode the shutdown command.
-P is power off; it should be the default behavior. is it not default in TrueNAS, or are you just being extra-cautious to make sure the expected result happens (definitely a good idea).
Hi there, I have a weird issue on Scale 24.10.2 regarding my UPS.
I think the issue has been brought with 24.10.1, but I can’t be sure because I did not check my UPS status for a long time.
My UPS is a Eaton 5P 650i, directly plugged in one of my mobo USB Port.
the nut-scanner command gives this:
root@truenas[/home/admin]# nut-scanner -UN
Scanning USB bus.
[nutdev1]
driver = "usbhid-ups"
port = "auto"
vendorid = "0463"
productid = "FFFF"
product = "Eaton 5P"
vendor = "EATON"
bus = "001"
And the ups.conf file looks like this:
root@truenas[/home/admin]# cat /etc/nut/ups.conf
[Eaton-5P-650]
driver = usbhid-ups
port = auto
desc = ""
I also noticed this in the service logs (please note I changed the UPS name in the services menu to “Eaton” so it’s easier for me to query UPS Status with “upsc” cmmand):
root@truenas[/home/admin]# systemctl status nut-server.service
● nut-server.service - Network UPS Tools - power devices information server
Loaded: loaded (/lib/systemd/system/nut-server.service; enabled; preset: disabled)
Active: active (running) since Sat 2025-02-08 10:50:03 CET; 11h ago
Main PID: 2920483 (upsd)
Tasks: 1 (limit: 76454)
Memory: 620.0K
CPU: 57.904s
CGroup: /system.slice/nut-server.service
└─2920483 /lib/nut/upsd -F
Feb 08 21:35:03 truenas nut-server[2920483]: Can't connect to UPS [Eaton] (usbhid-ups-Eaton): No such file or directory
Feb 08 21:35:03 truenas upsd[2920483]: Can't connect to UPS [Eaton] (usbhid-ups-Eaton): No such file or directory
Feb 08 21:40:03 truenas nut-server[2920483]: Can't connect to UPS [Eaton] (usbhid-ups-Eaton): No such file or directory
Feb 08 21:40:03 truenas upsd[2920483]: Can't connect to UPS [Eaton] (usbhid-ups-Eaton): No such file or directory
Feb 08 21:45:03 truenas nut-server[2920483]: Can't connect to UPS [Eaton] (usbhid-ups-Eaton): No such file or directory
Feb 08 21:45:03 truenas upsd[2920483]: Can't connect to UPS [Eaton] (usbhid-ups-Eaton): No such file or directory
Feb 08 21:50:03 truenas nut-server[2920483]: Can't connect to UPS [Eaton] (usbhid-ups-Eaton): No such file or directory
Feb 08 21:50:03 truenas upsd[2920483]: Can't connect to UPS [Eaton] (usbhid-ups-Eaton): No such file or directory
Feb 08 21:55:03 truenas nut-server[2920483]: Can't connect to UPS [Eaton] (usbhid-ups-Eaton): No such file or directory
Feb 08 21:55:03 truenas upsd[2920483]: Can't connect to UPS [Eaton] (usbhid-ups-Eaton): No such file or directory
And I also made sure the correct group (nut) has been set to /dev/bus/usb/001/002 (which is the port my UPS is plugged to)
root@truenas[/dev]# ls -l /dev/bus/usb/001
total 0
crw-rw-r-- 1 root root 189, 0 Jan 29 22:02 001
crw-rw-r-- 1 root nut 189, 1 Feb 8 22:08 002
Coming back here now that I’ve got more devices set up that I would like to be UPS-aware.
A couple more questions:
Is there a guide to getting a remote device (e.g., a Linux server) to monitor the TrueNAS UPS server and receive and react to a power loss (e.g., by shutting down).
1.1 The UI mentions remote monitors that need a username/password to monitor the NAS’ UPS server, but not how to configure that.
1.2 Or: Will any NUT monitor configuration guide work, since TrueNAS’s UPS service is a NUT server with a UI?
Network Interfaces/Port Binding:
2.1 On my TrueNAS server, I have multiple VLANs configured across two physical NICs. I see the Remote Monitoring option in the UPS Service config, but by default it monitors on all interfaces, which isn’t what I want.
2.2 I see that I can set Aux Parameters for UPS.CONF (for detecting/configuring actual UPS hardware, per: nut/conf/ups.conf.sample at master · networkupstools/nut · GitHub ) and UPSD.CONF (for configuring NUT itself, per: nut/conf/upsd.conf.sample at master · networkupstools/nut · GitHub ). 2.3 Is using the Aux parameters to override the remote monitor network interface (e.g., through LISTEN directives) going to cause problems (assuming I do it right)? That is, would adjusting the LISTEN interfaces this way potentially interfere with the middleware?
I can’t think of a reason there couldn’t be a “bind to interface” option that appears in the UI when “remote monitoring” is enabled in the UI similar to how SSH/NFS/SMB work now. Though, the UI would need to specify that Localhost (IPv4 and IPv6) is always listening and can’t be disabled, as that seems like it would break NUT.
I’m using webnut to display the nut parameters in a more user-friendly GUI. It’s not really monitoring, but it’s better then having to type “upsc ups@localhost” every time