规则引擎
打开“开发配置 → 规则引擎”,把节点拖到画布、填好参数并连线,保存后由网关自动执行。第一次练习不需要连接邮件或 Webhook 服务。
做一个大于 100 的判断
先按内存计算创建 Memory.ManualValue,仅用于本次练习。
- 点击列表右上方的加号(新增规则),名称填“演示值判断”,点击“确定”进入编辑器。
- 在左侧搜索“变量通知规则”,将它拖到画布。
- 选中这个节点,在右侧把
DeviceNames填为Memory,VariableNames填为ManualValue。其他筛选条件留空。 - 搜索“大于”,从“比较运算”分类拖入“大于”节点,不要选“大于等于”。点击画布上节点的标题,在右侧“自定义初始输入参数”中把
InputB填为100;InputA不填写,它由连线传入。 - 从“变量通知规则”的输出端口
Result拖一条线,到“大于”的输入端口InputA。不是连到输出端口Result。 - 点击右上角的对勾图标(保存),确认流程名称旁显示“已启用”。新流程默认启用,保存后会重新加载。
- 到内存计算,把
ManualValue写为101,回到规则编辑器并选中“大于”节点。在右侧展开“实时参数值”,查看“输出参数”的Result,应为true;“输入参数”中InputA为101,InputB为100。 - 再写为
99,Result应变为false。完成后可以在流程列表“更多”中禁用这个演示流程。
变量通知规则监听值变化。一直写同一个值,不一定产生新的触发。本例只做判断,不写入设备、不发送通知。

右侧的“自定义初始输入参数”是配置区,“实时参数值”才是查看当前运行结果的区域。不要把配置区尚未填写的 InputA 当作规则没有收到值。
接下来做什么
| 需要的功能 | 查看位置 |
|---|---|
| 修改节点、连线或删除节点 | 画布操作 |
| 把判断结果写回内部变量 | 变量、事件与写回节点 |
| 产生报警时发送邮件 | 报警配置与邮件通知 |
| 发送到 HTTP 接口或消息机器人 | Webhook 推送节点 |
| 备份和恢复流程 | 导入导出 |
修改正在运行的流程前先导出备份。练习先用独立变量,不把现场写入或设备控制作为入门步骤。
流程列表
规则引擎列表用于管理流程基本信息、启停状态和批量导入导出。
| 区域或列 | 说明 |
|---|---|
| 搜索名称 | 按流程名称查询列表。输入关键字后按回车或清空输入框会刷新结果。 |
| 新增规则 | 创建新的规则流程。页面会先要求输入流程名称,创建成功后自动打开流程编辑器。 |
| 导出 Excel | 按当前搜索条件导出规则流程配置,适合备份、迁移和批量维护。 |
| 导入 Excel | 从 Excel 文件导入规则流程。导入完成后页面会提示成功数量或失败原因。 |
| 批量删除 | 勾选流程后批量删除。删除前应先确认流程不再参与生产运行。 |
| 刷新 | 重新加载流程列表和可用自定义节点。 |
| 流程名称 | 规则流程名称。名称应能体现流程用途,便于日志排查。 |
| 描述 | 流程用途说明。为空时列表显示 -。 |
| 版本 | 流程版本号。新建流程默认从 v1 开始。 |
| 状态 | 显示“已启用”或“已禁用”。 |
| 操作 | “详情”进入流程编辑器;“更多”中可启用、禁用或删除流程。 |
新建流程
- 点击列表右上角“新增规则”。
- 在提示框中输入流程名称。
- 点击确认后,系统创建默认启用的
v1流程并进入流程编辑器。 - 在编辑器中维护流程描述、触发方式、节点、连线和参数。
- 点击右上角“保存”,保存成功后规则引擎会重新加载该流程。
流程编辑器
点击流程行的“详情”进入流程编辑器。

| 区域 | 说明 |
|---|---|
| 顶部信息区 | 显示流程名称、流程描述、版本号和触发方式。流程名称、描述可以直接编辑。 |
| 保存按钮 | 保存当前流程名称、描述、触发方式、画布节点、连线和节点参数。 |
| 返回按钮 | 返回规则流程列表。离开前应确认当前修改已经保存。 |
| 防抖 / 无限制触发 | “防抖”会合并短时间内的重复变化;“无限制触发”会在每次变化时直接触发下游节点。 |
| 导出 CSV | 导出当前编辑器画布中的节点、连线、位置和节点属性,适合单个流程结构备份。 |
| 导入 CSV | 从 CSV 文件恢复当前流程画布。导入后应检查节点类型、连线和参数再保存。 |
| 自动布局 | 根据当前节点和连线重新排列画布。节点较多或连线交叉时使用。 |
| 删除选中 | 删除当前选中的节点或连线。 |
| 左侧节点面板 | 按分类展示可用节点,支持按节点名称搜索和按分类筛选。 |
| 中间画布 | 拖拽节点、连接端口、调整布局、选择节点或连线。 |
| 右侧属性面板 | 选中节点后显示,用于编辑节点名称、查看节点类型、填写输入参数和输入输出参数。 |
| 运行日志面板 | 查看规则引擎运行日志,支持按级别、时间范围和关键字筛选,可导出当前页或全部日志。 |
节点面板
节点面板中的节点来自已加载的内置节点和自定义节点。常见分类包括保持、比较运算、边沿检测、变量 RPC、常量、触发器、定时器、计数器、类型转换、逻辑运算、数据统计、数据推送、数学运算、条件判断和字符串处理。
| 操作 | 说明 |
|---|---|
| 搜索节点 | 在“搜索节点”输入节点名称或标识关键字,快速定位节点。 |
| 分类筛选 | 在“全部分类”下拉框选择分类,仅显示该分类下的节点。 |
| 展开/折叠分组 | 点击分类标题展开或折叠节点组。 |
| 添加节点 | 将节点从左侧面板拖入画布。拖入后应选中节点,在属性面板中检查参数。 |
如果节点没有出现在列表中,先确认对应脚本或自定义节点已经编译成功,再刷新规则引擎页面。
画布操作
| 操作 | 步骤 |
|---|---|
| 添加节点 | 从左侧节点面板拖拽节点到画布。 |
| 连接节点 | 从一个节点端口拖到另一个节点端口,建立数据传递关系。连接方向应从上游输出端口指向下游输入端口。 |
| 配置节点 | 选中节点,在右侧属性面板修改节点名称、输入参数和输入输出参数。 |
| 重命名节点 | 双击画布中的节点,输入新的节点显示名称。 |
| 删除节点或连线 | 选中节点或连线后点击“删除选中”。 |
| 自动布局 | 点击“自动布局”,让系统按当前连线关系重新排列节点。 |
| 保存流程 | 点击右上角“保存”,保存当前画布和参数。 |
节点参数
节点参数由节点类型决定。不同节点会显示不同的输入、输出和输入输出参数。
| 参数类型 | 说明 |
|---|---|
| 输入参数 | 从上游节点接收数据,也可以在属性面板中填写初始值。 |
| 输出参数 | 节点处理后的输出值,可连接到下游节点。 |
| 输入输出参数 | 既可接收上游数据,也可在节点处理后继续输出。 |
| 自定义初始输入参数 | 部分节点支持在属性面板中填写初始输入值,用于无上游输入或默认值场景。 |
OutputOnlyOnChange | 默认 true:输出值未变化时不向下游传播;关闭后每次设置输出都会传播。它不限制 MQTT、邮件或 Webhook 节点本身的发送次数。 |
| 实时参数值 | 流程启用并运行后,属性面板和节点端口可显示当前节点的输入、输出和输入输出值。 |
配置参数时,应确认数据类型、变量名称、设备名称和上下游节点匹配。连接失败或运行结果异常时,优先检查端口方向、参数名称、参数类型和流程启用状态。
触发方式
| 配置 | 使用建议 |
|---|---|
| 防抖 | 适合温度、压力、液位等高频变化数据,可减少短时间内的重复执行。 |
| 无限制触发 | 适合计数、累加、事件记录等要求每次变化都处理的场景。 |
启用“无限制触发”可能增加运行负载。生产环境使用前,应先评估变量变化频率、流程复杂度和下游系统承载能力。
导入导出
规则引擎有两类导入导出入口,作用范围不同。
| 入口 | 位置 | 用途 |
|---|---|---|
| 导出 Excel | 流程列表工具栏 | 导出流程列表配置,适合批量备份和迁移多个流程。 |
| 导入 Excel | 流程列表工具栏 | 从 Excel 批量导入流程。导入后应打开详情检查每个流程。 |
| 导出 CSV | 流程编辑器工具栏 | 导出当前流程画布节点、连线、位置和节点属性。 |
| 导入 CSV | 流程编辑器工具栏 | 恢复当前流程画布结构。导入后应检查节点、连线和参数。 |
| 导出日志 | 运行日志面板 | 导出当前页或全部规则运行日志,用于排查和归档。 |
导入前建议先导出现有流程作为备份。导入后不要立即启用到生产,应先打开流程编辑器检查节点类型、连线方向、参数值和运行日志。
变量、事件与写回节点
这组节点直接使用网关的变量、报警和设备状态事件。事件节点不需要上游输入,流程启用后会等待对应事件;筛选条件全部满足时才向下游输出。多个名称或枚举值使用英文逗号分隔,留空表示不按该条件筛选。
变量通知规则
“触发器 → 变量通知规则”监听在线变量的值变化,适合把采集变量接入阈值判断、记录或通知流程。节点匹配成功后同时输出当前变量值和完整变量数据对象。
| 方向 | 参数 | 默认值 | 说明 |
|---|---|---|---|
| 输入 | DeviceNames | 空 | 设备名称列表,多个值用英文逗号分隔;留空匹配所有设备。 |
| 输入 | VariableNames | 空 | 变量名称列表,多个值用英文逗号分隔;留空匹配所有变量。 |
| 输入 | CollectGroups | 空 | 采集组名称列表,多个值用英文逗号分隔;留空匹配所有采集组。 |
| 输出 | Result | - | 匹配变量的当前 Value,可直接连接数值比较、逻辑或转换节点。 |
| 输出 | VariableBasicData | - | 匹配变量的完整数据对象,可连接到 Webhook、邮件或 MQTT 节点的 Data/InputData。 |
变量离线时不会触发该节点。需要区分数据来源时,优先使用 VariableBasicData,其中包含变量名称、设备名称、采集组、在线状态、变更时间和采集时间等字段。
告警通知规则
“触发器 → 告警通知规则”监听报警生命周期事件,并按级别、设备、事件类型和报警类型筛选。匹配后从 FilteredAlarmData 输出原始报警对象。
| 方向 | 参数 | 默认值 | 说明 |
|---|---|---|---|
| 输入 | MinAlarmLevel | 0 | 最低报警级别。报警级别小于此值时忽略;0 表示不按级别筛选,实际级别范围以变量报警配置为准。 |
| 输入 | DeviceNames | 空 | 设备名称列表;留空匹配所有设备。 |
| 输入 | EventTypes | 空 | 事件类型列表:Restart、PrepareAlarm、Alarm、PrepareFinish、Finish、Confirm、ConfirmAndFinish。留空匹配所有事件。 |
| 输入 | AlarmTypes | 空 | 报警类型列表:Open、Close、HH、H、L、LL、Custom、State。留空匹配所有类型。 |
| 输入 | DebounceMs | 0 | 同一设备和变量的防抖毫秒数;0 表示不防抖。 |
| 输入 | Enabled | true | 关闭后忽略报警事件。 |
| 输出 | FilteredAlarmData | - | 匹配成功时输出报警对象;可连接到通知节点的 Data。 |
设备通知规则
“触发器 → 设备通知规则”监听设备状态变化,可用于设备离线告警、恢复通知和按插件分流。
| 方向 | 参数 | 默认值 | 说明 |
|---|---|---|---|
| 输入 | DeviceNames | 空 | 设备名称列表;留空匹配所有设备。 |
| 输入 | DeviceStatuses | 空 | 状态列表:OnLine、OffLine、Pause;留空匹配所有状态。 |
| 输入 | PluginNames | 空 | 采集插件名称列表;留空匹配所有插件。 |
| 输入 | DebounceMs | 0 | 同一设备的防抖毫秒数;0 表示不防抖。 |
| 输入 | Enabled | true | 关闭后忽略设备状态事件。 |
| 输出 | FilteredDeviceData | - | 匹配成功时输出设备数据对象,可连接到通知节点的 Data。 |
变量 RPC 节点
“变量RPC节点”用于通过规则流程调用变量的 RPC 写入能力。它会按 DeviceName 和 VariableName 查找变量,再把 WriteData 转为 JSON 参数调用变量运行时的 RPC;不要绕过变量权限直接调用驱动。
| 方向 | 参数 | 说明 |
|---|---|---|
| 输入 | DeviceName | 目标设备名称,必须与运行中的设备完全一致。 |
| 输入 | VariableName | 目标变量名称,必须具备可执行的 RPC/写入能力。 |
| 输入 | WriteData | 写入值或方法参数;对象、数组和标量均按 JSON 传递。 |
| 输出 | Result | OperResult<object> 操作结果。成功或失败信息可继续连接到条件节点或日志流程。 |
建议将变量 RPC 节点放在上升沿、按钮触发或互锁判断之后,避免高频变量变化造成重复写入。验证时同时检查 Result、变量写入日志和设备侧实际动作;变量不存在、权限关闭或设备暂停都会返回失败结果。
MQTT 客户端上传节点
“数据推送 → Mqtt客户端上传”节点在流程启动时建立 MQTT 客户端连接,在 InputData 变化时把对象序列化为 UTF-8 JSON 发布到指定主题。支持 TCP MQTT 和 WebSocket MQTT;发送时发现连接断开会自动重连,重连等待从 1 秒递增,最长 60 秒。
参数说明
| 方向 | 参数 | 默认值 | 说明 |
|---|---|---|---|
| 输入 | Url | mqtt://127.0.0.1:1883 | MQTT 地址。TCP 可使用 mqtt:// 或 tcp://;WebSocket 可使用 ws://、wss://、mqtt-ws:// 或 mqtt-wss://。 |
| 输入 | Topic | data/upload | 发布主题。 |
| 输入 | UserName / Password | 空 | MQTT 登录凭据。密码不会写入运行日志。 |
| 输入 | ClientId | 空 | 客户端标识。留空时每次连接生成随机标识。需要 broker 持久会话时请填写稳定值。 |
| 输入 | Retain | false | 是否保留最后一条消息。只有确实需要新订阅者收到旧值时才启用。 |
| 输入 | Enabled | true | 是否允许发布;节点仍会在流程初始化时准备连接。 |
| 输入 | KeepAlive | 60 | MQTT 保活秒数,需符合 broker 的允许范围。 |
| 输入 | CleanSession | true | 是否使用清理会话。需要持久会话时关闭并配合稳定 ClientId。 |
| 输入 | MqttProtocolVersion | V311 | MQTT 协议版本,按 broker 支持情况选择。 |
| 输入 | QosLevel | AtMostOnce | 服务质量:AtMostOnce(0,最多一次)、AtLeastOnce(1,至少一次)或 ExactlyOnce(2,恰好一次)。 |
| 输入 | UseSSL | false | 是否启用 TLS。启用后按证书参数校验 broker。 |
| 输入 | SslTargetHost | 空 | TLS 目标主机名;留空使用 Url 中的主机名。 |
| 输入 | SslClientCertificateName | 空 | 双向 TLS 使用的客户端证书名称。 |
| 输入 | SslCACertificateName | 空 | 自定义 CA 证书名称。 |
| 输入 | SslAllowUntrusted | true | 是否接受不受信任证书。生产环境建议关闭,并配置可信 CA。 |
| 输入 | SslProtocols | None | TLS 协议版本选择;None 使用系统默认协商。 |
| 输入 | SslCheckCertificateRevocation | false | 是否检查证书吊销状态。 |
| 输入 | InputData | - | 上游传入的对象、数组或标量,序列化后作为消息负载。 |
| 输出 | Success | false | 最近一次连接或发布成功时为 true。 |
| 输出 | ErrorMessage | 空 | 最近一次连接或发布失败的错误信息;成功后清空。 |
最小配置与验证
- 拖入节点,填写
Url、Topic,按 broker 要求填写用户名和密码。 - 将变量通知、告警通知或计算节点的输出连接到
InputData。 - 保存并启用流程,确认
Success变为true。 - 使用 MQTT 客户端订阅同一主题,检查收到的 JSON 内容和 QoS。
连接失败或发布失败时查看 ErrorMessage 和运行日志;不要把 SslAllowUntrusted=true 作为生产环境的长期证书方案。
邮件推送节点
“数据推送 → 邮件推送”节点使用 SMTP 发送规则数据。节点在第一次发送或邮件配置变化时创建 SMTP 通道,每次发送超时时间为 10 秒。
参数说明
| 方向 | 参数 | 默认值 | 说明 |
|---|---|---|---|
| 输入 | Host | 空 | SMTP 服务器地址。 |
| 输入 | Port | 587 | SMTP 服务器端口。 |
| 输入 | EnableSsl | true | 是否启用 SMTP 加密。 |
| 输入 | UserName / Password | 空 | SMTP 认证凭据。 |
| 输入 | FromAddress | 空 | 发件人邮箱地址。 |
| 输入 | FromName | ThingsGateway | 发件人显示名称。 |
| 输入 | ToAddresses | 空 | 收件人地址,多个地址用英文逗号分隔。 |
| 输入 | SubjectTemplate | 告警通知 - {{DeviceName}} - {{EventType}} | 主题模板,使用 {{属性名}} 引用 Data 对象属性;留空使用默认模板。 |
| 输入 | BodyTemplate | 默认 HTML 告警表格 | 正文模板,使用 {{属性名}} 替换;以 < 开头的正文按 HTML 发送,留空使用默认模板。 |
| 输入 | Enabled | true | 是否允许发送。 |
| 输入 | Data | - | 上游传入的对象、数组或标量。 |
| 输出 | Success | false | 最近一次邮件发送结果。 |
| 输出 | ErrorMessage | 空 | 禁用、无数据、SMTP 配置或发送失败时的错误信息。 |
| 输出 | LastPushTime | Unix 起始时间 | 最近一次完成发送尝试的 UTC 时间。 |
最小配置与验证
- 填写 SMTP 主机、端口、用户名、密码、发件人和至少一个收件人。
- 将
AlarmNotificationRule或其它节点的对象输出连接到Data。 - 根据接收端要求修改主题或正文模板,保存并启用流程。
- 触发一次测试事件,确认
Success=true、ErrorMessage为空,并在收件箱检查正文格式和字段替换结果。
SMTP 认证失败、证书错误或收件人无效时,先查看 ErrorMessage,再核对服务器端口、SSL 模式和发件人策略。不要在流程日志或公开文档中记录密码。
Webhook 推送节点
“数据推送 → Webhook推送”节点可把规则结果发送到钉钉自定义机器人、企业微信消息推送(原群机器人)或自定义 HTTP 接口。Platform 在属性面板中以下拉框显示,平台必须显式选择,节点不会根据 URL 自动猜测厂商。
参数说明
| 方向 | 参数 | 说明 |
|---|---|---|
| 输入 | Url | 完整 Webhook 地址。钉钉地址包含 access_token,企业微信地址包含 key。 |
| 输入 | Platform | 枚举下拉配置:DingTalk=钉钉,WeCom=企业微信,Custom=自定义 HTTP 接口。新节点默认 Custom。 |
| 输入 | Headers | 自定义请求头 JSON,例如 {"Authorization":"Bearer <token>"}。钉钉和企业微信通常留空。 |
| 输入 | BodyTemplate | 完整 JSON 请求体模板,使用 {{属性名}} 引用 Data 属性。 |
| 输入 | Secret | 仅钉钉机器人启用“加签”时填写以 SEC 开头的 Secret;企业微信和自定义平台必须留空。 |
| 输入 | Enabled | 是否允许节点发送请求。 |
| 输入 | Data | 上游传入的对象,例如 VariableBasicData、AlarmVariable 或自定义对象。 |
| 输出 | Success | HTTP 与平台业务响应都成功时为 true;禁用、无数据、配置错误、HTTP 错误或厂商 errcode 非零时为 false。 |
| 输出 | ErrorMessage | 最近一次发送失败的错误信息;成功时清空。 |
| 输出 | LastPushTime | 最近一次实际完成发送尝试的 UTC 时间。 |
BodyTemplate 中位于 JSON 字符串内的占位符会自动转义引号、反斜杠和换行;位于 JSON 值位置的占位符会保留数值、布尔、数组或对象类型。找不到的属性在字符串内替换为空文本,在值位置替换为 null。
{
"device": "{{DeviceName}}",
"message": "{{AlarmText}}",
"level": {{AlarmLevel}},
"value": {{Value}}
}
钉钉配置
- 将
Platform设为DingTalk。 - 将完整的
https://oapi.dingtalk.com/robot/send?access_token=<机器人Token>填入Url。 - 使用加签安全设置时填写
Secret;使用关键词或 IP 白名单时留空。 - 文本消息可直接使用节点默认模板;钉钉 Markdown 使用以下结构:
{
"msgtype": "markdown",
"markdown": {
"title": "网关报警",
"text": "## {{DeviceName}}\n\n{{AlarmText}}"
}
}
节点按钉钉官方 HmacSHA256 规则自动追加 timestamp 与 sign,不要在 URL 中手工重复添加。HTTP 2xx 后还会检查响应 JSON,只有 errcode 为数字 0 或钉钉官方成功示例中的数字字符串 "0" 才设置 Success=true。错误码 310000 通常表示关键词、时间戳、签名或 IP 白名单校验失败;系统时间与钉钉请求时间误差不能超过 1 小时。
企业微信配置
- 将
Platform设为WeCom。 - 将完整的
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=<消息推送Key>填入Url。 Secret留空。文本消息可直接使用节点默认模板。- 企业微信 Markdown 必须使用
markdown.content,不能使用钉钉的title、text:
{
"msgtype": "markdown",
"markdown": {
"content": "# {{DeviceName}}\n{{AlarmText}}"
}
}
企业微信文本最长 2048 UTF-8 字节,Markdown 最长 4096 UTF-8 字节。节点只有在 HTTP 为 2xx 且企业微信响应 errcode 可解析为整数 0 时设置 Success=true。
频率与安全
钉钉每个机器人、企业微信每个消息推送都不能超过每分钟 20 条。高频变量不要直接连接 Webhook 节点,应先使用边沿、阈值、保持、定时器或聚合节点减少触发,并把多条报警合并成摘要。Webhook URL 本身包含发送凭据,不要写入日志、截图、公开文档或代码仓库。
运行日志
规则流程运行后,可在编辑器底部查看运行日志。
| 功能 | 说明 |
|---|---|
| 日志级别 | 按日志级别筛选,例如 Trace、Debug、Info、Warning、Error。 |
| 时间范围 | 按开始时间和结束时间筛选日志。 |
| 关键字 | 按日志内容关键字搜索。 |
| 导出 | 导出当前页或全部匹配日志。 |
| 刷新 | 立即重新加载日志。流程启用时,日志面板会按固定间隔自动刷新。 |
| 最大化 / 还原 | 扩大日志面板,便于查看长日志。 |
| 折叠 / 展开 | 临时收起日志面板,给画布留出更多空间。 |
| 详情 | 打开日志详情抽屉,查看日志内容和异常信息。 |
保存、启用与验证
- 保存流程,确认页面没有节点参数、连线或名称校验错误。
- 在流程列表启用目标流程;仅保存但未启用时不会持续处理运行数据。
- 触发一组已知输入,从上游到下游查看节点实时参数值。
- 在运行日志中确认触发时间、执行路径和输出结果,没有连续异常。
- 到最终接收位置确认结果,例如内存变量、报警、消息目标或外部接口。
保存后,用安全测试值触发一次,查看末端节点的输出;不要只停留在“保存成功”。
常见流程设计
| 场景 | 设计方式 |
|---|---|
| 单一路径处理 | 触发节点或输入节点 → 处理节点 → 输出节点。 |
| 分支处理 | 一个处理节点连接多个下游节点,同时执行报警判断、数据记录或消息推送。 |
| 多条件综合判断 | 多个输入或处理节点连接到同一个判断节点,由判断节点输出结果。 |
| 周期任务 | 使用定时器类节点触发周期计算或周期推送。 |
| 外部推送 | 使用 Webhook、MQTT、邮件等数据推送节点,将处理结果发送到外部系统。 |
| 循环关系 | 避免让节点形成闭环连接。需要状态记忆时,优先使用保持、计数器、内存变量或专门处理节点。 |
使用注意
| 场景 | 建议 |
|---|---|
| 生产修改流程 | 修改前先导出流程,保存后观察运行日志。 |
| 节点找不到 | 确认自定义节点已编译成功,必要时刷新页面。 |
| 流程不执行 | 检查流程是否启用、触发节点是否收到数据、连线方向是否正确。 |
| 节点参数为空 | 选中节点后检查属性面板,确认输入参数、输入输出参数和默认值已配置。 |
| 结果不符合预期 | 查看节点实时参数值,从上游到下游逐段定位。 |
| 日志为空 | 确认流程已启用并实际触发;再检查日志级别和时间范围筛选条件。 |
| 系统负载升高 | 检查高频触发流程、复杂计算节点、外部推送节点和“无限制触发”配置。 |
故障处理
| 现象 | 处理建议 |
|---|---|
| 保存失败 | 检查流程名称是否为空、节点参数是否有效,并查看页面错误提示。 |
| 导入 CSV 后节点异常 | 检查导入文件是否来自同版本流程编辑器,确认自定义节点名称仍然存在。 |
| 端口无法连接 | 确认连接方向和参数类型匹配,避免输出端口连接输出端口或输入端口连接输入端口。 |
| 实时参数值不显示 | 确认流程已启用并触发运行;未运行的流程不会产生节点实时值。 |
| 日志持续报错 | 打开日志详情查看异常信息,再回到对应节点检查参数、脚本和外部连接。 |
Webhook HTTP 200 但 Success=false | 查看 ErrorMessage 中的厂商 errcode/errmsg;HTTP 成功不代表钉钉或企业微信接受了消息。 |
| Webhook 平台配置错误 | 钉钉选 DingTalk,企业微信选 WeCom,普通接口选 Custom;企业微信和自定义平台必须清空 Secret。 |
| Webhook 频繁限流 | 在推送前增加边沿、阈值、定时或聚合节点,控制同一机器人或消息推送每分钟不超过 20 条。 |