Quick answer

Pull the plug under real load, on a schedule. APC’s Smart-UPS self-test runs every two weeks and puts the unit on battery for about ten seconds, which proves the inverter fires and tells you nothing about runtime. Buy pure sine behind any active-PFC supply, and drive shutdown over USB with NUT rather than a management card.

On this page

The number on the front of a UPS is a charge reading. It is not a health reading.

A unit showing full can drop the load the moment it transfers. The display will have been telling you everything was fine right up until the instant it stopped being fine, and it was not lying — it was answering a different question than the one you thought you were asking.

That gap between charged and working is the whole subject here. Sizing the unit is settled territory: VA against watts, runtime against your shutdown window. This is about what comes after you have bought the right size — proving it does the job, on a schedule, before the power goes out and proves it for you.

The built-in self-test is not a runtime test

Most units test themselves. The test covers less than the name suggests.

Schneider’s documentation for the Smart-UPS line says the unit self-tests when you switch it on and every two weeks after that, and that during the test it runs on battery for approximately ten seconds (Schneider Electric FA405317). The Back-UPS line runs the same ten seconds on a different clock — Schneider describes the automatic test as happening every seven days after the unit is powered on — and its replace-battery alarm is framed against a standard two-minute runtime limit (Schneider Electric FAQ000267818).

Ten seconds is a genuinely useful test of one thing: the transfer relay closes and the inverter comes up. Keep it enabled. But read what it is measuring. A battery that has lost most of its useful capacity will hold ten seconds without complaint, and it will hold two minutes for a while after that. By the time the automatic test starts failing, you have already been running on a battery that would not have finished a shutdown.

Charge is a percentage. Capacity is minutes. The panel shows you the first one and you need the second one.

An untested UPS is a surge protector with a battery in it

So test on a schedule, and make it a real test.

Connect the load the unit actually protects. Pull the input cord. Watch what the load does at the moment of transfer, and time how long the battery holds before the shutdown you configured actually fires. That one pull exercises the transfer, the inverter, the battery under its real load, and your shutdown chain, in the order they will happen for real.

Nothing else does. A ten-second self-test skips the load. A runtime figure from a spec sheet skips your gear. The UPS runtime calculator will model the curve for you, and the model is worth having as a starting expectation — but a modelled forty minutes and a measured forty minutes are not the same claim, and only one of them is about the battery currently sitting in your rack.

If you would rather not pull a cord on live equipment, NUT will start a deep battery test on hardware that exposes one:

upscmd -u <user> <upsname> test.battery.start.deep

test.battery.start.quick, test.battery.start.deep and test.battery.stop are all standard NUT instant commands (NUT instant command reference), and upscmd -l <upsname> lists what your specific unit supports (upscmd man page).

There is a second reason to test that has nothing to do with the battery. A UPS can fail in a way that takes the load down with it. That is a real failure mode, not a freak event. The box you bought to prevent an unclean shutdown sits in series with everything it protects, and the only way to find out how yours behaves when it goes wrong is to make it transfer while you are standing there rather than at 3am while you are not.

Pure sine, or don’t put a server PSU behind it

This one has a mechanism, and the mechanism is published by the people selling the cheaper option.

CyberPower’s explanation of its own PFC Sinewave line is that a simulated sine wave produces a zero-output state during the phase change — a gap in the waveform — and that this gap can interrupt equipment running an active-PFC power supply when the unit switches from mains to battery (CyberPower, PFC Sinewave Series).

Read where that failure lands. Not during a brownout, not on a slow degrade — at transfer. The single event the UPS exists to handle is the event a simulated-sine unit is worst at, and active PFC is standard in modern PC and server supplies; CyberPower’s own page dates that transition to the last fifteen years.

Simulated sine into an active-PFC supply is asking for trouble on transfer. Pure sine for anything with a server PSU behind it.

USB and NUT, not a network management card

Network management cards cost absurd money next to the UPS they plug into. A UPS network management card is a separate accessory bought on top of the unit, and for a single-site homelab it buys network-side monitoring you can get from a cable.

USB plus NUT does the job and is what I’d run. Three pieces:

  • usbhid-ups should detect anything implementing the HID Power Device Class, with the amount of data varying by manufacturer and model. NUT lists all MGE, Dell and AMETEK Powervar USB models, the newer Eaton USB models, and specific models from APC, CyberPower, TrippLite, Belkin, Powercom and PowerWalker (usbhid-ups man page). Check your exact model against the compatibility list before you count on it.
  • upsmon watches for the critical condition — on battery, low charge — sets the forced-shutdown flag, and lets every machine it is monitoring run its own shutdown command with a delay you set (NUT configuration notes).
  • upscmd gives you the battery tests above and the alarm control below.

That is the entire feature set most homelabs wanted from the card.

