Get Asset DI Data

Get the status change (DI) data of specified devices within a certain period.

The API captures the state of a particular asset over a period of time and returns only data that reflects changes in the state of the asset. For example, the raw data within a period is given as follows:

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

The returned results are as follows:

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

Note

The status data of specific assets may be represented by other integers. If there is no DI data at the start time of the request, it will trace back the last state value within the last 30 days from the start time. The data is returned with the timestamp of the request start time.

Operation Permissions

Required Authorization

Required Operation Permission

Asset

Read

For more information about resources and required permission, see Policies, Roles and Permissions>>

Using GET Method

Request Format

GET https://{apigw-address}/tsdb-service/v2.0/di

Request Parameters (URI)

Name

Location (Path/Query)

Mandatory/Optional

Data Type

Description

orgId

Query

Mandatory

String

The organization ID which the asset belongs to. How to get organization ID>>

modelId

Query

Optional

String

The model ID. How to get model ID>>

assetIds

Query

Mandatory

String

The asset ID. Supports the query of multiple asset IDs, separated by commas. How to get asset ID>>

measurepoints

Query

Mandatory

String

The measurement point ID. Supports the query of multiple measurement point IDs, separated by commas. How to get measurement point ID>>

startTime

Query

Mandatory

String

The start time of the sampling data, where both UTC and local time formats are supported.

  • For UTC time format, the application will query all the asset data by the unified start timestamp and end timestamp. Timezone information is required for the UTC time format: 2019-06-01T00:00:00+08:00.

  • For local time format, the application will query the asset data by the local time of where the device is located. Its format is: YYYY-MM-DD HH:MM:SS.

endTime

Query

Mandatory

String

The end time of the sampling data. Its format must be consistent with startTime.

accessKey

Query

Optional

String

The service account for authentication purposes. How to get the accessKey>>

localTimeAccuracy

Query

Optional

Boolean

  • true = query returns data with millisecond time stamp

  • false (default) = query returns data without millisecond time stamp

autoInterpolate

Query

Optional

Boolean

  • true = query the latest status data in the past if no data is found at the query start time

  • false (default) = do not query the latest status data in the past if no data is found at the query start time

Response Parameters

Name

Data Type

Description

data

List<JSONObject>

The list of asset data. The data returned for a single point of a single device is sorted by the data timestamp in ascending order. For more information, see items

items

Sample
{
        "assetId": "yourAssetId",
        "timestamp": 1560249312446,
        "yourPointId": 1,
        "localtime": "6/11/2019 6:35:12 PM"
}
Parameters

Name

Data Type

Description

assetId

String

The asset ID.

timestamp

Long

The data timestamp (UNIX time, accurate to the second).

pointId

Integer

This parameter is a variable, representing the identifier and data of the measurement point.

localtime

String

The data timestamp in local time format (accurate to the second). If UTC time format is used when specifying the statTime and endtime, this value will be null.

Error Codes

For description of error codes, see Common Error Codes.

Sample 1 (GET Method)

Request Sample

Local time format:

url: https://{apigw-address}/tsdb-service/v2.0/di?orgId=yourOrgId&modelId=&assetIds=yourAssetIds&measurepoints=yourPointIds&startTime=2019-06-01%2000:00:00&endTime=2019-06-11%2023:00:00&accessKey=accessKeyOfYourAPP

method: GET

Return Sample

{
  "status": 0,
  "requestId": null,
  "msg": "success",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId",
        "yourPointId": 0,
        "timestamp": 1560249312446,
        "localtime": "6/11/2019 6:35:12 PM"
      }
    ]
  }
}

Sample 2 (GET Method)

Request Sample

UTC time format:

url: https://{apigw-address}/tsdb-service/v2.0/di?accessKey=accessKeyOfYourAPP&assetIds=yourAssetIds&orgId=yourOrgId&measurepoints=yourPointIds&startTime=2019-06-01T00:00:00%2B08:00&endTime=2019-06-11T23:00:00%2B08:00

method: GET

Return Sample

{
    "status": 0,
    "requestId": null,
    "msg": "success",
    "submsg": null,
    "data": {
        "items": [
            {
                "localtime": null,
                "yourPointId": 0,
                "assetId": "yourAssetId",
                "timestamp": 1560249312446
            }
        ]
    }
}

Using POST Method

Request Format

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

Request Parameters (Body)

Name

Mandatory/Optional

Data Type

Description

orgId

Mandatory

String

Organization ID which the asset belongs to. How to get organization ID>>

modelId

Optional

String

The model ID. How to get model ID>>

assetIds

Mandatory

String

The asset ID. Supports the query of multiple asset IDs, separated by commas. How to get asset ID>>

measurepoints

Mandatory

String

The measurement point ID. Supports the query of multiple measurement point IDs, separated by commas. How to get measurement point ID>>

startTime

Mandatory

String

The start time of the sampling data, where both UTC and local time formats are supported.

  • For UTC time format, the application will query all the asset data by the unified start timestamp and end timestamp. Timezone information is required for the UTC time format: 2019-06-01T00:00:00+08:00.

  • For local time format, the application will query the asset data by the local time of where the device is located. Its format is: YYYY-MM-DD HH:MM:SS.

endTime

Mandatory

String

The end time of the sampling data. Its format must be consistent with startTime.

accessKey

Optional

String

The service account for authentication purposes. How to get the accessKey>>

localTimeAccuracy

Optional

String

  • true = query returns data with millisecond time stamp

  • false (default) = query returns data without millisecond time stamp

autoInterpolate

Optional

String

  • true = query the latest status data in the past if no data is found at the query start time

  • false (default) = do not query the latest status data in the past if no data is found at the query start time

Response Parameters

See description in Response Parameters of the Using GET Method section.

Error Codes

For description of error codes, see Common Error Codes.

Sample 1 (POST Method)

Request Sample

Local time format:

url: https://{apigw-address}/tsdb-service/v2.0/di

method: POST

Content-Type: multipart/form-data;charset=UTF-8

requestBody:
{
  "orgId": "yourOrgId",
  "assetIds": "yourAssetIds",
  "measurepoints": "yourPointIds",
  "startTime": "2020-03-01 00:00:00",
  "endTime": "2020-03-02 00:00:00",
  "accessKey": "accessKey of your APP"
}

Return Sample

{
  "status": 0,
  "requestId": null,
  "msg": "success",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId",
        "yourPointId": 0,
        "timestamp": 1560249312446,
        "localtime": "6/11/2019 6:35:12 PM"
      }
    ]
  }
}

Sample 2 (POST Method)

Request Sample

UTC time format:

url: https://{apigw-address}/tsdb-service/v2.0/di

method: POST

Content-Type: multipart/form-data;charset=UTF-8

requestBody:
{
  "orgId": "yourOrgId",
  "assetIds": "yourAssetIds",
  "measurepoints": "yourPointIds",
  "startTime": "2019-06-01T00:00:00%2B08:00",
  "endTime": "2019-06-11T23:00:00%2B08:00",
  "accessKey": "accessKey of your APP"
}

Return Sample

{
    "status": 0,
    "requestId": null,
    "msg": "success",
    "submsg": null,
    "data": {
        "items": [
            {
                "localtime": null,
                "yourPointId": 0,
                "assetId": "yourAssetId",
                "timestamp": 1560249312446
            }
        ]
    }
}

SDK Samples


You can access the `Java SDK Samples<https://github.com/EnvisionIot/sample-code-java/tree/EnOS2.4/tsdbdata>`__for TSDB data service on Github.