Filter Asset Latest Data

Filter and query the latest data of a single measurement point for multiple devices.

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/latest/filter

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 Mandatory 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>>
pointId Mandatory String The measurement point ID. How to get measurement point ID>>
operator Mandatory String

The query operator. It supports:

  • eq: equals to
  • nq: not equals to
  • gt: greater than
  • lt: less than
  • ge: greater than or equals to
  • le: less than or equals to
  • between: interval of 2 values
  • in: one of multiple values
valueFilter Mandatory String The value to filter for. It must be used along with the operator. The operators “eq”, “nq”, “gt”, “ge”, “lt”, and “le” correspond to a single value; “between” corresponds to 2 values; “in” corresponds to multiple values. Multiple values must be separated by commas, and the data types must be consistent with those of the measurement points. For example: “operator=betwteen&valueFilter=a, b” refers to filtering out the values between a and b.
timeWindow Optional Integer Specify the time window for filtering the latest data (by minutes). The minimum value is 0. If not specified, no constrain is applied. For example: when timeWindow=n, the data within n minutes from the current time is returned. When timeWindow=0, if the latest data timestamp is later than the current time, the data of the latest timestamp will be returned.
ifWithLocalTime Optional Boolean
  • true = returns data in local time format
  • false (default) = does not return data in local time format
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

{
    "localtime":"2020-03-31T23:59:59+08:00",
    "assetId": "yourAssetId",
    "yourPointId": 1.5,
    "timestamp": 1585670399000
}

Parameters

Name Data Type Description
assetId String The asset ID.
timestamp Long The data timestamp (UNIX time, accurate to the second).
pointId Double 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). The value of the localTimeFormat parameter determines whether the local time value includes the time zone information.

Error Codes

For the description of error codes, see Common Error Codes.

Sample 1

Request Sample

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

method: POST

Content-Type: application/json

requestBody:
{
  "modelId": "yourModelId",
  "assetIds": "yourAssetIds",
  "pointId": "yourPointId",
  "operator": "le",
  "valueFilter": "100",
  "timeWindow": "",
  "ifWithLocalTime": true,
  "localTimeAccuracy": false,
  "localTimeFormat": 1,
  "itemFormat": 0
}

Where, operator=le&valueFilter=100 means that: The sample code will filter out the pi_point value of the model export_data, which is less than or equal to 100.

Return Sample

{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "localtime":"2020-03-31T23:59:59+08:00",
        "assetId": "yourAssetId",
        "yourPointId": 1.5,
        "timestamp": 1585670399000
      }
    ]
  }
}

Sample 2

Request Sample

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

method: POST

Content-Type: application/json

requestBody:
{
  "modelId": "yourModelId",
  "assetIds": "yourAssetIds",
  "pointId": "yourPointId",
  "operator": "le",
  "valueFilter": "100",
  "timeWindow": "",
  "ifWithLocalTime": true,
  "itemFormat": 0
}

Return Sample

{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId",
        "yourPointId": 1.5,
        "timestamp": 1585670399000
      }
    ]
  }
}

Sample 3

Request Sample

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

method: POST

Content-Type: application/json

requestBody:
{
  "modelId": "yourModelId",
  "assetIds": "yourAssetIds",
  "pointId": "yourPointId",
  "operator": "le",
  "valueFilter": "100",
  "timeWindow": "",
  "ifWithLocalTime": true,
  "localTimeAccuracy": true,
  "localTimeFormat": 1,
  "itemFormat": 0
}

Return Sample

{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "localtime":"2020-03-31T23:59:59.000+08:00",
        "assetId": "yourAssetId",
        "yourPointId": 1.5,
        "timestamp": 1585670399000
      }
    ]
  }
}

Sample 4

Request Sample

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

method: POST

Content-Type: application/json

requestBody:
{
  "modelId": "yourModelId",
  "assetIds": "yourAssetIds",
  "pointId": "yourPointId",
  "operator": "le",
  "valueFilter": "100",
  "timeWindow": "",
  "ifWithLocalTime": true,
  "localTimeAccuracy": false,
  "localTimeFormat": 0,
  "itemFormat": 0
}

Return Sample

{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "localtime":"2020-03-31 23:59:59",
        "assetId": "yourAssetId",
        "yourPointId": 1.5,
        "timestamp": 1585670399000
      }
    ]
  }
}

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.