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存储引擎,在更…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...