自制了一个飞牛 UPS 电源管理工具,欢迎大家测试反馈
最近在折腾飞牛系统里的 UPS 使用体验,顺手做了一个小工具,暂定名:
UPS 电源管理
目前还是测试版,主要目的是把系统里已经识别到的 UPS 信息更直观地展示出来,同时方便排查 NUT 服务、UPS 读取异常等问题。
下载:https://wwbsm.lanzoub.com/i00ev3v2mjeh 密码:7kcn





一、这个工具是做什么的?
飞牛系统本身已经有 UPS 支持,但我在使用过程中发现,如果 UPS 或 NUT 出现异常,排查起来不太直观。
所以做了这个小工具,主要用于:
- 查看 UPS 当前状态
- 查看电池电量、预计续航、负载等信息
- 查看 UPS 厂商、型号、序列号等详细字段
- 检测 NUT 相关服务是否正常
- 一键诊断 UPS / NUT / USB 识别情况
- 后续记录断 电、恢复、低电量等事件
这个工具不是替代飞牛系统自带 UPS 功能,而是做一个更直观的状态展示和排障辅助页面。
二、目前已经实现的功能
1. 仪表盘
仪表盘主要展示 UPS 当前核心状态:
- 当前供电状态
- UPS 是否在线
- 电池电量
- 预计续航
- 当前负载
- 支持手动刷新
仪表盘只放核心状态,不展示太多重复信息。
2. UPS 信息
UPS 信息页会读取 NUT 暴露出来的 UPS 数据。
目前支持展示:
- UPS 名称
- 厂商
- 型号
- 序列号
- 当前状态
- 状态码
- 电池电量
- 当前负载
- 预计续航
- 输入电压
- 输出电压
- 驱动名称
- NUT 驱动版本
- 原始 NUT 字段
这些数据都来自系统里的 NUT / upsc,不会针对某一台机器写死。
3. NUT 服务检测
可以检测 NUT 相关服务是否存在、是否运行。
目前检测项包括:
nut-server.service
nut-monitor.service
nut-driver-enumerator.path
页面会显示服务状态,例如:
4. 一键诊断
一键诊断主要用于排查 UPS 为什么读取不到。
目前诊断内容包括:
- USB 是否能识别到 UPS
upsc -l 是否能列出 UPS
- 是否能读取 UPS 实时数据
- NUT 服务是否正常运行
- 命令是否存在
- 命令执行是否超时
- 错误输出和诊断建议
诊断报告会保存到本地,方便后续排查问题。
5. 断 电记录
断 电记录功能还在完善中。
计划记录这些事件:
- 市电中断
- 市电恢复
- 切换到电池供电
- 低电量
- UPS 状态变化
- 系统记录事件
这个页面后续会做成事件列表,不会做成普通运行日志。
6. 运行日志
运行日志计划做成类似系统日志页面,用来集中查看:
- 应用启动日志
- UPS 轮询日志
- 命令执行日志
- 诊断日志
- 错误日志
三、目前测试情况
我自己的机器上已经可以正常读取 UPS 数据。
测试过的链路包括:
which upsc
upsc -l
upsc -L
upsc <UPS名称>