我给自己买了一个旧的APC Back-UPS CS650不间断电源,并用大型铅酸电池替换其中的蓄电池,其电压与库存蓄电池一致。我通过 USB 将不间断电源连接到 PC,当我从插座中拔出电源线时,PC 几乎会立即关闭,然后不间断电源关闭。如果我停止 apcupsd 守护进程,则不会发生这种情况,并且不间断电源会一直工作,直到蓄电池停止工作。为了在日志中查看关机的原因,我注释掉了 poweroff 命令控制计算机文件。以下是输出的内容journalct-u apcupsd
Power failure on UPS invilso-systemproductname. Running on batteries.
Remaining battery runtime below limit on UPS invilso-systemproductname. Doing shutdown.
UPS invilso-systemproductname initiated Shutdown Sequence
Continuing with shutdown.
这是 apcupsd 配置:
UPSCABLE usb
UPSTYPE usb
DEVICE /dev/usb/hid/hiddev[0-9]
LOCKFILE /run/apcupsd
SCRIPTDIR /etc/apcupsd
PWRFAILDIR /etc/apcupsd
NOLOGINDIR /etc
ONBATTERYDELAY 0
BATTERYLEVEL 0
MINUTES 9999
TIMEOUT 60
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 0.0.0.0
NISPORT 3551
EVENTSFILE /var/log/apcupsd.events
EVENTSFILEMAX 10
UPSCLASS standalone
UPSMODE disable
STATTIME 0
STATFILE /var/log/apcupsd.status
LOGSTATS off
DATATIME 0
#FACILITY DAEMON
#UPSNAME UPS_IDEN
# BATTDATE 09/29/23
#SENSITIVITY H
#WAKEUP 60
#SLEEP 180
#LOTRANSFER 208
#HITRANSFER 253
#RETURNCHARGE 15
#BEEPSTATE T
#LOWBATT 2
#OUTPUTVOLTS 230
#SELFTEST 336
apcsuccess status
如果你可以完全禁用 apcupsd 自动化,只留下能够根据电压控制脚本,那就太好了,这是实际的输出apcsuccess 状态:
APC : 001,045,1081
DATE : 2023-10-04 14:52:53 +0300
HOSTNAME : invilso-systemproductname
VERSION : 3.14.14 (31 May 2016) unknown
UPSNAME : invilso-systemproductname
CABLE : USB Cable
DRIVER : USB UPS Driver
UPSMODE : Stand Alone
STARTTIME: 2023-10-04 14:52:44 +0300
MODEL : Back-UPS CS 650
STATUS : ONLINE
LINEV : 230.0 Volts
LOADPCT : 34.0 Percent
BCHARGE : 15.0 Percent
TIMELEFT : 2.9 Minutes
MBATTCHG : 0 Percent
MINTIMEL : 9999 Minutes
MAXTIME : 99999 Seconds
OUTPUTV : 230.0 Volts
SENSE : Medium
DWAKE : 0 Seconds
DSHUTD : 0 Seconds
LOTRANS : 160.0 Volts
HITRANS : 278.0 Volts
RETPCT : 0.0 Percent
ITEMP : 29.2 C
ALARMDEL : 30 Seconds
BATTV : 13.4 Volts
LINEFREQ : 50.0 Hz
LASTXFER : Low line voltage
NUMXFERS : 0
TONBATT : 0 Seconds
CUMONBATT: 0 Seconds
XOFFBATT : N/A
SELFTEST : NO
STESTI : None
STATFLAG : 0x05000008
MANDATE : 2004-06-09
SERIALNO : QB0424134379
BATTDATE : 2023-09-29
NOMOUTV : 230 Volts
NOMINV : 230 Volts
NOMBATTV : 12.0 Volts
NOMPOWER : 400 Watts
FIRMWARE : 817.v2.I USB FW:v2
END APC : 2023-10-04 14:52:55 +0300
如果你能帮助我,我将非常感激。
PS 我将电缆延长到了蓄电池,但是我用的是 16mm2 和 50 厘米长的电缆延长了它们,即使在满负荷下也不会出现很大的电压下降。
答案1
为了解决 PC 和 UPS 快速关机的问题,我不得不将所有配置恢复为默认值,然后 PC 工作了大约 15 分钟。在网上搜索了几个小时后,我发现本文,解释了如何使 apcupsd 无法控制 PC 电源。需要在 apccontrol 文件中注释掉 PC 关闭和 wall 命令的路径。但问题是状态仍然为:正在关闭。为了在主电源恢复供电时将其移除,我设法在 Python 中使用了以下代码:
result = await aioapcaccess.request_status(host='localhost', port=3551)
if float(aioapcaccess.split_unit(result["LINEV"])[0]) > 170 and result['STATUS'] == 'SHUTTING DOWN':
subprocess.run('sudo systemctl restart apcupsd.service', shell=True, check=True)