ThingsBoard自定义规则节点开发

本文详细介绍了ThingsBoard规则链、规则引擎和规则节点的概念,重点讲解了自定义规则节点的开发过程,包括下载示例源码、编译、实现TbNode接口、部署和验证操作。此外,还提供了预定义的消息类型和规则节点关联类型的说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

ThingsBoard规则链(Rule Chain)

一、规则引擎(Rule Engine)

二、规则节点(Rule Node)

三、自定义规则节点开发

四、参考Demo

五、部署操作

六、验证操作


ThingsBoard规则链(Rule Chain)

一、规则引擎(Rule Engine)

ThingsBoard解释

规则引擎是一个易于使用的框架,用于构建基于事件的工作流。有3个主要组成部分:

■消息- 任何传入事件。它可以是来自设备的传入数据、设备生命周期事件、REST API 事件、RPC 请求等。

■规则节点- 对传入消息执行的功能。有许多不同的节点类型可以过滤、转换或对传入的消息执行某些操作。

■规则链- 节点通过关系相互连接,因此来自规则节点的出站消息被发送到下一个连接的规则节点。

根规则链

二、规则节点(Rule Node)

概念

规则节点是规则引擎的基本组件,它一次处理单个传入消息并生成一个或多个传出消息。规则节点是规则引擎的主要逻辑单元。规则节点可以过滤,丰富,转换传入消息,执行操作或与外部系统通信。

作用:规则节点可以过滤,丰富,转换传入消息,执行操作或与外部系统通信。提供节点自定义能力,实现数据的运算。

规则节点类型

1、过滤节点(用于消息过滤和路由,过滤成功走真链、错误走假链)。

1:script(脚本过滤器节点)使用javascript条件进行消息过滤(消息msg,metadata消息元数据,msgType消息类型);

2:switch(交换节点)将传入消息路由到一个或多个输出链,节点执行已配置的JavaScript函数。

2、属性集节点:用于更新传入消息的元数据。

1:消息发起方用户属性(customer attributes),将消息发起方属性信息或者遥测数据加入Metadata元数据中。

2:设备属性(device attributes),将消息发起方的设备属性或者遥测数据加入metadata。

3、变换节点:用户更改创立的消息字段,比如,发起方、类型、有效负载,元数据。

1:脚本转换节点(script),作用:修改消息内容(msg(消息负载),msgType(消息类型),metadata(元数据)),可增加,可改。

2:转换到电子邮件节点(to email),通过使用从消息元数据派生的值填充电子邮件字段,将消息转换为电子邮件消息。设置“ SEND_EMAIL”输出消息类型,以后可以被“ 发送电子邮件节点”接受。可以将所有电子邮件字段配置为使用元数据中的值。

4、动作节点:根据传入的消息执行各种动作。

1:create alarm(创建告警),通过过滤节点中的过滤脚本判断后,对满足条件的消息进行告警的触发;

2:log(创建日志),对于系统中的关键系统进行日志输出;

3:rpc call request(远程RPC调用),监控系统rpc请求,下发控制命令请求;

5、外部节点:提供将消息及数据路由到外部中间件,或者其他第三方云平台中。用于与外部系统进行交互。

1:kafka(kafka消息中间件),MQTT(外部MQTT代理),RabbitMQ,支持将系统中的数据发布到kafka/MQTT代理/RabbitMQ中,供第三方消费者订阅数据。

2:send email (向外部发送邮件)。

3:aws sns:将消息发布到aws sns(亚马逊简单消息通知服务,是一种发布\订阅模式的消息收发服务)。

规则节点关系

规则节点之间存在关联性每个节点都有对应关系类型,用于标识关系的逻辑标签。

当规则节点生成输出消息时,它总是将消息路由到下一个指定的节点并通过关系类型进行关联。

表示成功与否的规

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hoking

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值