目录
1、filter(筛选器)节点内容
1. Alarm Status Filter(报警状态过滤器)
2. Check Fields Presence(检查字段存在性过滤器)
3. Check Relation Presence(检查关系存在性过滤器)
4. Entity Type Filter(实体类型过滤器)
5. Message Type Filter(消息类型过滤器)
6. Originator Type Filter(发起者类型过滤器)
7. Script Filter(脚本过滤器)
8. GPS Geofencing Filter(GPS 地理围栏过滤器)
9. Compare Values Filter(值比较过滤器)
10. Date Filter(日期过滤器)
11. Key - Value Filter(键值过滤器)
12. Regex Filter(正则表达式过滤器)
13. Simple Switch Filter(简单切换过滤器)
2、Attributes(属性集)节点, 用于获取不同实体(如客户、租户、设备等)的属性、数据或执行特定计算
1. calculate delta
2. customer attributes
3. customer details
4. fetch device credentials
5. originator attributes
6. originator fields
7. originator telemetry
10. tenant attributes
11. tenant details
3、Transformation(变换)节点, 用于消息处理、数据转换、逻辑定制等操作
1. change originator(变更消息源)
2. copy key-value pairs(复制键值对)
3. deduplication(去重)
4. delete key-value pairs(删除键值对)
5. json path(JSON 路径解析)
6. rename keys(重命名键)
7. script(脚本处理)
8. split array msg(拆分数组消息)
9. to email(发送邮件)
4、Action(动作)节点, 涵盖实体关联、警报管理、数据处理、存储等多种功能
. assign to customer(分配给客户)
2. calculated fields(计算字段)
3. clear alarm(清除警报)
4. copy to view(复制到视图)
5. create alarm(创建警报)
6. create relation(创建关系)
7. delay (deprecated)(延迟,已弃用)
8. delete attributes(删除属性)
9. delete relation(删除关系)
10. device profile(设备配置文件)
11. device state(设备状态)
12. generator(生成器)
13. gps geofencing events(GPS 地理围栏事件)
14. log(日志)
15. math function(数学函数)
16. message count(消息计数)
17. push to edge(推送到边缘)
18. rest call reply(REST 调用回复)
19. rpc call reply(RPC 调用回复)
20. rpc call request(RPC 调用请求)
21. save attributes(保存属性)
22. save time series(保存时间序列)
23. save to custom table(保存到自定义表)
24. synchronization end(同步结束)
5、External(外部)节点, 用于集成外部服务、消息队列、通信协议及通知功能
一、云服务集成节点
二、消息队列与协议节点
三、通知发送节点
6、Flow (流)控制节点, 具有特定流程控制与功能处理
1. acknowledge(确认)
2. checkpoint(检查点)
3. output(输出)
4. rule chain(规则链)
7、附图
1、filter
2、Attributes
3、Transformation
4、Action
5、External
6、Flow
1、filter(筛选器)节点内容
1. Alarm Status Filter(报警状态过滤器)
- 用途:根据报警的状态来筛选消息,只允许特定状态的报警消息通过。
- 配置:在节点配置界面指定允许通过的报警状态,如 “Active(活动)”“Cleared(已清除)”“Acknowledged(已确认)” 等。
- 应用场景:当你需要对不同状态的报警进行不同处理时,例如只对活动状态的报警发送通知,就可以使用该节点过滤掉非活动状态的报警消息。
2. Check Fields Presence(检查字段存在性过滤器)
- 用途:检查消息或其元数据中是否存在指定的字段。
- 配置:可配置要检查的消息字段名称和元数据字段名称,还能选择是否要求所有指定字段都存在。若开启此选项,则所有字段都需存在;若关闭,至少存在一个指定字段即可。
- 应用场景:当消息处理逻辑依赖于某些特定字段的存在时,可使用该节点筛选出包含这些字段的消息。
3. Check Relation Presence(检查关系存在性过滤器)
- 用途:检查消息发起者与其他实体之间是否存在特定关系。
- 配置:配置关系的方向(从发起者或到发起者)以及关系类型。
- 应用场景:在基于实体间关系进行消息筛选的场景中使用,例如只有与特定资产存在关联的设备消息才能通过。
4. Entity Type Filter(实体类型过滤器)
- 用途:依据消息中实体的类型(如设备、资产、客户等)来筛选消息。
- 配置:在节点配置界面选择要过滤的实体类型。
- 应用场景:当需要对不同类型的实体消息进行不同处理时,比如对设备和资产的消息分别进行不同的处理流程,可使用此节点。
5. Message Type Filter(消息类型过滤器)
- 用途:根据消息的类型来筛选消息。
- 配置:在节点配置中定义允许的传入消息类型集合。系统有预定义的消息类型,如 “Post attributes(属性上报)”“Post telemetry(遥测数据上报)”“RPC request(远程过程调用请求)” 等,也支持自定义消息类型。
- 应用场景:针对不同类型的消息执行不同的操作,例如对属性上报消息和遥测数据上报消息采取不同的处理方式。
6. Originator Type Filter(发起者类型过滤器)
- 用途:根据消息发起者的实体类型来筛选消息。
- 配置:在节点配置中定义允许的传入消息的发起者实体类型集合。
- 应用场景:当需要对不同发起者类型的消息进行不同处理时,例如区分设备发起的消息和资产发起的消息。
7. Script Filter(脚本过滤器)
- 用途:使用自定义的 JavaScript 脚本对传入消息进行复杂的条件评估。
- 配置:编写的 JavaScript 函数接收
msg
(消息负载)、metadata
(消息元数据)和msgtype
(消息类型)三个输入参数,脚本需返回一个布尔值。若返回true
,消息通过 true 链发送;若返回false
,则通过 false 链发送。 - 应用场景:当需要进行复杂的条件判断,而其他过滤器无法满足需求时,可编写自定义的 JavaScript 脚本实现灵活的消息筛选。
8. GPS Geofencing Filter(GPS 地理围栏过滤器)
- 用途:根据设备的 GPS 坐标判断其是否位于预设的地理围栏内。
- 配置:先在 ThingsBoard 界面定义地理围栏区域,包括围栏的名称、类型(圆形、多边形)、中心坐标和半径(或多边形的顶点坐标)等,然后在规则链编辑器中配置节点属性,输入设备 ID、地理围栏 ID 以及触发条件(进入、离开或两者)等参数。
- 应用场景:在物联网应用中对设备进行地理定位监控,例如当车辆进入或离开特定区域时触发相应操作。
9. Compare Values Filter(值比较过滤器)
- 用途:比较消息或元数据中的某个值与设定值,根据比较结果筛选消息。
- 配置:指定要比较的字段、比较操作符(如大于、小于、等于、不等于等)以及比较值。
- 应用场景:当需要根据消息中的某个数值与特定值的比较结果来决定消息流向时,例如当温度值高于某个阈值时触发后续操作。
10. Date Filter(日期过滤器)
- 用途:根据消息中的日期字段筛选消息,可筛选出特定日期范围或满足特定日期条件的消息。
- 配置:指定要检查的日期字段、日期比较条件(如在某个日期之后、在某个日期之前、在某个日期范围内等)以及具体日期。
- 应用场景:在处理与时间相关的数据时,例如只处理特定时间段内的消息。
11. Key - Value Filter(键值过滤器)
- 用途:基于消息或元数据中的键值对进行筛选。
- 配置:指定要检查的键、值以及比较操作符(如等于、包含、不包含等)。
- 应用场景:当需要根据消息中的特定键值对来筛选消息时,例如只处理包含特定属性和对应值的消息。
12. Regex Filter(正则表达式过滤器)
- 用途:使用正则表达式对消息或元数据中的文本字段进行匹配筛选。
- 配置:指定要检查的字段和正则表达式模式。
- 应用场景:当需要对文本数据进行复杂的模式匹配筛选时,例如筛选出包含特定格式字符串的消息。
13. Simple Switch Filter(简单切换过滤器)
- 用途:根据消息的某个属性值或条件将消息路由到不同的输出链。
- 配置:定义不同的条件和对应的输出链。例如,可以设置当某个属性值等于特定值时,消息走一个输出链;当该属性值不等于该特定值时,消息走另一个输出链。
- 应用场景:当需要根据简单的条件对消息进行分流处理时使用。
2、Attributes(属性集)节点, 用于获取不同实体(如客户、租户、设备等)的属性、数据或执行特定计算
1. calculate delta
- 内容:计算属性值的变化量(差值)。
- 用法:通常用于对比同一属性前后值的变化,例如分析设备两次上报数据的差异,辅助判断设备状态变化。
2. customer attributes
- 内容:获取 客户(Customer)实体 的属性(如客户端属性、共享属性等)。
- 用法:当规则链需要基于客户相关属性(如客户等级、配置参数)进行处理时,通过此节点提取客户属性。
3. customer details
- 内容:获取 客户实体的详细信息,如客户名称、描述、关联资产等元数据。
- 用法:用于需要客户完整信息的场景,例如根据客户类型路由消息或记录客户相关日志。
4. fetch device credentials
- 内容:获取 设备的凭证信息(如访问令牌、密钥等)。
- 用法:在设备认证、权限验证场景中,通过此节点获取设备凭证,验证设备身份合法性。
5. originator attributes
- 内容:获取 消息源实体(Originator,如设备、资产)的属性。
- 用法:若消息由某设备或实体触发,通过此节点提取该实体的属性,用于后续逻辑判断(如根据设备属性决定消息处理流程)。
6. originator fields
- 内容:获取 消息源实体的字段数据,可能包括实体的基础元数据字段。
- 用法:提取消息源实体的特定字段(如实体 ID、类型),辅助规则链的路由或数据处理。
7. originator telemetry
- 内容:获取 消息源实体的遥测数据。
- 用法:用于实时分析消息源实体上报的遥测数据(如设备温度、电量),支撑数据处理、警报触发等逻辑。
8. related device attributes
- 内容:获取 关联设备的属性。
- 用法:当规则链涉及多个关联设备时,通过此节点提取关联设备的属性,例如协同处理多个设备的联动逻辑。
9. related entity data
- 内容:获取 关联实体的数据(不限于设备,可能是资产、客户等)。
- 用法:用于处理多实体关联场景,提取关联实体的属性、遥测等数据,实现复杂业务逻辑(如资产 - 设备联动分析)。