OL DISCHRG错误修复与NUT参数优化
在群晖(DSM)上使用正常的 APC BK650M2-CH,接入 UNRAID 后,使用自带的UPS 设置或安装NUT(Network UPS Tools)插件可能会在状态栏持续显示异常的 On Line - Discharging Battery。
此问题通常发生在老版本固件的 BK650M2-CH 上,属于固件在 USB HID 协议下的标志位误报,并不影响实际硬件功能。以下为修复显示 Bug 及针对 UNRAID 关机特性的配置文件优化方案。
一、 原因分析与修复原理
通过终端运行 upsc ups@127.0.0.1 查看,老固件设备会输出 OL DISCHRG 状态值。APC 固件将“市电在线”与“浮充/微弱放电”标记混在一起,导致 NUT 识别为放电中。
推荐使用 NUT 的条件匹配替换语法,仅将 OL DISCHRG 修正为 OL:
override.ups.status = "OL" "OL DISCHRG"
此方法仅针对误报生效,断电变为 OB(电池供电)时不会触发替换,保证安全关机逻辑不受影响。
二、 UNRAID 配置文件优化
将 UNRAID 网页设置中的 Enable Manual Configuration 改为 for UPS Driver,然后在 /etc/nut/ups.conf 中追加以下完整配置:
[ups]
driver = usbhid-ups
port = auto
# 【修复显示 Bug】屏蔽 OL DISCHRG 误报,正常显示纯净的 OL (在线)
override.ups.status = "OL" "OL DISCHRG"
# 【来电恢复延时】市电恢复(来电)后,UPS 强制等待 60 秒再恢复插座供电,防止刚来电时电网闪断冲击硬件
ondelay = 60
# 【电网敏感度设置】降低对市电波动的敏感度(low),防止家里开启大功率电器时 UPS 频繁无意义地切到电池供电(low/medium/high)
default.input.sensitivity = low
三、 UNRAID GUI 匹配设置
在 UNRAID 的 Settings -> NUT Settings 中完成对应修改:
- Enable Manual Configuration:
for UPS Driver - UPS Battery Runtime Attribute:
battery.runtime - Shutdown Mode:
Time on Battery(建议设为4分钟)或Battery Level(设为30%) - Disable UPS Power after Shutdown:
Yes - Battery Replacement Notification:
Yes
四、 验证结果
保存并点击 Restart NUT 重启服务后,在终端执行命令:
upsc ups@127.0.0.1
核对关键输出项是否生效:
ups.status:OLinput.sensitivity:low
此时状态栏显示恢复正常,断电保护机制亦已配置完毕。