If it can’t trigger a clean shutdown of what’s plugged into it, most of the value is gone. A UPS that only buys you a few minutes of uptime during which nobody is home to act is a very expensive way to delay the same unclean power-off. The shutdown chain is the product. Configure it the day the unit arrives, then test that it fires — which is the same plug-pull from two sections up, and the reason that test is worth doing properly.

The alarm will go off at 3am

It will. The alarm is standard equipment, and the first time it fires is the worst possible moment to be learning where the mute button is.

Decide now what you want it to do, and set it now. NUT exposes beeper.disable, beeper.mute, beeper.enable and beeper.toggle as instant commands (same reference), so this is one upscmd call, done while you are awake and thinking clearly about whether you actually want an audible alarm in that room.

Batteries are a consumable

Plan for the replacement rather than being surprised by it. Sealed lead-acid cells are on a several-year cycle, and third-party replacements are standard practice — not a corner cut.

Schneider puts most APC batteries at three to five years and notes that every 8°C (15°F) of extra operating temperature halves that life (Schneider Electric FA158934). That second figure is the one people miss. A UPS in a warm closet is not on the same schedule as the same UPS in a basement, and if you have put yours in the warm closet, the replacement year on your calendar is optimistic.

Which puts you back at the test. The only way to know where your battery is on that curve is to have measured it recently under load.

What I’d do: pure sine, USB, NUT, and a plug-pull on a schedule

Buy a pure sine wave unit sized to your load, connect it over USB, run NUT, and pull the plug on a schedule. No management card. That configuration covers the transfer, the shutdown, the alarm and the tests, and there is nothing left in the card that a homelab with one rack needs.

The plug-pull is the part people skip and the only part that produces information. Put it on a recurring reminder alongside whatever else you check, keep the number you measured, and compare it to the last one. When the measured runtime has fallen far enough that your shutdown no longer finishes inside it, buy cells — before the automatic self-test gets around to agreeing with you.

This is wrong for a few situations. Simulated sine into active PFC — do not, at any price. A consumer unit under a full rack, where the load is past what the unit is rated to hold and the runtime is theatre. And anyone who will not set up automatic shutdown, because at that point the money bought a surge protector with a battery in it, which is where this started.

Testing does not make a UPS more reliable. It tells you whether the one you own is still doing the job, which is a different and more useful thing than a green light. And none of it replaces keeping backups somewhere else — a clean shutdown protects the pool, not the data.

Frequently asked questions

How do you test a UPS properly?
Connect the load it actually protects, pull the input cord, and watch two things: whether the load survives the transfer, and how long the battery holds before your configured shutdown fires. That single test exercises the transfer relay, the inverter, the battery under real load and your shutdown chain at once. The built-in self-test does not, because it only runs the unit on battery for about ten seconds. If you would rather not pull a cord, NUT can start a deep battery test on hardware that supports it.
Does a full charge indicator mean the UPS battery is good?
No. Charge and capacity are different measurements, and the front panel reports the first one. A unit reading full can drop the load the moment it transfers to battery. Schneider puts the Smart-UPS routine self-test at roughly ten seconds on battery every two weeks, describes the Back-UPS automatic test as ten seconds every seven days, and frames the Back-UPS bad-battery alarm against a standard two-minute runtime limit — so a battery with most of its useful runtime gone still passes. The only number that means anything is one you measured under your own load.
Do I need a pure sine wave UPS?
For anything with a server or PC power supply behind it, yes. CyberPower’s own explanation is that a simulated sine wave has a zero-output state during the phase change, and that gap can interrupt equipment running an active-PFC power supply at the moment the unit switches to battery. Active PFC is standard in modern PC and server supplies, so the failure lands precisely at transfer, which is the one event the UPS exists to handle. Buy pure sine and stop thinking about it.
Is a UPS network management card worth it for a homelab?
Not for a single-site homelab. The card is a separate accessory bought on top of the unit, and what it buys you is network-side monitoring and shutdown. USB gets you the same shutdown for the price of a cable: NUT’s usbhid-ups driver should reach any unit implementing the HID Power Device Class, though how much data you get back varies by model; upsmon flags the critical condition and hands it to your shutdown command, and upscmd runs battery tests and silences the alarm. That is the whole job.

Evidence ledger

Last updated
Methodology
This homelab guide was written and edited by Lowell K. Wood IV in St. Louis County, MO. Specs and prices verified against vendor and project documentation current on the date above. Full editorial standard: methodology.
Update log
  • 2026-09-07 — Last reviewed and updated.
Corrections
Spotted an error or a stale number? Email hello@techfuelhq.com. Confirmed corrections are added to the update log above.

About the author

Written by Lowell K. Wood IV, who builds and runs TechFuelHQ from St. Louis, Missouri.