fix: unify active alert and RGB behavior

This commit is contained in:
way
2026-09-26 22:35:23 +08:00
parent d3ccca4b37
commit 34f334dd23
4 changed files with 97 additions and 46 deletions
+9 -5
View File
@@ -67,11 +67,15 @@ CHECK STORAGE
- 主循环异常计数
- I²C相关异常计数基础字段
### 4. RGB 告警引擎
### 4. Active Alert、OLED 与 RGB
RGB 与 OLED 页面完全解耦,只使用所有 active alert 的最高 severity。Warning 为黄色 3 秒呼吸,Critical 为橙红色 1.5 秒呼吸,Emergency 为纯红快速频闪;无 active alert 时 OFF。动画不写循环日志,模式切换仅记录一次 `RGB_MODE`。
每个当前故障都由统一的 Active Alert 管理,包含稳定 ID、severity、OLED 显示数据、首次发现时间、最后变化时间和元数据。监控只更新 Alert;OLED 为每个 active alert 保留独立轮播页,RGB 只读取最高 severity,Journal 只记录状态转换。历史 power flags 只进入 diagnose 和一次性 Journal 记录,绝不产生 OLED/RGB 告警。
### 5. 结构化事件日志
### 5. RGB 告警引擎
RGB 与 OLED 页面完全解耦,只使用所有 active alert 的最高 severity。Warning 为黄色 3 秒呼吸,Critical 为橙红色 1.5 秒呼吸,Emergency 为纯红快速频闪;无 active alert 时 OFF。呼吸最低亮度为 5%,默认每 80ms 更新。动画不写循环日志,模式切换仅记录一次 `RGB_MODE`。
### 6. 结构化事件日志
日志继续交给 systemd journal,不额外制造长期 `.log` 文件。
@@ -108,7 +112,7 @@ journalctl -u pigway-pi-control -b --no-pager
journalctl -u pigway-pi-control --no-pager | grep 'event=POWER'
```
### 6. 诊断命令
### 7. 诊断命令
```bash
sudo /usr/local/sbin/pigway-pi-control --diagnose
@@ -120,7 +124,7 @@ sudo /usr/local/sbin/pigway-pi-control --diagnose
RC2 保留 v3.2.0 的 RGB MCU 寄存器写入顺序;独立闪烁时钟使用所有有效告警的最高 severity,不受 OLED 页面及网络/watch 检查等待影响。服务恢复后自动切换到下一有效告警,没有告警时 OFF。
### 7. 关机收尾
### 8. 关机收尾
收到 systemd SIGTERM / 系统关机时: