跳到主要内容

工作流

工作流(Workflow)指的是一种用于定义、管理和自动化设备、数据和服务之间交互的逻辑流程。工作流可以将多个预定义的规则或任务串联起来,实现丰富灵活的功能,如阈值告警,定时开关等。

新增工作流

  1. 打开Workflow页面, 点击+Add添加工作流。

  2. 根据需要实现的功能,选择工作流的起始节点,点击Create

起始节点描述
Timer定时执行工作流,支持单次定时执行、周期定时执行或间隔执行。示例应用:定时开关
Trigger通过仪表盘的Trigger组件引用触发工作流。示例:按钮开关
Entity Listener实体任一数据变化时执行工作流。示例应用:阈值告警
  1. 在起始节点后添加其它节点并连接各个节点。
  2. 双击编辑各个节点。如需删除节点,可右键需要删除的节点后点击Delete
  3. 点击右上角的Save保存工作流。

Add-workflow

测试和日志

测试

工作流测试:点击Test按钮测试节点是否有效以及工作流能否正常运行。

Workflow-test

节点测试:Webhook, Code和Email Notification节点支持配置后点击Test the Node按钮测试能否正常运行。

Node-test

日志

运行日志:工作流每次触发时,会自动生成一条运行日志记录运行情况和输入、输出参数等信息。

测试日志:点击Test按钮测试工作流时会显示测试日志记录运行情况和输入、输出参数等信息。

Workflow-log

导出和导入工作流

导出:选择需要导出的工作流,点击Export导出JSON格式的工作流文件。

Export-workflow

导入:点击Import from DSL后上传工作流文件,点击Confirm保存设置。

Import-workflow

删除工作流

删除单个工作流:选择需要删除的工作流,在Operation菜单点击Delete

Delete-single-workflow

删除批量工作流:勾选需要删除的工作流,点击上方的Delete按钮。

Delete-workflow

备注
  • 已启用的工作流不可删除。

节点介绍

节点(Node)是构成工作流的基本单元。Beaver IoT支持串联以下节点搭建工作流来实现灵活的应用。

起始类节点:

节点描述
Timer定时执行工作流,支持单次定时执行、周期定时执行或间隔执行。示例应用:定时开关
Trigger通过仪表盘的Trigger组件引用触发工作流。示例:按钮开关
Entity Listener实体任一数据变化时执行工作流。示例应用:阈值告警

外部类节点:

节点描述
Email Notification基于SMTP协议向指定的邮箱发送邮件通知,邮件标题和内容自定义且支持插入该工作流的变量。发送邮件前,必须配置对应的发送邮箱信息。配置完成后可点击标题旁的Test this Node按钮测试邮件能否正常发送。
Webhook Push推送指定的Payload信息到配置的Webhook URL地址。如Payload为空,则默认推送上个节点的所有输出内容。配置完成后可点击标题旁的Test this Node按钮测试能否正常发送数据。

动作类节点:

节点描述
Entity Assigner将该工作流前面节点的输出参数结果赋值到指定实体上。
Entity Selection选择实体的当前值作为参数传入工作流,用于后面节点的使用。
Service Invocation调用实体的服务。
Code编写代码实现灵活的数据处理功能, Beaver IoT支持JavaScript (ES6), Python(2.7), Groovy(4.0.26)和MVEL(2.5.2)编程语言。编写代码前,需要定义代码中会使用到的输入参数;如需将代码结果传递到工作流的后续节点,则需定义输出参数。配置完成后可点击标题旁的Test this Node按钮测试代码能否正常运行并输出正确结果。

控制类节点:

节点描述
IF/ELSE当逻辑条件满足(IF)或不满足(ELSE)时,执行工作流后续节点内容。一个节点支持添加最多5个逻辑条件,一个逻辑条件内支持配置多个子条件并支持“逻辑且”或“逻辑或”关系连接。此外,Beaver IoT支持使用编程语言JavaScript (ES6), Python(2.7), Groovy(4.0.26)和MVEL(2.5.2)来编写逻辑条件。