结合 Taichi2.0 的真实代码和设计文档,完整拆解通信指令计划、MQTT 响应关联、Command 工厂、属性单位规则匹配、Caffeine 缓存与 InfluxDB 数据组装,并给出可实施的可靠性重构、代码架构、测试和上线路线。
原创2026/8/23大约 20 分钟
本文基于 D:\WorkSpace\Electric\cloud-web\03.Code\Taichi 项目,整理一次从零增加预警告警能力的完整过程。这个模块的核心目标是:设备上报 PropertiesReport 后,系统可以按规则判断某个属性值是否异常,命中规则后发送 Email 通知,并可选地向设备下发一条自动指令,同时沉淀告警记录用于追溯。
预警告警模块要解决四件事:
PropertiesReport 字段、比较条件、阈值、监控设备或分组、通知联系人。PropertiesReport Payload、邮件发送结果和自动指令发送结果。这篇记录 D:\WorkSpace\Electric\cloud-web\03.Code\Taichi 里 MQTT 模块的拆分过程。目标不是改业务,而是把 MQTT 的基础设施能力单独抽出来,保留现有设备、通信、固件和系统权限逻辑。
旧实现把 MQTT 基础能力和业务处理放在同一个 com.yinyang.yin.mqtt 包下,结果是: