Skip to content

9.4 实战:数值超限自动发邮件 ​

以「某数据点超过阈值就发邮件通知」为例,走一遍完整流程。

9.4.1 目标 ​

当数据点的值大于 0(可改成您的阈值)时,给指定邮箱发一封提醒邮件。

9.4.2 编排步骤 ​

  1. 新建事件触发,进入编辑器
  2. 从左侧「触发条件」拖入 数据变化时启动,在右侧属性面板选择要监听的数据点,变化方式选「任意变化」
  3. 从「中间控制」拖入 数值比较,设置:
    • 比较左值:$trigger.value(保持默认,即上一步的触发值)
    • 运算符:大于 >
    • 比较右值:0(改成您的阈值)
  4. 从「输出动作」拖入 发送邮件,填写收件人、邮件标题和正文
  5. 连线:把「数据变化时启动」的出口连到「数值比较」的入口;再把「数值比较」的满足出口连到「发送邮件」的入口
  6. 点击顶部「编译」检查流程有没有问题
  7. 点击「测试运行」,在底部抽屉查看每个节点的执行结果
  8. 确认无误后点击「保存」,回到列表页把这条规则启用

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}} 生成,正文里带上了触发的数据点、当前值和时间。

事件触发邮件收件效果

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


LPPLC 工业物联网云平台 · 软硬件与云平台全栈自研