gpt4 book ai didi

thingsboard - 如何通过 websocket 从 Thingsboard 检索所有客户设备的遥测数据

转载 作者:行者123 更新时间:2023-12-05 06:26:16 25 4
gpt4 key购买 nike

我想通过 websocket 上的 API 从 thingsboard CE 获取与单个客户相关的所有设备的最新遥测数据。这样我就可以在收到测量值时实时更新 jquery 数据表。

之后通过 GUI 手动为 customer->device 添加关系,最新的遥测数据现在正在流向 Thingsboard 中的 CUSTOMER entityType。

但是;返回的数据不包含任何我可以用来将 ws 响应与生成测量值的设备相匹配的设备属性信息。

{"subscriptionId":10,"errorCode":0,"errorMsg":null,"data":{"battery_voltage":[[1559065098932,"2.8623046875"]],"pressure":[[1559065098932,"0.05001525953412056"]],"relative_humidity":[[1559065098932,"53.7109375"]],"temperature":[[1559065098932,"83.78323364257812"]]},"latestValues":{"battery_voltage":1559065098932,"temperature":1559065098932,"pressure":1559065098932,"relative_humidity":1559065098932}}

Thingsboard 中的端点:/api/ws/plugins/telemetry

此代码有效并返回最新的遥测更新,但未指定返回结果中的设备。

$( document ).ready(function() { 
...
webSocket.onopen = function () {
var object = {
tsSubCmds: [{
entityType: "CUSTOMER",
entityId: "00000000-0000-0000-0000-0000...",
scope: "LATEST_TELEMETRY",
cmdId: 10
}
],
historyCmds: [],
attrSubCmds: []
};
var data = JSON.stringify(object);
webSocket.send(data);
console.log("Message is sent: " + data);
console.log("socket open: ");
};

如何使用设备属性丰富遥测时间序列数据?

最佳答案

我找到的解决方案是更新 GUI 中的规则链,以便复制传入的设备遥测数据的副本并保存到相关的客户实体。

一步一步:

  1. 以租户管理员身份登录 thingsboard

  2. 点击Root Rule Chain

  3. Post telemetry 分支上找到 Save timeseries 节点

  4. 将一个新的 filter...script 节点拖到 Canvas 上

  5. 将新脚本节点连接到 Post Telemetry 分支上的 Save timeseries 节点的输出

  6. 编辑过滤器脚本名称:-> Should Duplicate

  7. 编辑过滤器脚本函数 -> return true;

  8. 将一个新的Transformation...change originator 节点拖到 Canvas 上

  9. 将新的转换节点连接到过滤器节点的输出

  10. 编辑转换节点名称:Reassign to Customer

  11. 编辑发起者来源:Customer

  12. 将一个新的Action...save timeseries 节点拖到 Canvas 上

  13. 将新的 Action 节点连接到 Transformation 节点的输出

  14. 编辑 Action 节点名称:Save Related Telemetry

您的根规则链现在应该类似于:

关于thingsboard - 如何通过 websocket 从 Thingsboard 检索所有客户设备的遥测数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56345204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com