过滤器节点
Check Relation Filter Node 检查实体和消息发起者关系,包含被包含
Check Existence Fields Node 消息数据和元数据中检查所选键是否存在
Message Type Filter Node 消息过滤节点
在节点配置中,管理员为传入消息定义了一组允许的消息类型。系统中有预定义的消息类型,例如Post Attributes、Post Telemetry、RPC Request等。
如果需要传入消息类型-通过True链发送消息,否则使用False链。
Message Type Switch Node 消息类型路由
Originator Type Filter Node 发起者类型过滤器节点
按发起者实休类型路由传入消息。
脚本过滤器节点(Script Filter Node)
使用配置的JavaScript条件传入的消息。
JavaScript函数接收3个输入参数:
msg - 消息payload
metadata - 消息metadata
msgType - 消息类型
脚本应返回布尔值。如果为True-通过True链发送消息,否则使用False链。
交换节点(Switch Node)
过滤器节点
筛选器节点用于邮件筛选和路由。
检查过滤器节点关系(Check Relation Filter Node)
检查存在字段节点(Check Existence Fields Node)
消息类型过滤器节点(Message Type Filter Node)
消息类型切换节点(Message Type Switch Node)
发起者类型过滤器节点(Originator Type Filter Node)
发起方类型交换节点(Originator Type Switch Node)
脚本过滤器节点(Script Filter Node)
交换节点(Switch Node)
GPS地理围栏过滤器节点(GPS Geofencing Filter Node)
(从消息元数据中获取边界信息)Fetch perimeter information from message metadata
从节点配置中获取周边信息(Fetch perimeter information from node configuration)
检查过滤器节点关系(Check Relation Filter Node)
根据类型和方向检查从所选实体到消息发起者的关系。
如果存在关系-消息通过True链发送,否则使用False链
注意: 从Thingsboard 2.3版开始,规则节点可以通过禁用规则节点配置进行根据方向和关系类型检查与特定实体或任何实体的关系是否存在:
如果禁用复选框并且存在任何关系-消息通过True链发送,否则使用False链。
检查存在字段节点(Check Existence Fields Node)
规则节点从传入的消息数据和元数据中检查所选键的存在。
如果选中复选框Check that all selected keys are present表示消息数据和元数据中的所有键是否存在,如果为True则通过此链发送消息,否则使用False链。
如果未选中此复选框,并且消息的数据或元数据中至少有一个键存在,请通过True链发送消息,否则 使用False链。
消息类型过滤器节点(Message Type Filter Node)
在节点配置中,管理员为传入消息定义了一组允许的消息类型。系统中有预定义的消息类型,例如Post Attributes、Post Telemetry、RPC Request等。
如果需要传入消息类型-通过True链发送消息,否则使用False链。
消息类型切换节点(Message Type Switch Node)
按消息类型路由传入的消息。如果传入的消息具有已知的消息类型,则将其发送到相应的链,否则,将消息发送到Other链。 如果使用自定义消息类型则可以通过消Message Type Switch Node 的Other链将这些消息路由 到配置了所需路由逻辑的Switch Node或Message Type Filter Node。
发起者类型过滤器节点(Originator Type Filter Node)
在节点配置中,管理员为传入的消息定义了一组允许的发起者实休类型。
如果期望传入的发起方类型-通过True链发送消息,否则使用False链。
发起方类型交换节点(Originator Type Switch Node)
按发起者实休类型路由传入消息。
脚本过滤器节点(Script Filter Node)
使用配置的JavaScript条件传入的消息。
JavaScript函数接收3个输入参数:
msg - 消息payload
metadata - 消息metadata
msgType - 消息类型
脚本应返回布尔值。如果为True-通过True链发送消息,否则使用False链。
消息payload可以通过msg变量访问。例如msg.temperature < 10;
可以通过metadata变量访问消息。例如metadata.customerName === ‘John’;
可以通过msgType变量访问。例如msgType === ‘POST_TELEMETRY_REQUEST’
完整脚本示例:
if(msgType === ‘POST_TELEMETRY_REQUEST’) { if(metadata.deviceType === ‘vehicle’) { return msg.humidity > 50; } else if(metadata.deviceType === ‘controller’) { return msg.temperature > 20 && msg.humidity > 60; } } return false;
可以使用Test JavaScript function来验证JavaScript条件.
在接下来的教程中,您可以看到使用该节点的真实示例:
创建和清除警报
回复RPC调用
交换节点(Switch Node)
将传入消息路由到一个或多个输出链。节点执行已配置的JavaScript函数。
JavaScript函数接收3个输入参数:
msg - 消息payload
metadata - 消息metadata
msgType - 消息类型
该脚本应返回一个将消息路由到的下一关系名称的数组。 如果返回的数组为空-消息将不会路由到任何节点并被丢弃。
举例
根据产品类型判断发送mqtt给对应产品
if (metadata.product === ‘meeting’) {
return [‘meeting’];
} else if (metadata.product === ‘station’) {
return [‘station’];
}
return [‘station’];
GPS地理围栏过滤器节点(GPS Geofencing Filter Node)
通过参数过滤消息的传入基于GPS的从数据或元数据中提取纬度和经度,并检查它们是否在配置的边界(地理围栏)内。