Get Asset AI Data with Aggregation Logic

Get the AI normalized data of specified measurement points of specified devices within a certain period. The queried data can also be aggregated by the specified logic.

Request Format

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

Request Parameters (URI)

Name

Location (Path/Query)

Required/Optional

Data Type

Description

orgId

Query

Required

String

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

Request Parameters (Body)

Name

Required/Optional

Data Type

Description

modelId

Optional

String

The model ID. How to get model ID >>

assetIds

Required

String

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

pointIdsWithLogic

Required

String

The aggregation logic with measurement point ID. The supported aggregation calculation methods include count, avg, sum, max, min, first, and last. The time range for the aggregation query is (startTime, endTime), that is, the aggregation operand contains the data at the time of startTime, but does not contain the data at the time of endTime. Format: Function(pointID), e.g. sum(pointId). How to get measurement point ID >>

interval

Required

Integer

The time interval for the aggregation algorithm to work. The range is (0,1440], calculated in minutes.

startTime

Required

String

The start time of the sample data can be specified in either the device’s local time or in UTC time.

  • The format for the device’s local time is YYYY-MM-DD HH:MM:SS. When using the local time format, the query will be performed using the local time of the device’s location.

  • The UTC time format is 2019-06-01T00:00:00+08:00, where +08:00 represents the time zone. When using the UTC time format, the query will be performed across all assets using the same unified start and end times.

endTime

Required

String

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

pageSize

Optional

Integer

The upper limit of the returned records in a single page for a single measurement point of a single device, which is 1,000 by default.

localTimeAccuracy

Optional

Boolean

Specify whether the local time in the returned data should be in millisecond format. true indicates that the local time should be returned in millisecond format, false indicates that millisecond format is not required, and the default value is false.

localTimeFormat

Optional

Integer

Specify whether the local time value includes time zone information of devices. 0 (default): without time zone information; 1: with time zone information.

itemFormat

Optional

Integer

Specify the displaying format of the returned device data. Available options are 0, 1, and 2. For the example of each displaying format, see Item Format Example>>

Response Parameters

Name

Data Type

Description

items

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

Name

Data Type

Description

pointIdsWithLogic

Double

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

assetId

String

The asset ID.

timestamp

Long

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

localtime

String

The data timestamp in local time format (accurate to the second).

Sample 1

Request Sample

Local time format:

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

method: POST

Content-Type: application/json

requestBody:
{
  "assetIds": "yourAssetIds",
  "pointIdsWithLogic": "count(yourPointId)",
  "startTime": "2020-04-20 00:00:00",
  "endTime": "2020-04-21 00:00:00",
  "interval": 10,
  "pageSize": 10,
  "localTimeAccuracy": false,
  "localTimeFormat": 0,
  "itemFormat": 0
}

Return Sample

{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "count(yourPointId)": 5,
        "assetId": "yourAssetId",
        "timestamp": 1587312600000,
        "localtime": "2020-04-20 00:10:00"
      }
    ]
  }
}

Sample 2

Request Sample

UTC time format:

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

method: POST

Content-Type: application/json

requestBody:
{
  "assetIds": "yourAssetIds",
  "pointIdsWithLogic": "count(yourPointId)",
  "startTime": "2020-04-20T00:00:00+08:00",
  "endTime": "2020-04-21T00:00:00+08:00",
  "interval": 10,
  "pageSize": 10,
  "localTimeAccuracy": false,
  "localTimeFormat": 1,
  "itemFormat": 0
}

Return Sample

{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "count(yourPointId)": 5,
        "assetId": "yourAssetId",
        "timestamp": 1587312600000,
        "localtime": "2020-04-20T00:10:00+08:00"
      }
    ]
  }
}

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.