如何从小部件更新键的值?

How do you update a key's value from a widget?

我想知道是否有任何 Thingsboard 开发人员尝试从小部件内更新设备的遥测 key/value。如果是这样,你会怎么做?

基本上我有一个小部件,最终用户可以在其中键入一个值,我想更新一个与用户输入的设备的密钥关联的特定值。

我知道您可以执行自定义 javascript POST 命令,但如果是这种情况,您如何从小部件中读取设备的访问令牌?

对于来自 Widget 的 saving/updating 遥测,您需要向此 REST API:

发出 POST 请求

https://tb_address/api/plugins/telemetry/{entityType}/{entityId}/timeseries

实体类型 - 设备或资产

entityId - deviceId 或 assetId

招摇link: https://cloud.thingsboard.io/swagger-ui.html#!/telemetry-controller/saveEntityTelemetryUsingPOST


Body(在应该使用当前系统时间的情况下):

{
  "key1": "value1"
}

在您想要更新(覆盖)现有遥测值的情况下。您可以使用此正文(想法是时间戳是复合键的一部分,因此使用相同的键插入将覆盖以前的值)

{
  "ts": 1451649600512,
  "values": {
    "key1": "value1"
  }
}

我找到了一种不需要执行POST命令的方法。从这里 post 开始:Github Numeric Input modification widget 基本上,小部件通过 Javascript 和设备或实体的共享属性直接更新数据密钥。