UPS found, but does not show any data or alert

I’m trying to setup my UPS, an EATON 3S 850 supported by the driver usbhid-ups, to be monitored by TrueNAS.
I previously ran Unraid with the same setup, and had no problem with it.

I first reied setting it up from the UI, and it seemed to work. This is the setup:

The UPS seems to be recognised (I initially get an alarm of missing communication, which then goes away), but reporting is all empty:

Also, I tried unplugging the power and TrueNAS did not relay any alarm as Unraid did.


I tried to do some more digging from the CLI.

This is the output ot nut-scanner:

# nut-scanner -U -N
Scanning USB bus.
[nutdev1]
        driver = "usbhid-ups"
        port = "auto"
        vendorid = "0463"
        productid = "FFFF"
        product = "Eaton 3S"
        serial = "Blank"
        vendor = "EATON"
        bus = "003"

As you can see, everything good. I wrote these values to /etc/nut/ups.conf, just in case. However, I still get:

# upsdrvctl start
Network UPS Tools - UPS driver controller 2.8.0
Network UPS Tools - Generic HID driver 0.47 (2.8.0)
USB communication driver (libusb 1.0) 0.43
Can't claim USB device [0463:ffff]@0/0: Entity not found
Driver failed to start (exit status=1)

The Arch wiki claims this to be a permission problem, but even setting the UDEV rule did not solve it.

Running upsdrvsvcctl start returns:

=== The currently defined service units are:
Starting nut-driver@EATON-3S-850.service ...
Job for nut-driver@EATON-3S-850.service failed because the control process exited with error code.
See "systemctl status nut-driver@EATON-3S-850.service" and "journalctl -xeu nut-driver@EATON-3S-850.service" for details.

The systemd Journal contains:

Dec 01 12:26:16 giuseppi systemd[1]: nut-driver@EATON-3S-850.service: Scheduled restart job, restart counter is at 98.
β–‘β–‘ Subject: Automatic restarting of a unit has been scheduled
β–‘β–‘ Defined-By: systemd
β–‘β–‘ Support: https://www.debian.org/support
β–‘β–‘
β–‘β–‘ Automatic restarting of the unit nut-driver@EATON-3S-850.service has been scheduled, as the result for
β–‘β–‘ the configured Restart= setting for the unit.
Dec 01 12:26:16 giuseppi systemd[1]: Stopped nut-driver@EATON-3S-850.service - Network UPS Tools - device driver for NUT device 'EATON-3S-850'.
β–‘β–‘ Subject: A stop job for unit nut-driver@EATON-3S-850.service has finished
β–‘β–‘ Defined-By: systemd
β–‘β–‘ Support: https://www.debian.org/support
β–‘β–‘
β–‘β–‘ A stop job for unit nut-driver@EATON-3S-850.service has finished.
β–‘β–‘
β–‘β–‘ The job identifier is 625462 and the job result is done.
Dec 01 12:26:16 giuseppi systemd[1]: Starting nut-driver@EATON-3S-850.service - Network UPS Tools - device driver for NUT device 'EATON-3S-850'...
β–‘β–‘ Subject: A start job for unit nut-driver@EATON-3S-850.service has begun execution
β–‘β–‘ Defined-By: systemd
β–‘β–‘ Support: https://www.debian.org/support
β–‘β–‘
β–‘β–‘ A start job for unit nut-driver@EATON-3S-850.service has begun execution.
β–‘β–‘
β–‘β–‘ The job identifier is 625462.
Dec 01 12:26:16 giuseppi nut-driver@EATON-3S-850[986042]: Can't claim USB device [0463:ffff]@0/0: Entity not found
Dec 01 12:26:16 giuseppi nut-driver@EATON-3S-850[986042]: Network UPS Tools - Generic HID driver 0.47 (2.8.0)
Dec 01 12:26:16 giuseppi nut-driver@EATON-3S-850[986042]: USB communication driver (libusb 1.0) 0.43
Dec 01 12:26:16 giuseppi nut-driver@EATON-3S-850[986041]: Driver failed to start (exit status=1)
Dec 01 12:26:16 giuseppi nut-driver@EATON-3S-850[986041]: Network UPS Tools - UPS driver controller 2.8.0
Dec 01 12:26:16 giuseppi systemd[1]: nut-driver@EATON-3S-850.service: Control process exited, code=exited, status=1/FAILURE
β–‘β–‘ Subject: Unit process exited
β–‘β–‘ Defined-By: systemd
β–‘β–‘ Support: https://www.debian.org/support
β–‘β–‘
β–‘β–‘ An ExecStart= process belonging to unit nut-driver@EATON-3S-850.service has exited.
β–‘β–‘
β–‘β–‘ The process' exit code is 'exited' and its exit status is 1.
Dec 01 12:26:16 giuseppi systemd[1]: nut-driver@EATON-3S-850.service: Failed with result 'exit-code'.
β–‘β–‘ Subject: Unit failed
β–‘β–‘ Defined-By: systemd
β–‘β–‘ Support: https://www.debian.org/support
β–‘β–‘
β–‘β–‘ The unit nut-driver@EATON-3S-850.service has entered the 'failed' state with result 'exit-code'.
Dec 01 12:26:16 giuseppi systemd[1]: Failed to start nut-driver@EATON-3S-850.service - Network UPS Tools - device driver for NUT device 'EATON-3S-850'.
β–‘β–‘ Subject: A start job for unit nut-driver@EATON-3S-850.service has failed
β–‘β–‘ Defined-By: systemd
β–‘β–‘ Support: https://www.debian.org/support
β–‘β–‘
β–‘β–‘ A start job for unit nut-driver@EATON-3S-850.service has finished with a failure.
β–‘β–‘
β–‘β–‘ The job identifier is 625462 and the job result is failed.

