docs(ups): document apcupsd test results and Energy Dashboard limitations
The APC Smart-UPS C 1500 (FW 02.2, mfg 2012) does not expose ups.load or
ups.realpower over USB HID. Tested apcupsd as an alternative — it reads the
same HID descriptor and returned COMMLOST. Debian's apcupsd package also
conflicts with nut-server (mutually exclusive).
Documented that the HA NUT integration provides battery/runtime/status sensors
only, not wattage for the Energy Dashboard. Practical path is a smart plug on
the UPS output. Updated daily-ops examples (removed ups.load reference since
the variable doesn't exist on this UPS).
NUT stack fully restored after the apcupsd test cycle.
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
This commit is contained in:
@@ -85,8 +85,10 @@ infrastructure, Proxmox cluster ops, and k8s control plane.
|
|||||||
Needs physical reseat to direct motherboard USB port or cable replacement.
|
Needs physical reseat to direct motherboard USB port or cable replacement.
|
||||||
Driver masked to prevent restart-loop spam.
|
Driver masked to prevent restart-loop spam.
|
||||||
- [ ] **Home Assistant NUT integration:** configured and live (3 sensors:
|
- [ ] **Home Assistant NUT integration:** configured and live (3 sensors:
|
||||||
battery charge, status, status data). Additional sensors populate as UPS
|
battery charge, status, status data). This APC (FW 02.2, mfg 2012) does not
|
||||||
reports more variables.
|
report `ups.load` over USB HID — confirmed via both NUT and apcupsd tests.
|
||||||
|
No wattage for Energy Dashboard; smart plug on UPS output is the practical
|
||||||
|
path. apcupsd package conflicts with nut-server (mutually exclusive).
|
||||||
|
|
||||||
### Console Management (ser2net telnet(rfc2217) + conman on pfv-tsys4 — LIVE)
|
### Console Management (ser2net telnet(rfc2217) + conman on pfv-tsys4 — LIVE)
|
||||||
- [x] 7 network switch/router consoles managed via ser2net + conman
|
- [x] 7 network switch/router consoles managed via ser2net + conman
|
||||||
@@ -166,7 +168,7 @@ infrastructure, Proxmox cluster ops, and k8s control plane.
|
|||||||
- **Friday maintenance:** tsys4 (PCIe NIC + RAM), tsys5 (2nd CPU candidate, NVMe, 2nd ethernet)
|
- **Friday maintenance:** tsys4 (PCIe NIC + RAM), tsys5 (2nd CPU candidate, NVMe, 2nd ethernet)
|
||||||
- **PDU:** Rename outlets in powerman.conf (Friday onsite)
|
- **PDU:** Rename outlets in powerman.conf (Friday onsite)
|
||||||
- **k8s deferred:** ETL tooling, HPC scheduler, vcluster policy, solar-aware scale-out
|
- **k8s deferred:** ETL tooling, HPC scheduler, vcluster policy, solar-aware scale-out
|
||||||
- **UPS:** APC Smart-UPS C 1500 operational via NUT on pfv-tsys1. HA NUT integration live (battery charge, status, status data sensors). Tripp Lite blocked on HID report descriptor (USB hub/cable issue — try direct motherboard port).
|
- **UPS:** APC Smart-UPS C 1500 operational via NUT on pfv-tsys1. HA NUT integration live (battery charge, status sensors). No ups.load over USB HID (firmware limitation, confirmed via apcupsd test). Tripp Lite blocked on HID report descriptor (USB hub/cable issue — try direct motherboard port).
|
||||||
|
|
||||||
## Infrastructure Summary
|
## Infrastructure Summary
|
||||||
|
|
||||||
|
|||||||
+16
-5
@@ -184,8 +184,7 @@ upsc -l pfv-tsys1
|
|||||||
# Full variable dump for one UPS
|
# Full variable dump for one UPS
|
||||||
upsc apc-smartups-c1500@pfv-tsys1
|
upsc apc-smartups-c1500@pfv-tsys1
|
||||||
|
|
||||||
# Just the live load + runtime
|
# Battery runtime (the only runtime/charge data this UPS exposes)
|
||||||
upsc apc-smartups-c1500@pfv-tsys1 ups.load
|
|
||||||
upsc apc-smartups-c1500@pfv-tsys1 battery.runtime
|
upsc apc-smartups-c1500@pfv-tsys1 battery.runtime
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -194,6 +193,18 @@ upsc apc-smartups-c1500@pfv-tsys1 battery.runtime
|
|||||||
- **No USB passthrough to the HA VM.** Keeping the UPS on the host preserves
|
- **No USB passthrough to the HA VM.** Keeping the UPS on the host preserves
|
||||||
hypervisor graceful-shutdown capability and matches the `powerman/` pattern
|
hypervisor graceful-shutdown capability and matches the `powerman/` pattern
|
||||||
(PDU managed on the host where the adapter physically lives).
|
(PDU managed on the host where the adapter physically lives).
|
||||||
- **Per-unit power (Watts):** `usbhid-ups` reports `ups.realpower` directly on
|
- **No `ups.load` / `ups.realpower` on this UPS (FW 02.2, mfg 2012):** The
|
||||||
the APC Smart-UPS C 1500. If absent, derive Watts as
|
APC Smart-UPS C 1500 does not expose load or power data over USB HID.
|
||||||
`load% × VA_rating × power_factor` in HA templates.
|
Both NUT `usbhid-ups` and `apcupsd` (USB mode, tested 2026-07-30) read the
|
||||||
|
same HID descriptor — the variable simply isn't there. This means the HA
|
||||||
|
NUT integration provides **battery/runtime/status sensors only**, not
|
||||||
|
wattage for the Energy Dashboard.
|
||||||
|
- **apcupsd test note:** Debian's `apcupsd` package conflicts with
|
||||||
|
`nut-server` (mutually exclusive). apcupsd USB mode returned `COMMLOST`
|
||||||
|
even before we could check load. The APC Smart Serial protocol (serial
|
||||||
|
cable, AP940-1524C, ~$30) DOES report load%, but this requires a serial
|
||||||
|
port on the UPS and on the host.
|
||||||
|
- **Energy Dashboard path:** A smart plug (Shelly Plug S / TP-Link Kasa,
|
||||||
|
~$15-25) on the UPS output reports real watts natively and feeds the
|
||||||
|
Energy Dashboard with zero UPS-driver hacking. The NUT sensors remain
|
||||||
|
valuable for outage detection and graceful-shutdown automations.
|
||||||
|
|||||||
Reference in New Issue
Block a user