No actions, buttons, switches or commands for UPS connected/ served by NUT Add-on to integration?

after a weekend of figuring out the topology of my new APC UPS and HA install, I had that working finally.

resulting in a HA add-on server for the NUT to be connected to by other clients. My 2 clients now are the Synology DSM, and the integration in HA itself.

given the fact the documentation mentions various sensors the integrations doesnt provide (eg dedicated entities for the 4 outlets my APC UPS has) and the availability of device commands (none of which are registered in my configuration) I wonder if there should be additional settings enabled.

I already added the ā€˜set’ command to the add-on config actions, which was empty by default:

users:
  - username: <my username>
    password: <my_pw>
    instcmds:
      - all
    actions:
      - set
devices:
  - name: ups
    driver: usbhid-ups
    port: auto
    config: []
mode: netserver
shutdown_host: true
i_like_to_be_pwned: false

Also, I did try to get the upscmd -l ups in a terminal (both regular and 22222) but the command is not recognized. same goes for upsc [email protected] which is mentioned under Network UPS Tools (NUT) - Home Assistant

I’ve also tried them as docker -exec commands after ssh’ing in at -22222, but even if that would be the proper way to enter the commands, I didnt succeed, so maybe more details need to be added in that string?

no actions appear in the device actions list either:

Hope anyone has more on this

This is what I have, no buttons or switches

and this automation


- id : 0190dfbc-c945-7e32-b2a6-eb25db6ea1fd   
  description: "Shutdown proxpow if on battery for 10 minutes"
  mode: single
  trigger:
  - platform: state
    entity_id:
      - sensor.greencell_status
    from: 'Online'
    to: 'On Battery'
    for:
      hours: 0
      minutes: 10
      seconds: 0
  action:
  - service: button.press
    target:
      entity_id: button.node_pve_shutdown
    data: {}
  - service: button.press
    target:
      entity_id: button.node_proxmox_shutdown
    data: {}
  - service: hassio.host_shutdown
    data: {}
1 Like

Same, all of mine. Only sensors no settins and basically the same scripts

X3 (one for the HA box, one for the AI inference box and one for my pc.)

Yeah no controls here. Only sensors.

using the advanced terminal I could docker exec in…

( somehow I’ve borked my hosts file with the encryption keys required when using -22222 login in the regular terminal)

and

docker exec addon_a0d7b954_nut upsc ups@localhost

all of this is fine, and confirm the output of the integration.
too bad there are no device services though, but I guess the above wont help there.

I have the exact same issue with my APC UPS, running Home Assistant 2025.5.3 and NUT server on a separate host.
I only get sensors but not commands, the user configured has full power on the NUT server.
Am I doing something wrong?

Nope. Expected

well, when the integration was setup correctly, I did get the action on the device after all.

I returned it though, because there were frequent notifications the battery had to be replaced…(on a brand new UPS…)

1 Like

According to documentation the integration should provide buttons and switches.
My UPS is providing the commands accordingly as per the logs below:

2025-06-06 13:42:13.689 DEBUG (MainThread) [aionut.client] [192.168.64.221:3493] Received: b'BEGIN LIST CMD apc01\n'
2025-06-06 13:42:13.732 DEBUG (MainThread) [aionut.client] [192.168.64.221:3493] Received: b'CMD apc01 beeper.disable\nCMD apc01 beeper.enable\nCMD apc01 beeper.mute\nCMD apc01 beeper.off\nCMD apc01 beeper.on\nCMD apc01 load.off\nCMD apc01 load.off.delay\nCMD apc01 load.on\nCMD apc01 load.on.delay\nCMD apc01 shutdown.reboot\nCMD apc01 shutdown.return\nCMD apc01 shutdown.stayoff\nCMD apc01 shutdown.stop\nCMD apc01 test.battery.start.deep\nCMD apc01 test.battery.start.quick\nCMD apc01 test.battery.stop\nCMD apc01 test.panel.start\nCMD apc01 test.panel.stop\nEND LIST CMD apc01\n'
2025-06-06 13:42:13.732 DEBUG (MainThread) [homeassistant.components.nut] NUT Commands Available: {'beeper.enable', 'beeper.disable', 'test.panel.start', 'test.battery.start.quick', 'shutdown.stayoff', 'test.panel.stop', 'beeper.mute', 'test.battery.stop', 'load.off', 'test.battery.start.deep', 'shutdown.stop', 'shutdown.reboot', 'load.on', 'shutdown.return'}

Still not clear to me

I’m not sure about the buttons/switches (mine do not have these either), but I think they are only there if certain commands or certain function are supported by the UPS itself…

But anyway the general way to launch what NUT calls a ā€œinstantā€ command from the NUT Integration is to use a ā€œDevice Actionā€, and the only way I know to do it is through an automation. Just to see how this might work, using the Automation Editor (in Visual Editor mode), set up an automation with a action set to Device, then pick a device that is a NUT UPS device, and then you will get a list of actions to choose from. Pick an action, and then in the editor click on the 3-dots for the action and choose ā€œRun actionā€.

That worked!
Thanks Tommy