【发布时间】:2019-10-14 03:49:08
【问题描述】:
我想通过 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: ");
};
如何使用设备属性丰富遥测时间序列数据?
【问题讨论】:
标签: thingsboard telemetry