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存储引擎,在更…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
