Filter Asset Latest Data

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

Request Format

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

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

Required

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

pointId

Required

String

The measurement point ID. How to get measurement point ID >>

operator

Required

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

Required

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

Specify whether to return data in the local time format. true indicates that the query results will include the original timestamp of the data, as well as the local time in the timezone of the device’s location. false indicates that the query results will only include the original timestamp of the data, and this is the default value.

localTimeAccuracy

Optional

Boolean

Specify whether the local time in the returned data should be in millisecond format. Only effective when ifWithLocalTime=true. 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 returned data’s local time should include the device’s timezone information is only effective when ifWithLocalTime=true. 0 indicates that the device’s timezone information is not included, 1 indicates that the device’s timezone information is included, and the default value is 0.

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

assetId

String

The asset ID.

timestamp

Long

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

pointId

Double

This parameter is a variable, where the parameter name in the returned structure represents the identifier of the measurement point, and the parameter value represents the data for that measurement point. The returned data for the same measurement point of the same device will be sorted in ascending order by time.

localtime

String

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

Samples

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
}

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

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.