feat(ups): NUT setup for APC Smart-UPS C 1500 on pfv-tsys1
Deploy Network UPS Tools to monitor the server-room UPS units and feed data to
Home Assistant for power-usage tracking.
APC Smart-UPS C 1500 is fully operational: battery charge, runtime, load,
voltage, and status all reporting via usbhid-ups + APC HID 0.100 subdriver.
upsd listens on Tailscale (100.121.189.98:3493) for HA polling; local upsmon
provides graceful hypervisor shutdown on battery-low.
Key deployment fix: the udev rule must cover SUBSYSTEM=="usb" (raw
/dev/bus/usb) in addition to hidraw, because usbhid-ups opens the raw USB
device file after dropping to the nut user via setuid(). Matching only hidraw
causes EACCES on driver start.
Tripp Lite UPS (09ae:3016) is blocked — driver matches TrippLite HID 0.85
subdriver but fails reading the 878-byte HID Report Descriptor (EAGAIN via USB
hub). Needs physical reseat to direct motherboard USB port. Driver masked to
prevent restart-loop spam.
Files: ups/discover.sh, ups/setup.sh (idempotent), ups/status.sh, ups/README.md
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
> **Human read-only. Agents maintain this file automatically after each work
|
||||
> session.** Do not edit by hand — the next agent run will overwrite it.
|
||||
|
||||
> **Last updated:** 2026-07-29 by Crush (GLM-5.2)
|
||||
> **Last updated:** 2026-07-30 by Crush (GLM-5.2)
|
||||
>
|
||||
> **Capacity targets are now codified** in
|
||||
> [`proxmox/docs/CAPACITY-GOALS.md`](proxmox/docs/CAPACITY-GOALS.md): 80% RAM
|
||||
@@ -68,6 +68,20 @@ infrastructure, Proxmox cluster ops, and k8s control plane.
|
||||
- [x] Validated: outlet 10 cycled off → on (8/8 test checks passed)
|
||||
- [ ] Rename outlets to match physical devices (Friday onsite)
|
||||
|
||||
### UPS Management (NUT on pfv-tsys1 — LIVE)
|
||||
- [x] **APC Smart-UPS C 1500** fully reporting via NUT usbhid-ups + APC HID 0.100
|
||||
- [x] upsd listening on Tailscale `100.121.189.98:3493` (port 3493)
|
||||
- [x] Local upsmon (master) configured for graceful hypervisor shutdown
|
||||
- [x] Home Assistant credentials generated (`homeassistant` user in upsd.users)
|
||||
- [x] Scripts in `ups/`: discover, setup (idempotent), status
|
||||
- [x] **Key fix:** udev rule covers BOTH `usb` and `hidraw` subsystems (driver
|
||||
opens raw `/dev/bus/usb` after setuid drop, not `/dev/hidraw`)
|
||||
- [ ] **Tripp Lite UPS blocked:** driver matches TrippLite HID 0.85 subdriver
|
||||
but fails reading 878-byte HID Report Descriptor (EAGAIN via USB hub).
|
||||
Needs physical reseat to direct motherboard USB port or cable replacement.
|
||||
Driver masked to prevent restart-loop spam.
|
||||
- [ ] **Home Assistant NUT integration:** not yet configured in HA UI (user action)
|
||||
|
||||
### Console Management (ser2net telnet(rfc2217) + conman on pfv-tsys4 — LIVE)
|
||||
- [x] 7 network switch/router consoles managed via ser2net + conman
|
||||
- [x] **USB enumeration problem SOLVED:** udev rules pin each adapter by
|
||||
@@ -146,7 +160,7 @@ infrastructure, Proxmox cluster ops, and k8s control plane.
|
||||
- **Friday maintenance:** tsys4 (PCIe NIC + RAM), tsys5 (2nd CPU candidate, NVMe, 2nd ethernet)
|
||||
- **PDU:** Rename outlets in powerman.conf (Friday onsite)
|
||||
- **k8s deferred:** ETL tooling, HPC scheduler, vcluster policy, solar-aware scale-out
|
||||
- **UPS:** Trace USB cables on tsys1/tsys4 — confirm APC + TrippLite data cables are seated. tsys4 UPS is not enumerating at all (no HID device). tsys1 UPS may be passed through to pfv-bms (100) — verify. Goal: NUT driver + HA integration for power usage tracking + graceful shutdown
|
||||
- **UPS:** APC Smart-UPS C 1500 operational via NUT on pfv-tsys1. Tripp Lite blocked on HID report descriptor (USB hub/cable issue — try direct motherboard port). HA NUT integration pending user config in HA UI.
|
||||
|
||||
## Infrastructure Summary
|
||||
|
||||
@@ -163,4 +177,5 @@ infrastructure, Proxmox cluster ops, and k8s control plane.
|
||||
| **PDU** | **Cyclades PM10i via powerman on pfv-tsys1 (port 10101)** |
|
||||
| **AWX** | **tsys-awx: AWX 24.6.1 on k3s (http://tsys-awx.knel.net:80)** |
|
||||
| **Console** | **7 switch consoles via ser2net telnet(rfc2217)+conman on pfv-tsys4 (conmand:7890 on Tailscale)** |
|
||||
| **UPS** | **APC Smart-UPS C 1500 via NUT on pfv-tsys1 (upsd:3493 on Tailscale)** |
|
||||
| Production | Cloudron VPS, Reston VA (this cluster is R&D only) |
|
||||
|
||||
Reference in New Issue
Block a user