Get Latest Measurement Points

Obtain the latest measurement point data uploaded from a device, including raw data, mirrored data, excluding data calculated by StreamSet or from offline message integration.

The latest measurement point data can be uploaded over HTTP, MQTT, CoAP. Data uploaded by using the API of the older version (/connectService/products/{productKey}/devices/measurepoints) can also be obtained by using this API.

Request Format

POST https://{apigw-address}/connect-service/v2.1/measurepoints?action=queryLatest

Request Parameters (URI)

Note

Use one of the following methods to specify the device:

  • Include assetId in the request
  • Include productKey + deviceKey in the request
Name Location (Path/Query) Mandatory/Optional Data Type Description
orgId Query Mandatory String The organization ID which the asset belongs to. How to get orgId>>
assetId Query Optional (See Note above) String The asset ID. How to get assetId>>
productKey Query Optional (See Note above) String The product key. To be used with deviceKey.
deviceKey Query Optional (See Note above) String The device key. To be used with productKey.

Request Parameters (Body)

Name Mandatory/Optional Data Type Description
measurepointIds Optional String Array An array that consists of measurement point IDs, used to specify the measurement points to be included in the response. If not specified, the latest value of all measurement points will be returned.

Response Parameters

Name Data Type Description
data Array of MeasurepointStatus Structs Details of the measurement point data. See the table below for the structure of MeasurepointStatus struct.

MeasurepointStatus Struct

Name Data Type Description
id String The measurement point ID.
time String The time when the measurement point is updated.
value Depending on the definition of the measurement point The value of the measurement point.

Samples

Request Sample

url: https://{apigw-address}/connect-service/v2.1/measurepoints?action=queryLatest&orgId=yourOrgId&assetId=yourAssetId
method: POST
requestBody:
{
    "measurepointIds":[
        "temp"
    ]
}

Response Sample

{
    "code": 0,
    "msg": "OK",
    "requestId": "5c48cad3-3e33-4e0e-be43-9ca628ba3ae5",
    "data": [
        {
            "id": "temp",
            "time": "1579590343468",
            "value": 0.3084426
        }
    ]
}

Java SDK Sample

package com.envisioniot.enos.api.sample.connect_service.device;

import com.envision.apim.poseidon.config.PConfig;
import com.envision.apim.poseidon.core.Poseidon;
import com.envisioniot.enos.connect_service.v2_1.measurepoints.QueryLatestMeasurepointsRequest;
import com.envisioniot.enos.connect_service.v2_1.measurepoints.QueryLatestMeasurepointsResponse;
import com.google.common.collect.ImmutableList;

public class GetLatestMeasurementPoints {

    public static void main(String[] args) {
        String appKey = "yourAppKey";
        String appSecret = "yourAppSecret";
        String serverUrl = "yourServerUrl";

        String orgId = "yourOrgId";
        String assetId = "yourAssetId";

        QueryLatestMeasurepointsRequest request = new QueryLatestMeasurepointsRequest();
        request.setOrgId(orgId);
        request.setAssetId(assetId);
        request.setMeasurepointIds(ImmutableList.of("temp"));
        QueryLatestMeasurepointsResponse response = Poseidon.config(PConfig.init().appKey(appKey).appSecret(appSecret).debug())
                .url(serverUrl)
                .getResponse(request, QueryLatestMeasurepointsResponse.class);
    }
}