Get Asset Electric Power Data


获取指定设备在某段时间内的电量数据。

请求格式


POST https://{apigw-address}/tsdb-service/v2.1/electric-power

请求参数(URI)


名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

资产所属的 OU ID。如何获取 orgId 信息 >>

请求参数(Body)


名称

必需/可选

数据类型

描述

modelId

可选

String

资产所属模型 ID。如何获取 modelId 信息 >>

assetIds

必需

String

资产 ID,支持查询多个资产,多个资产 ID 之间用英文逗号隔开。如何获取 Asset ID 信息 >>

pointIdsWithLogic

必需

String

测点数据聚合逻辑,格式为:函数(测点标识符),例如:sum(pointId)。支持的聚合计算方式有 count,avg,sum,max,min,first,last。聚合查询的时间区间为 [startTime,endTime),即聚合操作数包含 startTime 时刻的数据,但不包含 endTime 时刻的数据。如何获取 pointId 信息 >>

interval

必需

Integer

聚合算法作用的时间间隔,值的范围为 (0,1440],单位是分钟。

startTime

必需

String

采样数据开始时间,支持设备当地时间和 UTC 时间。设备当地时间的格式为 YYYY-MM-DD HH:MM:SS。当格式为设备当地时间时,使用设备所在地的当地时间进行查询。UTC 时间格式如 2019-06-01T00:00:00+08:00+08:00 表示时区。当格式为 UTC 时间时,对所有资产按照统一的开始时间和结束时间进行查询。

endTime

必需

String

采样数据结束时间,格式必须与开始时间保持一致。

pageSize

可选

Integer

单次查询返回记录条数的上限,默认为 1000。

localTimeAccuracy

可选

Boolean

指定查询结果是否包含毫秒级结果。true 表示需要毫秒格式,false 表示不需要毫秒格式,默认值为 false

localTimeFormat

可选

Integer

指定返回数据的设备当地时间是否包含设备的时区信息。0 不包含设备时区信息,1 包含设备时区信息,默认值为 0。

itemFormat

可选

Integer

指定返回结果中测点数据的显示格式。可选值为 012,默认值为 0。对每种显示格式的详细介绍,参见 Item Format 示例 >>

响应参数


名称

数据类型

描述

assetId

String

资产 ID。

timestamp

Long

数据时间戳,UNIX 时间,精确到秒。

pointIdsWithLogic

Double

此参数的名称是变量,在返回结构中,参数名称为测点的标识符,参数的值为测点数据。此处数据是电量 PI 的 sum 当天聚合。

localtime

String

数据当地时间,精确到秒。

示例 1


示例 1 按照设备当地时间请求数据。

请求示例


url: https://{apigw-address}/tsdb-service/v2.1/electric-power?orgId=yourOrgId

method: POST

Content-Type: application/json

requestBody:
{
  "assetIds": "yourAssetId1,yourAssetId2",
  "pointIdsWithLogic": "sum(yourPointId)",
  "startTime": "2020-03-01 00:00:00",
  "endTime": "2020-03-01 00:15:00",
  "interval": 10,
  "localTimeAccuracy": false,
  "localTimeFormat": 1,
  "itemFormat": 0
}

返回示例


{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId1",
        "timestamp": 1582992000000,
        "sum(yourPointId)": 6.853,
        "localtime": "2020-03-01T00:00:00+08:00"
      },
      {
        "assetId": "yourAssetId2",
        "timestamp": 1582992000000,
        "sum(yourPointId)": 4.246,
        "localtime": "2020-03-01T00:00:00+08:00"
      }
    ]
  }
}

示例 2


示例 2 按照 UTC 时间格式请求数据。

请求示例


url: https://{apigw-address}/tsdb-service/v2.1/electric-power?orgId=yourOrgId

method: POST

Content-Type: application/json

requestBody:
{
  "assetIds": "yourAssetId1,yourAssetId2",
  "pointIdsWithLogic": "sum(yourPointId)",
  "startTime": "2020-03-01T00:00:00+08:00",
  "endTime": "2020-03-01T00:15:00+08:00",
  "interval": 10,
  "localTimeAccuracy": false,
  "localTimeFormat": 1,
  "itemFormat": 0
}

返回示例


{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId1",
        "timestamp": 1582992000000,
        "sum(yourPointId)": 6.853,
        "localtime": "2020-03-01T00:00:00+08:00"
      },
      {
        "assetId": "yourAssetId2",
        "timestamp": 1582992000000,
        "sum(yourPointId)": 4.246,
        "localtime": "2020-03-01T00:00:00+08:00"
      }
    ]
  }
}

SDK 示例


你可以在 Github 上获取 TSDB 数据服务的 Java SDK 示例