Thingsboard规则链:Related Entity Data节点详解
引言
在复杂的物联网(IoT)生态系统中,数据的集成与分析是实现高效管理和智能决策的基础。Thingsboard作为一个强大的开源物联网平台,其规则链(Rule Chains)机制允许用户构建自定义的数据处理流程。其中,“Related Entity Data”节点是一个关键组件,它使用户能够从消息的发起者或相关联的实体中获取更广泛的上下文数据,如遥测、属性、关系等,进一步丰富数据处理的灵活性和功能性。本篇文章将全面介绍Related Entity Data节点的特性、使用指南、底层原理概览,并通过实例应用场景深入探讨其价值所在。
ThingsBoard从入门到实战课程,深入透析底层原理,快速搭建自己的IOT平台_哔哩哔哩_bilibiliThingsBoard从入门到实战课程,深入透析底层原理,快速搭建自己的IOT平台共计14条视频,包括:1、ThingsBoard项目介绍、2、ThingsBoard前端Vue版本代码编译、3、ThingsBoard本地后端源码编译等,UP主更多精彩视频,请关注UP账号。
https://www.bilibili.com/video/BV1CH36egEDM/?spm_id_from=333.999.0.0&vd_source=5b535ac3589f53abe431d7f6afc44ff4

相关实体数据节点概述
“Related Entity Data”节点是一种高级数据检索工具,它允许用户在规则链中动态地获取与当前消息所关联的实体(不仅仅是设备,也包括资产、客户等)的各类数据。这些数据可以是实时的遥测信息、静态的属性配置,甚至是实体之间的关系信息,为消息处理提供丰富的背景上下文,进而驱动更为复杂的业务逻辑。
具体作用
- 数据集成:整合多实体的遥测与属性,形成全局视图,便于进行跨设备或跨资产的分析。
- 动态决策:基于实体的实时状态或历史属性,智能调整处理逻辑,如设备故障预测或资源优化。
- 关系分析:探索实体间的关系网,比如设备归属的资产或负责的客户,以实现更精细的管理控制。
使用教程
-
启动节点: 在Thingsboard Web界面中,进入“Rule Chains”部分,选择或创建一条规则链。从节点库拖动“Related Entity Data”节点到规则链编辑界面。
-
配置节点参数:
- 目标实体类型:选择要查询数据的实体类型,如设备(Device)、资产(Asset)、客户(Customer)。
- 数据类型:指定要获取的数据类别,包括遥测(Telemetry)、属性(Attributes)、关系(Relations)。
- 数据键:如果需要特定的数据项,填写对应的键名。
- 关联策略:定义如何确定目标实体,可以基于直接关系、父级关系或其他自定义条件。
-
数据处理: 设定如何处理获取的数据,如追加到消息体、更新元数据或用作条件判断的依据。
-
连接其他节点: 使用连线工具,将此节点与下游的处理节点相连,如“Script”节点进行复杂逻辑处理,或“Notification”节点发送警报。
-
测试与部署: 通过模拟或实际数据测试规则链,确认无误后,部署到生产环境。
源码逻辑概览
虽然直接深入源码细节可能对非开发人员来说过于技术化,但简要说明其核心逻辑涉及:
- 实体识别:根据消息中的起源实体和配置的关联策略,确定需要查询的目标实体列表。
- 数据请求:向Thingsboard的后台服务发起请求,获取指定实体类型和数据类型的集合。
- 数据映射:将后端返回的数据转换为规则链可处理的消息格式。
- 异常处理:包含错误捕获和重试逻辑,确保数据处理的健壮性。
应用场景与案例
智能楼宇能源管理系统案例
场景描述:通过综合分析各个楼层的用电设备数据,实现能源的智能分配与节能优化。
实施步骤:
- 数据收集:各楼层设备(如空调、照明)的能耗数据通过“Originator Telemetry”节点收集。
- 楼层属性获取:使用“Related Entity Data”节点,针对每个设备所属的楼层实体,获取其面积、使用时段等属性。
- 能耗分析:在“Script”节点中,结合设备能耗和楼层属性,计算单位面积能耗比,识别能耗异常。
- 策略调整:根据分析结果,通过“RPC Call”节点向智能控制系统发送指令,动态调整设备工作模式,实现节能。
工业物联网供应链优化案例
场景描述:通过追踪产品从原料到成品的全链条数据,优化供应链效率,减少库存积压。
实施步骤:
- 设备状态监控:通过“Originator Telemetry”节点监控生产线上的设备状态与生产速率。
- 供应链实体数据整合:利用“Related Entity Data”节点,收集产品、原材料、生产设备等实体的属性和关系数据,如批次号、供应商信息、加工进度。
- 数据分析与决策:在“Aggregation”或“Filter”节点中,分析生产速率与供应链状态,识别瓶颈。
- 通知与调整:通过“Notification”节点向供应链管理团队发送库存预警或生产调整建议,同时使用“RPC Call”节点调整生产计划。
结论
“Related Entity Data”节点作为Thingsboard规则链的核心组件之一,极大增强了物联网应用的数据处理能力和业务逻辑复杂度。通过其灵活的数据集成与分析能力,企业可以构建出高度定制化、智能响应的物联网解决方案。无论是提高运营效率、优化资源配置,还是增强用户体验,深入掌握并应用这一节点,无疑将推动物联网项目的成功实施与发展。随着物联网技术的不断演进,其应用场景还将持续扩展,为数字化转型注入新的活力。

