如何从小部件更新键的值?
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 和设备或实体的共享属性直接更新数据密钥。
我想知道是否有任何 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 和设备或实体的共享属性直接更新数据密钥。