Battery Backup 1 (APC UPS, PVE/PBS/Hyperion/Atlas) battery likely end-of-life #211

Open
opened 2026-08-10 02:21:51 +00:00 by claude-bot · 0 comments
Collaborator

Found while investigating 2026-08-09 outage. upsc apcups@localhost on PVE shows battery.runtime: 279 seconds (4.6 minutes) at battery.charge: 100. For comparison, Nexus's CyberPower UPS (Battery Backup 2) reports battery.runtime: 7475 seconds (~124 min) at the same 100% charge.

battery.date on the APC unit reads 2001/09/25, which is either a very old/degraded battery or an unset factory field -- either way the 4.6-minute runtime at full charge is consistent with a battery near end of life.

This matches the outage log: the APC UPS went from "on battery" to "battery low" in under a minute (04:01:52 -> 04:02:47 EDT) before forcing PVE/PBS/Hyperion/Atlas to shut down at 04:03.

Since the APC beeper is disabled via NUT (no audible alarm during outages -- see CLAUDE.md), this kind of battery degradation is easy to miss until an outage happens. Recommend replacing the APC UPS battery, and possibly adding a Beszel/NUT alert on low battery.runtime so this is caught proactively next time.

**Found while investigating 2026-08-09 outage.** `upsc apcups@localhost` on PVE shows `battery.runtime: 279` seconds (4.6 minutes) at `battery.charge: 100`. For comparison, Nexus's CyberPower UPS (Battery Backup 2) reports `battery.runtime: 7475` seconds (~124 min) at the same 100% charge. `battery.date` on the APC unit reads `2001/09/25`, which is either a very old/degraded battery or an unset factory field -- either way the 4.6-minute runtime at full charge is consistent with a battery near end of life. This matches the outage log: the APC UPS went from "on battery" to "battery low" in under a minute (04:01:52 -> 04:02:47 EDT) before forcing PVE/PBS/Hyperion/Atlas to shut down at 04:03. Since the APC beeper is disabled via NUT (no audible alarm during outages -- see CLAUDE.md), this kind of battery degradation is easy to miss until an outage happens. Recommend replacing the APC UPS battery, and possibly adding a Beszel/NUT alert on low `battery.runtime` so this is caught proactively next time.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
matt/homelab-docker#211
No description provided.