基于客户维度的ThingsBoard规则引擎配置方法咨询
针对单个客户的规则节点最简实现方案
核心思路
用ThingsBoard内置的客户过滤器节点精准筛选目标客户的数据流,之后直接衔接外部推送节点(MQTT客户端或Kafka生产者节点)即可,全程不用写自定义代码。
具体配置步骤
- 创建新规则链(或复用现有规则链)
进入控制台「规则链」页面,点击「+」新建规则链,比如命名为「特定客户数据推送链」。 - 添加消息源节点
从「消息源」分类拖拽「Post Telemetry」节点到画布(如果要处理属性更新,就加「Post Attributes」节点),作为数据入口。 - 配置客户过滤器节点
从「过滤器」分类拖入「客户过滤器」,连接消息源节点的输出端到它的输入端。双击打开配置,在「客户」下拉列表选目标客户,匹配模式设为「匹配指定客户」,保存即可。 - 添加外部推送节点
- 推送到外部MQTT Broker:拖入「外部调用」分类的「MQTT客户端」节点,连接过滤器的「匹配成功」输出端。配置里填Broker地址(比如
tcp://xxx.xxx.xxx.xxx:1883)、认证信息,设置推送主题(比如customer/{customerId}/telemetry),消息内容选${msg}即可。 - 推送到Kafka:拖入「外部调用」分类的「Kafka生产者」节点,同样连接过滤器的「匹配成功」输出端。配置里填Kafka集群地址(比如
xxx.xxx.xxx.xxx:9092)和目标Topic名称,按需设置消息内容。
- 推送到外部MQTT Broker:拖入「外部调用」分类的「MQTT客户端」节点,连接过滤器的「匹配成功」输出端。配置里填Broker地址(比如
- 启用规则链
点击规则链页面的「激活」按钮,确保规则链处于运行状态。
验证方法
用目标客户下的设备上报数据,检查外部Broker/Kafka对应主题是否收到数据;用其他客户的设备上报,确认不会触发推送,就说明配置生效了。
内容的提问来源于stack exchange,提问作者Hasanur Rashid
相关产品推荐
相关产品推荐

