I had the same thing. In my case it was fixed when I changed the user name and device name (don´t know which fixed it, maybe both were needed or just one) in the addon settings.
Ok, after a couple of hours the USB connection was lost. After restarting the NUT addon, I’m again getting ‘insufficient permissions’ message.
On what system are you running nut, Debian? Are you running nut as the owner “nut” with group membership “nut”?
Thanks for responding!
I’m running HAOS on a RPi4.
Any suggestions to try?
What is
ls -l /run
telling specifically about the nut rundir?
Nothing related from what I understand:
➜ / ls -l /run
total 32
drwxr-xr-x 2 root root 4096 Jan 28 22:10 audio
drwxr-xr-x 3 root root 80 May 27 2024 dbus
drwxr-xr-x 3 root root 4096 Jan 28 22:10 log
drwxr-xr-x 6 root root 4096 Jan 28 22:10 s6
drwxr-xr-x 2 root root 4096 Jan 28 22:10 s6-linux-init-container-results
lrwxrwxrwx 1 root root 23 Jan 28 22:10 s6-rc → s6-rc:s6-rc-init:jCPaha
drwxr-xr-x 3 root root 4096 Jan 28 22:10 s6-rc:s6-rc-init:jCPaha
drwxr-xr-x 4 root root 4096 Jan 28 22:10 service
-rw-r–r-- 1 root root 4 Jan 28 22:10 sshd.pid
drwx–x–x 2 root root 4096 Jan 4 16:32 sudo
The NUT addon log looks like this:
Add-on: Network UPS Tools
Manage battery backup (UPS) devices
Add-on version: 0.14.0
You are running the latest version of this add-on.
System: Home Assistant OS 14.2 (aarch64 / raspberrypi4-64)
Home Assistant Core: 2025.1.4
Home Assistant Supervisor: 2024.12.3
Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-timezone: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
[13:02:08] INFO: Configuring timezone (Europe/Stockholm)…
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service base-addon-timezone successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/nut.sh
[13:02:09] INFO: Setting mode to netserver…
[13:02:10] INFO: Generating /etc/nut/upsd.users…
[13:02:10] INFO: Configuring user: nutuser
[13:02:11] INFO: Configuring Device named apc…
[13:02:11] INFO: Starting the UPS drivers…
device->Product is NULL so it is not possible to determine whether to activate max_report_size workaround
Network UPS Tools - Generic HID driver 0.47 (2.8.0)
USB communication driver (libusb 1.0) 0.43
libusb1: Could not open any HID devices: insufficient permissions on everything
No matching HID UPS found
Network UPS Tools - UPS driver controller 2.8.0
Driver failed to start (exit status=1)
cont-init: info: /etc/cont-init.d/nut.sh exited 1
cont-init: info: running /etc/cont-init.d/nutclient.sh
cont-init: info: /etc/cont-init.d/nutclient.sh exited 0
cont-init: warning: some scripts exited nonzero
s6-rc: warning: unable to start service legacy-cont-init: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service base-addon-timezone: stopping
s6-rc: info: service base-addon-log-level: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service base-addon-timezone successfully stopped
s6-rc: info: service base-addon-log-level successfully stopped
s6-rc: info: service base-addon-banner: stopping
s6-rc: info: service base-addon-banner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
s6-rc: info: service s6rc-oneshot-runner successfully stopped
Is n
Was nut running when you listed the contents of /run ?
What is
ps aux | grep upsd
and
ps aux | grep upsmon
telling?
Addendum: The latest update for addon-nut was released on Dec 7, 2024 (v0.14.0). Make sure you are running the latest version.
From the logs, it looks like it’s trying to start the addon a number of times, each time failing because of ‘insuffient permissions on everything’ and then finally stops it all together.
During this time, I could see nothing related to it in ls -l /run
➜ / ps aux | grep upsd
root 4792 0.0 0.0 1676 768 pts/1 S+ 14:48 0:00 grep upsd
➜ / ps aux | grep upsmon
root 4800 0.0 0.0 1676 768 pts/1 S+ 14:49 0:00 grep upsmon
➜ /
NUT addon is latest, in fact I installed it for the first time a few days ago
I’m having the same problem.
Yup, upsd and upsmon are not even starting.
A search for Nut-ups on Alpine Linux (which
HA OS is build upon) reveals a problem with unconfigured udev rules:
Configuring udev Rules
If you tried starting the nut-upsd service at this point, it would complain loudly about permissions. See the example below:
libusb1: Could not open any HID devices: insufficient permissions on everything
No matching HID UPS found
upsnotify: failed to notify about state 4: no notification tech defined, will not spam more about it
Driver failed to start (exit status=1)
This is due to the USB device having the wrong ownership and permissions.
(Source)
Somebody already filed an issue report about the latter on GitHub. Unfortunately besides of a user workaround which might or might not work for you there is no feedback from the devs regarding the issue.
I have little experience with HA OS. Thus I’m afraid I have to pass this on.
Ok, thanks a lot for taking your time to help out!
Let’s hope there will be a fix later.
Exact same for me, same permission error, runs ok on the pi4 but not on the pi5. both separate new build both using
Core 2025.2.5
Supervisor 2025.02.1
Operating System 14.2
and Nuts 0.14.1
did you get yours working?
Mine works, but the NUT server crashes every few days and needs to be re-started
Can confirm. Shutdown your HAOS server completely and boot it up again. Can’t explain why, but it works!
I had the permission problem. I fixed it by logging into the HAOS SSH shell, checking the USB IDs and setting them manually in the NUT config.
I.e. this:
# dmesg | grep usb
...
[ 8.391568] usb 1-1.1: new full-speed USB device number 3 using dwc2
[ 8.616984] usb 1-1.1: New USB device found, idVendor=0764, idProduct=0501, bcdDevice= 0.01
[ 8.617007] usb 1-1.1: New USB device strings: Mfr=3, Product=1, SerialNumber=2
[ 8.617015] usb 1-1.1: Product: CP1500EPFCLCD
[ 8.617021] usb 1-1.1: Manufacturer: CPS
[ 8.617026] usb 1-1.1: SerialNumber: CRMGxxxxxxxxxx
...
To that:
- config:
- vendorid = 0764
- productid = 0501
driver: usbhid-ups
name: cp1500epfclcd
port: auto
I mean, it requires setting up access to the host OS, which is some fiddly stuff. Alternatively, hook something else up to the UPS to get the IDs, I figure.
No, mine still won’t work. On a RPi4 though.
Well actually, following a complete system restart it does work, but only for about 20 minutes until the UPS goes offlline.
This was exactly the solution.
NUT worked for a few hours, then didn’t. The ol’ “Reconfigure the Primary Power Input Coupling” worked like a charm!
Update: Problem was solved for me by adding a powered USB hub at the UPS side of the link. Been running stable now for 3 days which never happened before
I assume it’s n u t.