As you can see, no dice. Any idea?

Try changing your identifier to β€œups”.

1 Like

yeah the reporting breaks if you use any identifier then β€œups”

Thanks for your input. I tried changing the identifier to ups. I got a UPS communication alarm, which autocleared after a while. But still no data, and I get no warnings when the UPS activates.

How can I verify that the UPS integration is working?

from shell you can check if communication is working with upsc ups@localhost

After a reboot - everything seems to work fine now!

So the ups trick did it. Thanks to both of you!

Generally, any services found under System β†’ services should be stopped then restarted after any configuration edits or changes. This is usually enough to get the service to pick up the changes made. It was designed this way I think to avoid taking down the entire server for a simple change in a service.

Purchased a Eaton 3S 850 after reading this thread :slight_smile:

It seems to be working but not all the UPS reporting charts are working.

Those that don’t work are:

UPS Voltage - Battery
UPS Voltage - Input
UPS Input Current
UPS Input Frequency
UPS Temperature

root@truenas[~]# upsc ups@localhost
Init SSL without certificate database
battery.charge: 100
battery.charge.low: 20
battery.runtime: 1560
battery.type: PbAc
device.mfr: EATON
device.model: Eaton 3S 850
device.serial: Blank
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.synchronous: auto
driver.version: 2.8.0
driver.version.data: MGE HID 1.46
driver.version.internal: 0.47
driver.version.usb: libusb-1.0.26 (API: 0x1000109)
input.transfer.high: 264
input.transfer.low: 184
outlet.1.desc: PowerShare Outlet 1
outlet.1.id: 1
outlet.1.status: on
outlet.1.switchable: no
outlet.desc: Main Outlet
outlet.id: 0
outlet.switchable: yes
output.frequency.nominal: 50
output.voltage: 230.0
output.voltage.nominal: 230
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.delay.start: 30
ups.firmware: 02.08.0010
ups.load: 20
ups.mfr: EATON
ups.model: Eaton 3S 850
ups.power.nominal: 850
ups.productid: ffff
ups.realpower: 136
ups.serial: Blank
ups.status: OL
ups.timer.shutdown: -1
ups.timer.start: -1
ups.type: offline / line interactive
ups.vendorid: 0463

Does everything look OK?

Same for me, not all charts are working. But the UPS works fine and the system manages to shutdown on low battery, so it does not matter to me.

This worked for me!

I didn’t even have to restart the UPS service (although editing the item may have automatically restarted the UPS service).

Procedure:

System>Services click edit icon for the UPS service.

Change General Options: Identifier to β€œups” (which was the default)

After this parameter edit, the UPS Report graphs started being populated.

Apparently, the Reporting part of TrueNAS is not picking the Identifier up from the Services part.