相关文章:
Thingsboard规则链:Related Entity Data节点详解
引言 在复杂的物联网(IoT)生态系统中,数据的集成与分析是实现高效管理和智能决策的基础。Thingsboard作为一个强大的开源物联网平台,其规则链(Rule Chains)机制允许用户构建自定义的数据处理流程。其中&am…...
C++结尾
面试题 1.什么是虚函数?什么是纯虚函数 在定义函数时前面加virtual。虚函数是为了,父子类中只有一个该函数。如果在子类重写虚函数,那么用的就是子类重写的虚函数;如果子类没有重写虚函数,那么调用的是父类继承的虚函…...
Flutter鸿蒙化环境配置(windows)
Flutter鸿蒙化环境配置(windows) 参考资料Window配置Flutter的鸿蒙化环境下载配置环境变量HarmonyOS的环境变量配置配置Flutter的环境变量Flutter doctor -v 检测的问题flutter_flutter仓库地址的警告问题Fliutter doctor –v 报错[!] Android Studio (v…...
Vue入门之生命周期
文章目录 一、Vue 生命周期概述二、生命周期的四个阶段1. 创建阶段2. 挂载阶段3. 更新阶段4. 销毁阶段 三、代码案例四、总结 在 Vue 开发中,理解生命周期是非常重要的。Vue 的生命周期可以帮助我们在不同的阶段执行特定的逻辑,从而更好地控制组件的行为…...
UNI-SOP应用场景(1)- 纯前端预开发
在平时新项目开发中,前端小伙伴是否有这样的经历,hi,后端小伙伴们,系统啥时候能登录,啥时候能联调了,这是时候往往得到的回答就是,再等等,我们正在搭建系统呢,似曾相识的…...
力扣9.23
1014. 最佳观光组合 给你一个正整数数组 values,其中 values[i] 表示第 i 个观光景点的评分,并且两个景点 i 和 j 之间的 距离 为 j - i。 一对景点(i < j)组成的观光组合的得分为 values[i] values[j] i - j ,…...
[Redis][事务]详细讲解
目录 0.什么是事务?1.Redis 事务本质2.Redis 事务意义3.事务操作1.MULTI2.EXEC3.DISCARD4.WATCH5.UNWATCH 0.什么是事务? Redis的事务和MySQL的事务概念上是类似的,都是把一系列操作绑定成一组,让这一组能够批量执行Redis事务和M…...
Latex——一行的划线 如何分开
代码: \cmidrule(r){3-4} \cmidrule(r){5-6} \cmidrule(r){7-8}效果: 参考文章: LaTeX技巧653:如何隔开LaTeX表格邻近\cline表格线?...
大数据:快速入门Scala+Flink
一、什么是Scala Scala 是一种多范式编程语言,它结合了面向对象编程和函数式编程的特性。Scala 这个名字是“可扩展语言”(Scalable Language)的缩写,意味着它被设计为能够适应不同规模的项目,从小型脚本到大型分布式…...
侧边菜单的展开和折叠
环境准备:Vue3Element-UI Plus <script setup> import {ref} from "vue";// 是否折叠菜单,默认折叠 const isCollapse ref(true)</script><template><el-container><el-aside><el-menu:collapse"isCo…...
自动化办公-Python中的for循环
for 循环是 Python 中用于迭代(遍历)序列(如列表、元组、字典、集合、字符串)或其他可迭代对象的控制结构。它允许您逐一访问序列中的每个元素,并对其执行操作。以下是对 for 循环的详细介绍,包括语法、使用…...
Python_itertools
itertools itertools.count(start, step) 返回一个无限迭代器,从指定的start开始,每次增加step。 import itertools # 从1开始,每次增加1,输出前5个数 for i in itertools.count(1, 1):if i > 5:breakprint(i)运行结果&#…...
Apache Iceberg 数据类型参考表
Apache Iceberg 概述-链接 Apache Iceberg 数据类型参考表 数据类型描述实例方法注意事项BOOLEAN布尔类型,表示真或假true, false用于条件判断,例如 WHERE is_active true。确保逻辑条件的正确性。INTEGER32位有符号整数42, -7可用于计算、聚合…...
职责链模式
职责链模式 责任链(Chain of Responsibility)模式:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这…...
新品 | Teledyne FLIR IIS 推出Forge 1GigE SWIR 短波红外工业相机系列
近日,51camera的合作伙伴Teledyne FLIR IIS推出了新品Forge 1GigE SWIR 130万像素的红外相机。 Forge 1GigE SWIR系列的首款相机配备宽频带、高灵敏度的Sony SenSWIR™️ 130万像素IMX990 InGaAs传感器。这款先进的传感器采用5um像素捕捉可见光和SWIR光谱ÿ…...
深入MySQL:掌握索引、事务、视图、存储过程与性能优化
在掌握了MySQL的基本操作之后,你可能会遇到更复杂的数据管理和优化需求。本文将介绍一些MySQL的进阶特性,包括索引、事务、视图、存储过程和函数、以及性能优化等内容。通过学习这些高级功能,你可以更高效地管理和优化你的数据库。 索引 索…...
【WSL——Windows 上使用 Linux 环境】
引入 以前在windows上使用linux工具链,一般都要安装虚拟机(VMware/virtualBox)。虚拟机的缺点是,因为是完整的虚拟环境,消耗系统资源比较多。 windows自己开发了WSL功能,实现了虚拟机的功能,但是比虚拟机性…...
Redis:事务
什么是Redis事务 Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。 总结说&…...
策略模式的介绍和具体实现
❤ 作者主页:李奕赫揍小邰的博客 ❀ 个人介绍:大家好,我是李奕赫!( ̄▽ ̄)~* 🍊 记得点赞、收藏、评论⭐️⭐️⭐️ 📣 认真学习!!!🎉🎉 文章目录 策略接口三种…...
MySQL InnoDB MVCC数据结构分析
1、概述 MVCC(Multiversion Concurrency Control)多版本并发控制,通过维护不同的版本号,提供一种很好的并发控制技术,这种技术能够使读写操作不冲突,提升并发性能。 MySQL InnoDB存储引擎,在更…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
Linux部署私有文件管理系统MinIO
最近需要用到一个文件管理服务,但是又不想花钱,所以就想着自己搭建一个,刚好我们用的一个开源框架已经集成了MinIO,所以就选了这个 我这边对文件服务性能要求不是太高,单机版就可以 安装非常简单,几个命令就…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
Matlab实现任意伪彩色图像可视化显示
Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中,如何展示好看的实验结果图像非常重要!!! 1、灰度原始图像 灰度图像每个像素点只有一个数值,代表该点的亮度(或…...
