Калибровка АКБ программно:
https://www.linux.org.ru/forum/general/13319893
1. проверяем что apcupsd живой и подключение к УПС рабочее:
Код: Выделить всё
mike@debian:~$ sudo /etc/init.d/apcupsd status
[sudo] пароль для mike:
● apcupsd.service - UPS power management daemon
Loaded: loaded (/lib/systemd/system/apcupsd.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2023-06-18 16:59:07 MSK; 5 days ago
Docs: man:apcupsd(8)
Main PID: 558 (apcupsd)
Tasks: 3 (limit: 4594)
Memory: 1.0M
CGroup: /system.slice/apcupsd.service
└─558 /sbin/apcupsd
июн 18 16:59:07 debian systemd[1]: Starting UPS power management daemon...
июн 18 16:59:07 debian systemd[1]: apcupsd.service: Can't open PID file /run/apcupsd.pid (yet?) after start: Operation not permitted
июн 18 16:59:07 debian apcupsd[558]: apcupsd 3.14.14 (31 May 2016) debian startup succeeded
июн 18 16:59:07 debian systemd[1]: Started UPS power management daemon.
июн 18 16:59:07 debian apcupsd[558]: NIS server startup succeeded
mike@debian:~$
2. останавливаем apcupsd
Код: Выделить всё
mike@debian:~$ sudo /etc/init.d/apcupsd stop
Stopping apcupsd (via systemctl): apcupsd.service.
mike@debian:~$
3. запускаем apctest и дальше всё делается в нем:
Код: Выделить всё
mike@debian:~$ sudo apctest
2023-06-23 18:17:35 apctest 3.14.14 (31 May 2016) debian
Checking configuration ...
sharenet.type = Network & ShareUPS Disabled
cable.type = Custom Cable Smart
mode.type = APC Smart UPS (any)
Setting up the port ...
Doing prep_device() ...
You are using a SMART cable type, so I'm entering SMART test mode
Hello, this is the apcupsd Cable Test program.
This part of apctest is for testing Smart UPSes.
Please select the function you want to perform.
1) Query the UPS for all known values
2) Perform a Battery Runtime Calibration
3) Abort Battery Calibration
4) Monitor Battery Calibration progress
5) Program EEPROM
6) Enter TTY mode communicating with UPS
Q) Quit
Select function number:
4. Cбросить регистр «Коэффициент емкости батарей», для этого в apctest жмем "6) Enter TTY mode communicating with UPS" потом Shift+Y, в ответ будет SM, жмем 0
выведется значение регистра, у меня было 042
Код: Выделить всё
Select function number: 6
Enter an ESC character (or ctl-[) to exit.
YSM
042
нужно увеличить его, для этого надо зайти в режим программирования:
(если не делали первые пункты, то сначала жмем Shift+Y, в ответ будет SM)
Жмем 1 через две секунды еще раз 1, выведется PROG (с первого раза может не получится, пробуем еще раз нажимать 1 .. 1), вошли в режим программирования.
Жмем 0 выведется текущее значение «Коэффициента емкости батарей»
далее жмем "+" чтобы увеличить это значение, я увеличил до 9A, соответственно чтобы уменьшить, жмем -
затем Shift+R
проверяем записалось ли значение
Shift+Y
0
выведется значение
выходим Esc
Код: Выделить всё
11PROG
042
+43
+44
+45
+46
+47
+48
...
+98
+99
+9A
RBYE
YSM
09A
^[
1) Query the UPS for all known values
2) Perform a Battery Runtime Calibration
3) Abort Battery Calibration
4) Monitor Battery Calibration progress
5) Program EEPROM
6) Enter TTY mode communicating with UPS
Q) Quit
Select function number:
5. Итого вернулись в основное меню и теперь нужно запустить калибровку (предварительно нагрузив бесперебойник на 30-45%), для этого выбираем пункт "2) Perform a Battery Runtime Calibration"
Код: Выделить всё
Select function number: 2
First ensure that we have a good link and
that the UPS is functionning normally.
Simulating UPSlinkCheck ...
Wrote: Y Got: SM
Attempting to use smart_poll() ...
Sent: Y Got: SM Good -- smart_poll() works!.
Checking estimated runtime ...
Current runtime is 30 minutes
Checking for battery level ...
Battery level is 100.0 -- OK
The battery calibration should automatically end
when the battery level drops below about 25, depending
on your UPS.
I can also optionally monitor the progress
and stop the calibration if it goes below 10. However,
in the case of a new battery this may prematurely end the
calibration loosing the effect.
Do you want me to stop the calibration
if the battery level goes too low? (y/n): y
Sending Battery Calibration command. ...
UPS has initiated battery calibration.
Monitoring the calibration progress ...
To stop the calibration, enter a return.
Battery charge 96
Remaining runtime is 27 minutes
.....
Battery charge 94
Remaining runtime is 26 minutes
...
.
Battery charge 27
Remaining runtime is 7 minutes
.
Battery charge 25
Remaining runtime is 7 minutes
Battery Runtime Calibration terminated by UPS.
Checking estimated runtime ...
Remaining runtime is 7 minutes
On battery 1573 sec or 26m13s.
1) Query the UPS for all known values
2) Perform a Battery Runtime Calibration
3) Abort Battery Calibration
4) Monitor Battery Calibration progress
5) Program EEPROM
6) Enter TTY mode communicating with UPS
Q) Quit
Select function number:
6. Проверяем коэффициент емкости в меню "6) Enter TTY mode communicating with UPS"
Shift+Y
0
выведется значение
Esc
Код: Выделить всё
Select function number: 6
Enter an ESC character (or ctl-[) to exit.
YSM
0A2
^[
Коэффициент поменялся с 9A на A2, значит колибровка прошла.
В результате УПС даже не выключался, видимо мониторил напряжение на акб и вышел из калибровки по нижнему пределу напряжения акб.
7. выходим из apctest
Код: Выделить всё
Select function number: q
2023-06-23 19:35:46 End apctest.
mike@debian:~$
8. запускаем apcupsd
Код: Выделить всё
mike@debian:~$ sudo /etc/init.d/apcupsd start
[sudo] пароль для mike:
Starting apcupsd (via systemctl): apcupsd.service.
mike@debian:~$
Код: Выделить всё
mike@debian:~$ sudo /etc/init.d/apcupsd status
● apcupsd.service - UPS power management daemon
Loaded: loaded (/lib/systemd/system/apcupsd.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2023-06-23 19:36:34 MSK; 24s ago
Docs: man:apcupsd(8)
Process: 962138 ExecStartPre=/lib/apcupsd/prestart (code=exited, status=0/SUCCESS)
Process: 962142 ExecStart=/sbin/apcupsd (code=exited, status=0/SUCCESS)
Main PID: 962143 (apcupsd)
Tasks: 3 (limit: 4594)
Memory: 1.8M
CGroup: /system.slice/apcupsd.service
└─962143 /sbin/apcupsd
июн 23 19:36:34 debian systemd[1]: Starting UPS power management daemon...
июн 23 19:36:34 debian systemd[1]: apcupsd.service: Can't open PID file /run/apcupsd.pid (yet?) after start: Operation not permitted
июн 23 19:36:34 debian apcupsd[962143]: apcupsd 3.14.14 (31 May 2016) debian startup succeeded
июн 23 19:36:34 debian systemd[1]: Started UPS power management daemon.
июн 23 19:36:34 debian apcupsd[962143]: NIS server startup succeeded
mike@debian:~$
Готово!