【发布时间】:2019-04-07 02:58:16
【问题描述】:
我想知道是否有任何 Thingsboard 开发人员尝试从小部件中更新设备的遥测键/值。如果是这样,你会怎么做?
基本上,我有一个小部件,最终用户可以在其中键入一个值,并且我希望使用用户的输入更新与设备的键关联的特定值。
我知道您可以执行自定义 javascript POST 命令,但如果是这种情况,您如何从小部件中读取设备的访问令牌?
【问题讨论】:
标签: thingsboard
我想知道是否有任何 Thingsboard 开发人员尝试从小部件中更新设备的遥测键/值。如果是这样,你会怎么做?
基本上,我有一个小部件,最终用户可以在其中键入一个值,并且我希望使用用户的输入更新与设备的键关联的特定值。
我知道您可以执行自定义 javascript POST 命令,但如果是这种情况,您如何从小部件中读取设备的访问令牌?
【问题讨论】:
标签: thingsboard
要从 Widget 保存/更新遥测数据,您需要向此 REST API 发出 POST 请求:
https://tb_address/api/plugins/telemetry/{entityType}/{entityId}/timeseries
entityType - 设备或资产
entityId - deviceId 或assetId
招摇链接: https://cloud.thingsboard.io/swagger-ui.html#!/telemetry-controller/saveEntityTelemetryUsingPOST
正文(在应使用当前系统时间的情况下):
{
"key1": "value1"
}
如果您想更新(覆盖)现有遥测值。你可以使用这个主体(想法是时间戳是复合键的一部分,所以用相同的键插入会覆盖之前的值)
{
"ts": 1451649600512,
"values": {
"key1": "value1"
}
}
【讨论】:
我找到了一种方法不必执行 POST 命令。来自这里的这篇文章:Github Numeric Input modification widget 基本上,小部件直接通过 Javascript 和设备或实体的共享属性更新数据密钥。
【讨论】: