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:
|
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 |
|
localTimeAccuracy | Optional | Boolean |
|
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.