WattsMonitor — PRD F02 固件升级
功能编号:F02 所属模块:运维管理 → 固件包管理 / 固件升级 页面路由:
/eb_wor/new/operation/firmwareUpdate原型:firmware-upgrade.html关联:platform_dictionary_Confirmed.csv、PRD_F01_多语言切换.md
核心决策
| 项 | 方案 |
|---|---|
| 导航 | 侧边栏:固件包管理、固件升级(不用 FW 缩写) |
| 路由 | #packages / #upgrade / #upgrade/{taskNo} |
| 层级 | L3 设备级 / L4 器件级 |
| 兼容性 | C01-C06;向导步骤 2 不展示不兼容设备,直接过滤 |
| 批量 | 默认并行,最大 10 台,超出排队 |
| 重试 | 同任务内无限次,retry_count 累加 |
| 轮询 | 列表/详情 5 秒;终态或离开详情停止 |
| 失败判定 | 平台不定义超时;fail_reason 由设备/接口返回 |
状态体系(简表)
| 层级 | 状态码 | 含义 |
|---|---|---|
| 档案 | UPDATE_AVAILABLE / UP_TO_DATE / UPGRADING / NO_FIRMWARE | 要不要升级、能否点升级 |
| 任务内 | WAITING / IN_PROGRESS / SUCCESS / FAILED / SKIPPED | 单台执行进展 |
| 任务聚合 | IN_PROGRESS / COMPLETED / PARTIAL_FAILED / ALL_FAILED | 整批结果 |
比对规则:匹配型号下 is_latest 包(或最高版本)与设备当前版本比较;> 待升级,≤ 无需升级。
升级任务 ID 命名
| 项 | 规则 |
|---|---|
| 格式 | UPG-{YYYYMMDD}-{NNN} |
| 前缀 | 固定 UPG-(Upgrade) |
| 日期段 | 任务创建日 YYYYMMDD(平台时区) |
| 流水号 | 3 位数字,不足补零;平台内按创建顺序递增 |
| 示例 | UPG-20260708-007 |
固件升级通知栏
顶栏「消息通知」面板内,固件升级类消息与其他类型混排,展示规则如下:
| 项 | 规则 |
|---|---|
| 范围 | 仅任务终态:COMPLETED / PARTIAL_FAILED / ALL_FAILED |
| 条数 | 下拉最多展示近 20 条(按时间倒序截取);超出部分不在下拉展示 |
| 排序 | 按通知时间倒序(最新在上);已读/未读不参与排序 |
| 已读 | 仍显示于下拉列表;仅去掉未读浅橙底高亮,且不计入铃铛角标 |
| 未读 | 浅橙底高亮;角标显示未读总数(含下拉未展示范围内的未读) |
| 样式 | 圆点:完成→蓝,部分失败→黄,全部失败→红 |
| 内容 | 文案 + 通知时间;无消息显示「暂无数据」 |
| 任务状态 | 中文文案 | 英文文案 |
|---|---|---|
| COMPLETED | 固件升级: 任务 {taskNo} 已完成({success}/{total} 台成功) | Firmware Upgrade: Task {taskNo} completed ({success}/{total} equipment succeeded) |
| PARTIAL_FAILED | 固件升级: 任务 {taskNo} 部分失败(成功 {success} 台,失败 {failed} 台) | Firmware Upgrade: Task {taskNo} partially failed ({success} equipment succeeded, {failed} equipment failed) |
| ALL_FAILED | 固件升级: 任务 {taskNo} 全部失败({failed} 台) | Firmware Upgrade: Task {taskNo} all failed ({failed} equipment) |
业务规则(简表)
兼容性 C01-C06
| 编号 | 规则 | 不通过 |
|---|---|---|
| C01 | 设备类型匹配 | 向导不展示 |
| C02 | 型号匹配 | 同上 |
| C03 | 厂家匹配 | 同上 |
| C04 | L3/L4 层级匹配 | 同上 |
| C05 | 版本递增(可降级) | 步骤 3 二次确认 |
| C06 | 包删除保护 | 进行中任务引用时禁止删 |
| C07 | 版本未知 | 步骤 2 兼容性列展示「版本未知」,可勾选;不默认选中(含在线);步骤 3 选中时黄色提示确认 |
向导步骤 2 默认选中
| 兼容性 | 在线 | 离线 |
|---|---|---|
| 需升级 | 默认选中 | 不选 |
| 降级 | 默认选中 | 不选 |
| 版本未知 | 不选 | 不选 |
| 已最新 | 不选 | 不选 |
评审演示列表按「需升级 / 已最新 / 版本未知 / 降级」×「在线 / 离线」保留代表性设备各一条(有数据时)。
执行 E01-E04
| 编号 | 规则 |
|---|---|
| E01 | 在线立即下发;离线 WAITING,上线转 IN_PROGRESS |
| E02 | 单设备同时仅一个进行中任务 |
| E03 | 升级中设备维护状态「下线」,完成后恢复 |
| E04 | 最大 10 台并行 |
确认升级邮件 M01-M03
| 编号 | 规则 |
|---|---|
| M01 | 步骤 3 须填写确认升级邮件;仅白名单邮箱可发送 |
| M02 | 白名单校验通过后发送确认邮件(含 6 位验证码、厂家、型号,10 分钟有效) |
| M03 | 验证码校验通过后,「确认升级」按钮才可点击 |
确认升级邮件模板
发件人:WattsMonitor <noreply@evbeenergy.com> 收件人:用户填写的确认升级邮箱(须在白名单内)
中文
主题:【WattsMonitor】固件升级确认验证码
正文:
您好,
您正在 WattsMonitor 平台发起固件升级任务,请核对以下信息并使用验证码完成确认:
固件版本:{firmwareVersion}
设备类型:{deviceType}
厂家:{manufacturer}
型号:{model}
升级层级:{assetTier}
目标数量:{targetCount}(在线 {onlineCount},离线 {offlineCount})
操作人:{operator}
验证码:{verifyCode}
有效期:10 分钟
如非本人操作,请忽略此邮件并联系平台管理员。
WattsMonitor 运维团队
English
Subject: [WattsMonitor] Firmware Upgrade Confirmation Code
Body:
Hello,
You are initiating a firmware upgrade task on WattsMonitor. Please review the details below and enter the verification code to confirm:
Firmware Version: {firmwareVersion}
Equipment Type: {deviceType}
Manufacturer: {manufacturer}
Model: {model}
Upgrade Level: {assetTier}
Target Count: {targetCount} (Online {onlineCount}, Offline {offlineCount})
Operator: {operator}
Verification Code: {verifyCode}
Valid for: 10 minutes
If you did not request this, please ignore this email and contact your administrator.
WattsMonitor O&M Team
| 变量 | 说明 |
|---|---|
{firmwareVersion} |
所选固件版本号 |
{deviceType} |
设备类型(Equipment Type) |
{manufacturer} |
厂家(步骤 1 所选,与步骤 3 确认信息一致) |
{model} |
型号(步骤 1 所选,与步骤 3 确认信息一致) |
{assetTier} |
L3 设备级(Equipment Level)/ L4 器件级(Device Level) |
{targetCount} |
目标设备/器件数(equipment / devices) |
{onlineCount} / {offlineCount} |
在线/离线数量 |
{operator} |
当前登录操作人 |
{verifyCode} |
6 位数字验证码 |
升级失败原因
upgrade_status = FAILED 时,详情「失败原因」列展示接口返回的 fail_reason(非失败行显示 —)。平台不做额外超时判定。
| fail_reason(示例) | firmware_status | 英文 | 可重试 |
|---|---|---|---|
| 固件下载失败 / 网络连接中断 | 2 | Firmware Download Failed | 是 |
| 固件保存失败 | 4 | Firmware Save Failed | 是 |
| 文件完整性校验失败 | 6 | File Integrity Check Failed | 是 |
| 签名验证无效 | 8 | Signature Verification Invalid | 是 |
| 固件安装失败 / 设备重启超时 | 11 | Firmware Installation Failed | 是 |
| 升级超时 | 设备上报 | Upgrade Timeout | 是 |
| 回滚失败 | 设备上报 | Rollback Failed | 是 |
创建前阻断(C01-C04、E02)不计入 failed_count,向导中不兼容项不进入可选列表。
数据字典
完整词条见 platform_dictionary_Confirmed.csv。F02 新增核心词条:
| 中文 | 英文 |
|---|---|
| 固件包管理 | Firmware Package Management |
| 固件升级 | Firmware Upgrade |
| 是否为最新 | Is Latest |
| 设备级 / 器件级 | Equipment Level / Device Level |
| 新建升级任务 | New Upgrade Task |
| 失败原因 | Failure Reason |
验收要点
- 固件包管理、固件升级独立菜单;标题不用 FW 缩写
- 固件包列表:Level 左固定、Type 第二列、操作右固定;升级列表:Type 左固定、操作右固定
- 任务 ID 格式
UPG-{YYYYMMDD}-{NNN} - 升级列表 4 项筛选,无操作人筛选;操作人列保留
- 新增包「是否为最新」;标记最新时提示历史版本取消最新
- 向导步骤 1:层级→类型→厂家→型号→版本;步骤 2 不展示不兼容设备
- 向导步骤 2:兼容性含「版本未知」可勾选且不默认选中;在线/离线未知版本均有展示
- 向导步骤 3:白名单邮箱 + 验证码通过后「确认升级」可点击;确认邮件含厂家、型号
- 任务列表含层级列;详情区分设备/器件明细
- 失败行展示
fail_reason;同任务内可重试 - 5 秒轮询;终态停轮询;中英文切换
- 固件升级通知:终态文案、圆点色、时间倒序;已读仍显示;下拉最多 20 条;未读角标与高亮