之前UPS都 是usb直连极空间NAS,但是有一次更新发现UPS的设置中新增了NUT服务器。后来了解才知道我们可以通过UPS连接软路由,然后通过网线的方式NAS就可以直接读UPS的状态,而不需要让NAS直接连接。因为我本身UPS不只是供NAS,所以直接连接软路由更符合逻辑。并且通过直接连接软路由之后,还可以通过homeassistant来获取情况(原理等同于NAS使用NUT获取)还可以做一些恢复供电的自动化(因为我有一些智能家电恢复供电自己就开机了,还得手动关)

使用效果

可以看到ups信息

简易教程

因为我用的istoreos的软路由,所以直接在istore中装了。

安装nut

安装完之后主要是配置厂家id和产品id。

插上 UPS 的 USB 数据线后,执行:

1
dmesg | grep -i -E "ups|hid|usb"

如果是 USB HID UPS,通常会看到类似:

1
USB HID v1.10 Device [CPS UT650EGC]

也可以执行:

1
lsusb

可能会看到类似:

1
Bus xxx Device xxx: ID 0764:0501 CPS UT650EGC

这里的含义是:

1
2
3
0764 = USB 供应商 ID / Vendor ID
0501 = USB 产品 ID / Product ID
CPS UT650EGC = UPS 型号

后面 LuCI 里要填的 USB 供应商 ID 和 USB 产品 ID 就是从这里来的。

也可以在 NUT 正常读取后执行:

1
upsc myups@localhost | grep -E "vendorid|productid|model|mfr"

1. 驱动程序配置

找到:

1
驱动程序配置

添加一个 UPS。

名称建议填小写:

1
myups

注意:这个名字后面会作为 UPS 名称使用,之后所有地方都要保持一致,例如:

1
2
myups@localhost
myups@192.168.1.1

进入配置后填写:

1
2
3
4
5
说明(显示):CPS UT650EGC
驱动器:usbhid-ups
端口:auto
USB 供应商 ID:0764
USB 产品 ID:0501

其他字段先保持默认或空白。

一般不要乱填这些:

1
2
3
4
5
6
7
8
9
10
USB 总线(正则表达式)
SNMP 社区
制造商(展示)
型号(显示)
产品(正则表达式)
序列号
SNMP 重试
SNMP 超时
SNMP 版本
供应商(正则表达式)

也先不要勾选:

1
2
3
4
忽略低电量
仅中断
没有锁
同步通信

如果你的 UPS 是 USB HID 设备,驱动器优先选择:

1
usbhid-ups

2. NUT 用户

找到:

1
NUT 用户

添加一个用户:

1
2
3
用户名:monuser
密码:设置一个强密码
角色:主设备

建议不要空密码。

例如:

1
2
3
用户名:monuser
密码:Nut_HeoHome_2026!
角色:主设备

这个用户不是 LuCI 登录用户,而是给 NUT Monitor、NAS、PVE、Home Assistant 等客户端连接 UPS 服务用的。

如果界面里叫法不同,可以按这个理解:

1
2
主设备 = master / primary
辅助设备 = slave / secondary

OpenWrt 直连 UPS,所以这里选择:

1
主设备

3. 要监听的地址

找到:

1
要监听的地址

至少添加:

1
2
地址:127.0.0.1
端口:3493

这表示 OpenWrt 本机可以访问 NUT Server。

如果希望局域网其他设备也能读取 UPS 状态,再添加一条 OpenWrt 的 LAN IP,例如:

1
2
地址:192.168.1.1
端口:3493

192.168.1.1 换成你的 OpenWrt 实际 LAN IP。

如果只填 127.0.0.1,那么只有 OpenWrt 自己能访问,NAS / PVE / Home Assistant 等局域网设备连不上。


4. 驱动程序全局设置

如果页面里有:

1
驱动程序全局设置

可以填:

1
2
运行用户:nut
最大重试次数:3

没有就保持默认。


5. UPS 服务器全局设置

如果页面里有:

1
UPS 服务器全局设置

可以填:

1
2
3
4
最大数据年龄:15
状态路径:/var/run/nut
最大连接数:1024
运行用户:nut

没有就保持默认。

填完后点击:

1
保存并应用

极空间连接NUT服务器

我是极空间NAS,其他NAS操作应该大同小异。

直接按照之前填写的进行设置即可。

连接NUT