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.

Operation Permissions

Required Authorization Required Operation Permission
Asset Read

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

Request Format

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

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>>

Request Parameters (Body)

Name Mandatory/Optional Data Type Description
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>>
pointIdsWithLogic Mandatory 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 Mandatory Integer The time interval for the aggregation algorithm to work. The range is 0-1440, calculated in minutes. If the interval value is 0, the measurement point has no aggregation logic; if the interval value is greater than 0, the measurement point must have the aggregation logic.
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.
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
  • true = query returns data with millisecond time stamp
  • false (default) = query returns data without millisecond time stamp
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
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

{
        "count(yourPointId)": 4,
        "assetId": "yourAssetId",
        "timestamp": 1587312600000,
        "localtime": "2020-04-20 00:10:00"
}

Parameters

Name Data Type Description
pointIdsWithLogic Double This parameter is a variable, representing the identifier and data of the measurement point (with or without aggregation logic)
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). The value of the localTimeFormat parameter determines whether the local time value includes the time zone information.

Error Codes

For description of error codes, see Common Error Codes.

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.