如何从 Thingsboard 中的单个 HTTP 请求检索多个设备属性?

How to retrieve multiple device attributes from a single HTTP request in Thingsboard?

我想从单个 HTTP API 调用中检索多个设备属性。 TB 允许我执行获取请求以使用请求中指定的相应访问令牌来检索设备数据。是否有任何选项可以从设备组中获取所有设备数据?

当你说多个设备属性时,你要求的是:

  1. 从一台设备获取所有属性?如果是这样,您可以使用:
    curl -v -X GET "https://thingsboard.cloud/api/v1/$ACCESS_TOKEN/attributes

  2. 获取特定设备组中所有设备的所有属性。这更难,您将需要使用 https://cloud.thingsboard.io/swagger-ui.html

    中的完整休息 api

如果您需要选项 2,您将必须有一个自定义脚本来为您的用户凭据(或低访问级别 api 用户帐户)获取 JWT 令牌,并使用它来验证 REST 调用以上 link.

伪进程:

  • 使用用户凭据生成 JWT 令牌。
  • 通过 groupType = 'DEVICE'
  • 使用对 entity-group-controller > getEntityGroupsByType 的 REST 调用
  • 遍历你想要的组
  • entity-group-controller > getEntities调用中使用相应的groupId
  • 遍历返回的实体并对它们执行方法 1(上述)或执行 telemetry-controller > getAttributes 调用。

虽然这远远超过 1 个 HTTP 调用...

你可以把它包装成一个函数,这样更容易使用,但我认为你不能进一步减少调用次数。