UPS Software: What It Does and Which Tool to Use

Without software, a UPS only buys time: when the battery runs out, your computer still loses power mid-write. UPS software watches the battery over a USB, serial or network link and shuts your machines down cleanly before that happens.

On this page
  1. What UPS software actually does
  2. How software talks to the UPS
  3. The three families of software
  4. Which tool should you use?
  5. One UPS, many machines
  6. Picking shutdown triggers
  7. Testing that it actually works
  8. Security notes for networked UPS software
  9. Frequently asked questions

What UPS software actually does

A UPS knows a lot about the power situation: whether it is on utility or battery, how charged the battery is, how many minutes the current load can run, and whether the battery has failed a test. The computer it powers knows none of that unless something reads it. UPS software is that something. Its jobs, roughly in order of importance:

  1. Graceful shutdown. When the battery reaches a threshold (a charge percentage, a runtime estimate, or a fixed time on battery), the software tells the operating system to close applications, flush disks and halt. This is the feature that prevents corrupted databases, damaged file systems and half-written virtual machine disks.
  2. UPS power-off and restart. After the OS halts, the software (or the shutdown scripts it installs) can tell the UPS to turn its outlets off after a delay. When utility power comes back, the UPS restores output, and machines set to power on after AC loss boot themselves.
  3. Notifications. Email, desktop pop-ups, syslog entries, SNMP traps or webhook scripts when power fails, returns, or the battery needs replacing.
  4. Logging. A history of transfers to battery, input voltage events and self-test results. This is how you discover that the UPS has been switching to battery 30 times a day because of voltage sags.
  5. Control and diagnostics. Starting self-tests and runtime calibration, adjusting transfer voltages and sensitivity, muting the alarm, and reading the battery install date.

Everything except the first item is optional. If your setup only does one thing, make it the shutdown, and make sure it is tested.

How software talks to the UPS

There are three physical paths, and the one your UPS supports determines which software can use it.

UPS communication interfaces
InterfaceWhere you find itWhat reads itLimits
USB (HID Power Device class)Almost all current consumer and small business unitsWindows, macOS, NAS OSes, NUT (usbhid-ups), apcupsd, vendor toolsOne host per UPS; cable length and USB hubs can cause dropouts
Serial (RS-232, often an RJ45 or RJ50 style jack)Older and business-class unitsVendor tools, NUT, apcupsdNeeds the vendor's specific cable; a generic null-modem cable can signal a shutdown to the UPS
Network (management card or built-in Ethernet)Business rack and tower units with a card slotVendor network shutdown agents, SNMP managers, NUT (snmp-ups), web browserCard costs extra; needs network security care

USB HID: the common denominator

The USB HID Power Device standard defines how a UPS reports charge, runtime and status in a vendor-neutral way. That is why plugging a typical UPS into a Windows PC makes a battery icon appear with no driver installed. It is also why NUT's usbhid-ups driver works across APC, CyberPower, Eaton, Tripp Lite and others. Vendors do add their own extensions, so some values (load percentage, input voltage, outlet controls) may be missing or reported differently depending on brand and firmware.

Serial: still around, easy to get wrong

Many business units keep a serial port, sometimes as an RJ45-shaped jack that is not Ethernet. Use the cable the manufacturer specifies. Some vendors use particular pins as "shut down now" signals, and the wrong cable can switch the UPS off when you connect it.

Network management cards and SNMP

A network management card (NMC) gives the UPS its own IP address, web interface, SNMP agent and email alerts. The UPS no longer depends on any one computer being alive to report its status, and shutdown agents on many servers can each subscribe to it. This is the cleanest architecture for a rack, at the cost of the card itself.

The three families of software

Built into the operating system

Windows treats a USB HID UPS as a battery and applies the "critical battery action" from Power Options; see Windows UPS shutdown. macOS shows UPS options in its energy settings when a compatible UPS is connected; see macOS UPS settings. NAS and hypervisor platforms embed an open source tool behind a settings page: Synology DSM and TrueNAS use NUT, Unraid uses apcupsd. Built-in support is the least work and usually enough for one machine.

Vendor software

APC's PowerChute and CyberPower's PowerPanel (covered in PowerChute and PowerPanel) expose brand-specific settings, read more detailed status, and include network shutdown agents designed for that vendor's management cards and virtualization platforms. They are the right choice when you need a vendor feature or vendor support. They lock you to one brand.

Open source

  • Network UPS Tools (NUT) supports a very wide range of brands over USB, serial and SNMP, and has a clean client/server design. It is the engine behind many NAS and appliance UPS features.
  • apcupsd is simpler, focused on APC units, and has a long track record. It sees little active development, but it is stable and still packaged by major distributions.

Which tool should you use?

Choosing UPS software by scenario
ScenarioRecommended approachWhy
One Windows PC, USB-connected UPSWindows built-in power settings, or the vendor's personal edition if you want alerts and logsNo extra service needed; the vendor tool adds history and alarm control
One MacmacOS built-in UPS settingsThird-party options are limited; built-in support covers the shutdown
Synology, TrueNAS or Unraid NASThe NAS's own UPS pageIt configures the embedded NUT or apcupsd for you and survives updates; see Synology, TrueNAS, Unraid
Linux server or Proxmox hostNUT (or apcupsd for a simple APC setup)Packaged, scriptable, network-capable; see Proxmox UPS shutdown
NAS plus a few PCs or a homelab on one UPSNUT server on the USB-connected host, NUT clients elsewhereMixes freely across Linux, NAS, Windows (third-party clients) and Home Assistant
Rack with several servers and VMware or Hyper-VNetwork management card plus the vendor's network shutdown agentIndependent of any one host; integrates with VM and cluster shutdown
Monitoring only, home automation dashboardsNUT server plus the Home Assistant NUT integrationRead-only access to status and history

