如果有这两 … 阅读全文
如果有这两项,直接填入即可。部分设备还可以通过序列号来识别,序列号可以使用 lsusb -v 查询。
以下是完整的配置文件,其实很短
/etc/config/nut_server
config user
option username 'monuser'
option password 'secret'
list actions 'set'
list actions 'fsd'
option upsmon 'primary'
config listen_address
option address '0.0.0.0'
option port '3493'
config driver 'apcups'
option driver 'usbhid-ups'
option port 'auto'
option productid 'ffff'
option vendorid '0463'
配置好之后,使用 upsc apcups 查看 UPS 的状态,如果有数据输出,则配置完成。
battery.charge: 100
battery.charge.low: 20
battery.runtime: 688
......
监控
“监控”选项中,旧版的“主 UPS”、“辅 UPS”选项已经废弃,取代它们的是“UPS 监视器用户设置”

root@IWrt:/etc/config# cat nut_monitor
config monitor
option upsname 'apcups'
option hostname '127.0.0.1'
option powervalue '1'
option username 'monuser'
option password 'secret'
option type 'secondary'
option port '3493'
CGI

照着来即可,显示名称可以随意配置。
root@IWrt:/etc/config# cat nut_cgi
config upsset
option enable '1'
config host
option upsname 'apcups'
option hostname '127.0.0.1'
option displayname 'BOX650'
option port '3493'
打开 CGI 界面,点击 Statistics,出现 UPS 的信息即可。

Linux 客户端配置
以 Ubuntu 为例,首先安装 nut-client,安装后 nut 为被设置为自启动
❯ sudo apt install nut-client
nut-client 已经是最新版 (2.8.4+really-2)。
摘要:
升级:0,安装:0,卸载:0,不升级:0
进入 nut 配置文件夹
❯ cd /etc/nut/
❯ ls
. .. nut.conf upsmon.conf upssched.conf
nut.conf 中只需要修改 MODE 即可
MODE=netclient
将 nut 设为客户端
然后配置 upsmon.conf
搜索文件中的 MONITOR,将我们的配置写上去 MONITOR apcups@10.0.0.1 1 monuser secret slave
# MONITOR myups@bigserver 1 upswired blah primary
# MONITOR su700@server.example.com 1 monuser secretpass secondary
# MONITOR myups@localhost 1 monuser pass primary # (or secondary)
MONITOR apcups@10.0.0.1 1 monuser secret slave
参数说明:
-
apcpus:这是之前在 OpenWrt 上为 UPS 定义的名称(根据你 upsc 命令的输出,名称是 apcups)。
-
10.0.0.1:请替换为你的 OpenWrt 路由器的实际 IP 地址,例如 10.0.0.1。
-
monuser secret:这是连接远程 NUT 服务器所需的用户名和密码,应与 OpenWrt 中的配置保持一致
-
slave:表示这台设备是作为客户端,它不会控制 UPS 的关机行为,只接收状态信息。
重启 NUT 客户端服务 sudo systemctl restart nut-client,检查服务状态,确保没有报错 sudo systemctl status nut-client
最后,使用 upsc 命令测试能否获取到 UPS 数据
❯ upsc apcups@10.0.0.1
Init SSL without certificate database
battery.charge: 100
battery.charge.low: 20
......
应当与 OpenWRT 上的 nut,输出一致。 收起



