feat(ups): varsta acumulatorilor devine criteriu in testul lunar

Utilizatorul a confirmat ca acumulatorii au fost schimbati pe 2024-01-09 (data
aproximativa). Asta scoate la iveala o limita a evaluarii pe tendinta: NUT a fost
instalat pe 2025-10-06, cand acumulatorii aveau deja ~21 luni, deci linia de baza
NU e o baterie noua. Raportul de 1.16x masoara degradarea peste o baterie care
isi pierduse deja o parte din capacitate. Verdictul EXCELLENT e corect ca
tendinta, dar nu inseamna "ca noua".

Varsta devine criteriu separat, citit din /etc/nut/battery-install-date:
sub 3 ani niciun efect, 3-4 ani nota vizibila in raport, peste 4 ani forteaza cel
putin FAIR indiferent de tendinta. Fara fisier, scriptul merge normal si cere
completarea lui.

Verificat pe pvemini cu testul de baterie anulat, pe trei date: 32 luni (reala)
-> EXCELLENT, 39 luni -> EXCELLENT cu nota, 56 luni -> FAIR fortat. Fallback-ul
fara fisier intoarce varsta goala, nu eroare.

Un bug prins la verificare: extragerea datei lua prima potrivire din fisier, care
era un an dintr-un comentariu, si dadea varsta 0. Ambele extrageri sar acum peste
liniile care incep cu #.

Prag de 3 ani: 2027-01-09. Prag de 4 ani, cand testul incepe sa avertizeze
singur: 2028-01-09.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RRyaDj39hPQ89SZS6URRpS
This commit is contained in:
Marius
2026-08-27 15:00:16 +03:00
parent 0b8e8f6892
commit 83bb8b8d8c
4 changed files with 134 additions and 5 deletions

View File

@@ -95,6 +95,25 @@ Se poate reconstrui oricând din jurnal cu
14 rulări extrase din `/var/log/ups-monthly-test.log` (2025-10-06 → 2026-08-01),
ca linia de bază să fie validă imediat și nu peste 9 luni.
### Vârsta acumulatorilor
Vârsta e al doilea criteriu, independent de tendință, pentru că **linia de bază nu
a fost măsurată pe o baterie nouă** — vezi avertismentul de mai jos.
Data instalării se ține în `/etc/nut/battery-install-date` (o linie, `YYYY-MM-DD`,
comentariile cu `#` se ignoră). Versionată în
`proxmox/cluster/ups/config/battery-install-date`.
| Vârstă | Efect asupra verdictului |
|--------|--------------------------|
| < 3 ani | niciunul |
| 3 – 4 ani | notă vizibilă în raport, verdictul rămâne pe tendință |
| > 4 ani | forțează cel puțin **FAIR**, indiferent de tendință |
| necunoscută | notă care cere completarea fișierului |
Dacă fișierul lipsește sau nu conține o dată validă, scriptul funcționează normal
și raportează vârsta ca necunoscută.
### Starea la 2026-08-27
| Perioadă | Cădere de tensiune |
@@ -105,6 +124,18 @@ ca linia de bază să fie validă imediat și nu peste 9 luni.
Raport **1.16x** → **EXCELLENT**. Creșterea de ~16% în 10 luni e reală, dar sub
banda de avertizare. Alarma (FAIR) s-ar da la o cădere de ~2.73 V.
Acumulatori instalați **2024-01-09** (dată aproximativă, confirmată de utilizator),
deci **32 de luni** la 2026-08-27. Pragul de 3 ani vine pe 2027-01-09.
> ⚠️ **Linia de bază nu e o baterie nouă.** NUT a fost instalat pe 2025-10-06, când
> acumulatorii aveau deja ~21 de luni. Raportul de 1.16x măsoară deci degradarea
> *peste* o baterie care își pierduse deja o parte din capacitate — nu față de
> starea din fabrică. Verdictul EXCELLENT e corect ca tendință, dar nu înseamnă
> „baterie ca nouă". De aceea vârsta e criteriu separat.
>
> **La următoarea înlocuire linia de bază se resetează**, și abia atunci raportul
> va porni de la o baterie chiar nouă.
### De ce s-a schimbat metoda
`battery.charge` **nu e o măsurătoare independentă** la acest UPS. Driverul