主题
9.4 实战:数值超限自动发邮件
以「某数据点超过阈值就发邮件通知」为例,走一遍完整流程。
9.4.1 目标
当数据点的值大于 0(可改成您的阈值)时,给指定邮箱发一封提醒邮件。
9.4.2 编排步骤
- 新建事件触发,进入编辑器
- 从左侧「触发条件」拖入 数据变化时启动,在右侧属性面板选择要监听的数据点,变化方式选「任意变化」
- 从「中间控制」拖入 数值比较,设置:
- 比较左值:
$trigger.value(保持默认,即上一步的触发值) - 运算符:大于
> - 比较右值:
0(改成您的阈值)
- 比较左值:
- 从「输出动作」拖入 发送邮件,填写收件人、邮件标题和正文
- 连线:把「数据变化时启动」的出口连到「数值比较」的入口;再把「数值比较」的满足出口连到「发送邮件」的入口
- 点击顶部「编译」检查流程有没有问题
- 点击「测试运行」,在底部抽屉查看每个节点的执行结果
- 确认无误后点击「保存」,回到列表页把这条规则启用
9.4.3 建议加一个限频节点
上面的流程有个隐患:若监听的是频繁波动的模拟量,值反复越过阈值会产生大量重复邮件。在「数值比较」和「发送邮件」之间插一个 限频 节点:
数据变化时启动 → 数值比较(满足)→ 限频(最小间隔 300 秒)→ 发送邮件这样即使数据持续波动,最多每 5 分钟发一封。
9.4.4 顺便留一条记录
再从「输出动作」拖一个 生成触发记录,也接到限频节点后面(一个节点的出口可以连多个输出)。接法见 9.5 与或非的接法 里的示意图。
这样每次发邮件的同时,列表页的「触发记录」里也能查到这次触发。
9.4.5 编辑器工具栏
| 按钮 | 作用 |
|---|---|
| 自动布局 | 自动排列节点位置,连线乱了时用 |
| 编译 | 保存前检查流程:有入口有输出、无环、与或非的输入接对了、必填项已填 |
| 测试运行 | 让服务器演练一次,回传每个节点算出来的结果,邮件短信只演练不真发 |
| 启用开关 | 直接切换这条规则的启用/停用 |
| 保存 | 保存流程 |
9.4.6 保存前的校验
点「编译」或「保存」时会检查(完整清单见 9.5 多个触发条件与与或非):
- 至少要有一个触发条件和一个输出动作
- 不允许出现环(节点连成闭环)
- 输出节点不能有出边,触发条件不能有入边
- 「与」「或」「非」必须有输入连线;不能把触发条件直接接到「非」上,也不能把两个触发条件接到「与」上
- 每个节点的必填参数不能为空
- 孤立节点、可能重复触发的配置会给黄色警告,但允许保存
有错误必须先改;只有警告可以保存。
触发条件可以有多个
一条流程可以放多个触发条件(比如「水位变化」和「每天 8 点」各一个), 任意一个成立就把流程跑一遍。它们之间怎么组合用「与 / 或 / 非」节点决定, 详见 9.5 多个触发条件与与或非。
9.4.7 效果验证
规则启用后,当数据点越过阈值就会收到一封提醒邮件。下图是实际收到的邮件:标题按 【事件触发】{{event.name}} 生成,正文里带上了触发的数据点、当前值和时间。

收到邮件说明整条链路(触发 → 判断 → 发邮件)已经打通。如果一直收不到,先用「测试运行」看是哪个节点没过,再检查邮件节点的收件人和服务器的发件配置。