Get Asset DI Data


获取指定设备在某段时间内的状态变化(DI)数据,并只返回反映资产状态变化的数据。


例如,一段时间内的原始数据如下所示:

Time       Status
10:01:14    0
10:01:30    0
10:03:45    0
10:12:23    1
10:13:34    0
10:15:24    1
10:17:25    1


API 查询返回的结果是:

Time       Status
10:01:14    0
10:12:23    1
10:13:34    0
10:15:24    1


备注

查询的实际资产状态数据可能为其它值。若查询起始时间点无数据,则向前追溯查询 30 天内的最后一个状态值,并使用查询起始时间的时间戳返回数据。

请求格式


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

请求参数(URI)


名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

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

请求参数(Body)


名称

必需/可选

数据类型

描述

modelId

可选

String

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

assetIds

必需

String

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

pointIds

必需

String

资产测点,支持多测点查询,各个测点间用英文逗号隔开。如何获取 pointId 信息 >>

startTime

必需

String

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

endTime

必需

String

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

localTimeAccuracy

可选

Boolean

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

autoInterpolate

可选

Boolean

指定是否向指定的时间范围之前,继续查询一条设备的状态数据。true 表示继续向指定的时间范围之前查询,false 表示不向前查询。

localTimeFormat

可选

Integer

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

itemFormat

可选

Integer

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

响应参数


名称

数据类型

描述

items

List<JSONObject>

资产测点最后变更数据列表。单个设备单一测点的数据将按照时间戳升序排列。详见 items

items


名称

数据类型

描述

assetId

String

资产 ID。

timestamp

Long

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

pointId

Integer

此参数的名称是变量,在返回结构中,参数名称为测点的标识符,参数的值为测点数据。

localtime

String

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

示例 1


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

请求示例


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

method: POST

Content-Type: application/json

requestBody:
{
  "assetIds": "yourAssetIds",
  "pointIds": "yourPointIds",
  "startTime": "2020-03-01 00:00:00",
  "endTime": "2020-03-02 00:00:00",
  "localTimeAccuracy": false,
  "localTimeFormat": 1,
  "itemFormat": 0
}

返回示例


{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId",
        "yourPointId": 1,
        "timestamp": 1582992000000,
        "localtime": "2020-03-01T00:00:00+08:00"
      }
    ]
  }
}

示例 2


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

请求示例


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

method: POST

Content-Type: application/json

requestBody:
{
  "assetIds": "yourAssetIds",
  "pointIds": "yourPointIds",
  "startTime": "2020-03-01T00:00:00+08:00",
  "endTime": "2020-03-02T00:00:00+08:00",
  "localTimeAccuracy": false,
  "localTimeFormat": 1,
  "itemFormat": 0
}

返回示例


{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId",
        "yourPointId": 1,
        "timestamp": 1582992000000,
        "localtime": "2020-03-01T00:00:00+08:00"
      }
    ]
  }
}

SDK 示例


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