One UPS, many machines

A small UPS often powers a NAS, a mini PC, a switch and a router. Only one of them can hold the USB cable. The pattern that works:

  1. Pick the primary host. Choose the machine that stays up longest and is easiest to keep running: often the NAS or a small always-on Linux box. Connect the UPS USB cable to it.
  2. Run a server on it. NUT in netserver mode (port 3493), apcupsd with NETSERVER on (port 3551), or a vendor agent in its "local" or server role.
  3. Run clients on the others. Each client polls the primary for status and shuts itself down when the primary says the battery is critical or a forced shutdown is underway.
  4. Order the shutdowns. Clients shut down first; the primary waits for them, then shuts itself down and tells the UPS to power off after a delay.
  5. Keep the network path alive. The switch between the primary and its clients must also be on battery, or clients lose contact the instant power fails.

With a network management card, the card plays the primary role and every host is a client. The advantage is that the "server" is not a computer that might itself crash or be shutting down.

Our rule of thumb: decide the shutdown trigger from the slowest machine

The trigger point has to leave enough battery for the slowest machine on the UPS to finish shutting down, plus a margin for an aged battery. A NAS with many drives or a hypervisor stopping a dozen VMs can need several minutes. Time a real shutdown, double it, and set the runtime threshold (or "minutes remaining") above that. A trigger of "5% battery" looks safe on a new battery and becomes a crash once the battery has lost half its capacity. See how much runtime you need.

Picking shutdown triggers

Most tools offer three kinds of trigger. They can usually be combined, and whichever fires first wins.

  • Time on battery ("shut down after 5 minutes on battery"). Predictable and independent of the UPS's estimates. Good when outages in your area are either very short or very long, because it skips the useless middle ground of draining the battery and crashing anyway.
  • Remaining runtime ("shut down at 3 minutes left"). Adapts to load, but only as accurate as the UPS's runtime estimate, which drifts as batteries age until you recalibrate.
  • Battery charge percentage ("shut down at 20%"). Simple, but charge percentage is a poor proxy for remaining time under a heavy load.
  • The UPS's own low-battery signal. NUT and some vendor tools act on the UPS's internal low-battery flag. On some units this fires late, with well under a minute left, so many people raise the threshold or add a time-based trigger.

One program per USB connection

Installing PowerChute or PowerPanel on a machine that also runs NUT or apcupsd usually leaves both fighting for the USB device. Symptoms are intermittent "communication lost" messages, stale data, or the UPS vanishing. Pick one tool per host. If the UPS still does not appear, work through UPS not detected by computer.

Testing that it actually works

A setup that has never been tested is a hope, not a plan. A safe test, done at a quiet time with backups current:

  1. Confirm every host shows the UPS status as online (for example upsc for NUT or apcaccess for apcupsd).
  2. Temporarily set a short trigger, such as "shut down after 1 minute on battery".
  3. Simulate the outage by switching off the UPS's circuit breaker or unplugging its input cord. Watch the notifications arrive.
  4. Confirm clients shut down first, then the primary, and note how long each took.
  5. Restore power and check whether the UPS and machines come back as you expect.
  6. Set the trigger back to its real value, informed by the times you measured.

Repeat after major OS upgrades and after replacing the UPS battery, since both can change behavior. The UPS maintenance checklist includes this as a periodic item.

Security notes for networked UPS software

UPS servers can do more than report status: a client with the right credentials can command a shutdown of every machine that trusts it. Keep the server listening only on a trusted LAN interface, use non-default passwords, block ports 3493 (NUT) and 3551 (apcupsd) at the router, and change the default credentials on any management card. Many NAS units ship with well-known default NUT credentials so that other devices can connect easily; that convenience is fine on an isolated home network and worth reconsidering anywhere else.

Frequently asked questions

Do I need to install UPS software at all?

If the protected device can lose power uncleanly without harm (a router, a modem, a TV), no. For PCs, NAS units and servers, yes, or at least enable the built-in UPS support of the OS. Otherwise a long outage drains the battery and the machine crashes anyway, just a few minutes later than it would have without the UPS.

Why does Windows show my UPS as a battery like a laptop?

Many UPS units identify as a USB HID Power Device, the same device class laptop batteries use. Windows reads the charge level and runtime and applies the battery settings in Power Options, including the critical battery action. That is enough for a single PC, but it cannot shut down other machines.

Can two computers be plugged into one UPS USB port?

No. The UPS has one data port and it connects to one host. The second computer gets status over the network instead: the first host runs a server (NUT in netserver mode, apcupsd with NETSERVER on, or a vendor tool's agent), and the second runs a client that listens to it.

Is open source UPS software safe to use with a brand-name UPS?

Yes, and it is the standard choice on Linux, Proxmox, TrueNAS and Synology, which ship NUT internally. The trade-off is that some vendor-specific features, such as setting certain outlet group delays or firmware updates, may only be available in the manufacturer's software.

Does UPS software turn the UPS off after the computer shuts down?

It can. Most tools can send a delayed power-off command so the UPS cuts its output after the OS halts and turns back on when utility power returns. That restart is what lets servers with an 'always power on after AC loss' BIOS setting boot themselves automatically.

Sources and further reading

  1. Network UPS Tools (NUT) project documentation
  2. apcupsd project manual
  3. USB Implementers Forum, Universal Serial Bus Usage Tables for HID Power Devices
  4. APC by Schneider Electric, PowerChute product documentation
  5. CyberPower Systems, PowerPanel user manuals