Skip to content

feat: 增加 GEM 报警通知链路 - #19

Merged
CSJ608 merged 1 commit into
mainfrom
feat-gem-alarm-notifications
Aug 28, 2026
Merged

CSJ608 merged 1 commit into
mainfrom
feat-gem-alarm-notifications

Conversation

@CSJ608

@CSJ608 CSJ608 commented Aug 28, 2026

Copy link
Copy Markdown
Owner

路线图判断

阶段 2 在报告定义、事件链接和 Collection Event 之后,优先补齐报警通知,再独立处理远程命令。报警通知直接复用 Equipment 到 Host 的 Primary/Secondary 链路,能以较小范围形成可验证的设备监控闭环;远程命令还需要命令路由、动态参数和应用执行策略,适合后续单独切片。

本 PR 的最小纵向切片仅包含:可配置报警消息对、不可变动态报警模型、Equipment 发送、Host 单一可释放处理器、严格正文/Secondary/ACK 校验和真实 TCP 往返。不包含报警目录查询、启停/屏蔽、历史、持久化、远程命令或未经授权标准核对的 GEM 状态门控。

变更

  • 在 GemMessageProfile 增加显式报警通知消息对,工程基线使用 S5F1/S5F2,并保留旧构造签名。
  • 新增 GemAlarmNotification、Equipment 发送 API 和 Host 处理器注册;代码字节原样透传,不解释 set/clear 或类别位。
  • 严格校验 W-Bit、三元素 List、单字节 Binary 代码、动态报警标识、ASCII 文本、Secondary 和 ACK。
  • 增加协议向量、Profile 路由冲突、注册生命周期及真实 TCP 接受/拒绝测试。
  • 更新 README、路线图、GEM/端点文档和 Unreleased CHANGELOG。

验证

  • dotnet build SecsFrame.slnx -c Release:通过,0 警告、0 错误。
  • dotnet test SecsFrame.slnx -c Release --no-build:net8.0/net10.0 主测试各 190 项通过;官方 nuget.org Secs4Net 3.1.0 互操作测试各 2 项通过。
  • 本机 net48 testhost 在发现后无进展并手动中止;合并前以 Windows Actions 的 net48 作强制门禁。
  • 未修改 Secs4Net 依赖,互操作项目继续使用 nuget.org 官方 3.1.0 包。

标准边界

S5F1/S5F2 和正文形状仅作为仓库的非规范性工程基线。未使用授权 E30-0526 与一致性测试核对前,不声明报警位语义、状态条件或完整 GEM 合规。

@CSJ608
CSJ608 merged commit 8e326c3 into main Aug 28, 2026
4 checks passed
@CSJ608
CSJ608 deleted the feat-gem-alarm-notifications branch August 28, 2026 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant