Get Asset Electric Power Data¶
Get the power consumption/production data of specified devices within a certain period.
Operation Permissions¶
Required Authorization |
Required Operation Permission |
---|---|
Asset |
Read |
For more information about resources and required permission, see Policies, Roles and Permissions>>
Using GET Method¶
Request Format¶
GET https://{apigw-address}/tsdb-service/v2.0/electric-power
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>> |
modelId |
Query |
Optional |
String |
The model ID. How to get model ID>> |
assetIds |
Query |
Mandatory |
String |
The asset ID. Supports the query of multiple asset IDs, separated by commas. How to get asset ID>> |
measurepointsWithLogic |
Query |
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 |
interval |
Query |
Mandatory |
Integer |
The time interval for the aggregation algorithm to work. The effective value 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 |
Query |
Mandatory |
String |
The start time of the sampling data, where both UTC and local time formats are supported.
|
endTime |
Query |
Mandatory |
String |
The end time of the sampling data. Its format must be consistent with |
pageSize |
Query |
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. |
accessKey |
Query |
Optional |
String |
The service account for authentication purposes. How to get the accessKey>> |
localTimeAccuracy |
Query |
Optional |
Boolean |
|
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 time stamp in ascending order. For more information, see items |
items¶
Sample¶
{
"assetId": "4DXYH7nS",
"timestamp": 1560249300000,
"sum(opentsdb_pi_point)": 4.246,
"localtime": "6/11/2019 6:35:00 PM"
}
Parameters¶
Name |
Data Type |
Description |
---|---|---|
pointIdWithLogic |
Double |
This parameter is a variable, representing the identifier and data of the measurement point (with or without aggregation logic). The data here is the daily aggregation of the sum of power sonsumption/production data. |
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). If UTC time format is used when specifying the |
Error Codes¶
For description of error codes, see Common Error Codes.
Sample 1 (GET Method)¶
Request Sample¶
Local time format:
url: https://{apigw-address}/tsdb-service/v2.0/electric-power?orgId=yourOrgId&modelId=&assetIds=4DXYH7nS&measurepointsWithLogic=sum(opentsdb_pi_point)&interval=2&startTime=2019-06-01%2000:00:00&endTime=2019-06-11%2023:00:00&pageSize=&accessKey=accessKey
method: GET
Return Sample¶
{
"status": 0,
"requestId": null,
"msg": "success",
"submsg": null,
"data": {
"items": [
{
"assetId": "4DXYH7nS",
"timestamp": 1560249300000,
"sum(opentsdb_pi_point)": 6.853,
"localtime": "6/11/2019 6:35:00 PM"
},
{
"assetId": "4DXYH7nS",
"timestamp": 1560249420000,
"sum(opentsdb_pi_point)": 4.246,
"localtime": "6/11/2019 6:37:00 PM"
}
]
}
}
Sample 2 (GET Method)¶
Request Sample¶
UTC time format:
url: https://{apigw-address}/tsdb-service/v2.0/electric-power?orgId=yourOrgId&modelId=&assetIds=4DXYH7nS&measurepointsWithLogic=sum(opentsdb_pi_point)&interval=2&startTime=2019-06-01%2B00:00:00&endTime=2019-06-11%2B23:00:00&pageSize=&accessKey=accessKey
method: GET
Return Sample¶
{
"status": 0,
"requestId": null,
"msg": "success",
"submsg": null,
"data": {
"items": [
{
"localtime": null,
"sum(opentsdb_pi_point)": 6.853,
"assetId": "4DXYH7nS",
"timestamp": 1560249300000
},
{
"localtime": null,
"sum(opentsdb_pi_point)": 4.246,
"assetId": "4DXYH7nS",
"timestamp": 1560249420000
}
]
}
}
Java SDK Sample¶
import com.alibaba.fastjson.JSONObject;
import com.envision.apim.poseidon.config.PConfig;
import com.envision.apim.poseidon.core.Poseidon;
import com.envision.apim.poseidon.request.PoseidonRequest;
import org.junit.Test;
public class GetMethod {
private static class Request extends PoseidonRequest {
public void setQueryParam(String key, Object value){
queryEncodeParams().put(key, value);
}
public void setMethod(String method) {
this.method = method;
}
private String method;
@Override
public String baseUri() {
return "";
}
@Override
public String method() {
return method;
}
}
@Test
public void GetAssetElectricPowerDataTest(){
//1. Click Application Registration in the left navigation of the EnOS Management Console.
//2. Click the application that needs to call the API, and click Basic Information. accessKey and secretKey correspond to AccessKey and SecretKey in EnOS.
String accessKey = "yourAccessKey";
String secretKey = "yourSecretKeyP";
//Create a request and pass the required parameters into the map that exists in the query. The key is the parameter name and the value is the parameter value.
Request request = new Request();
request.setQueryParam("orgId", "yourOrgId");
request.setQueryParam("modelId", "opentsdb_model");
request.setQueryParam("assetIds", "4DXYH7nS");
request.setQueryParam("measurepointsWithLogic", "sum(opentsdb_pi_point)");
request.setQueryParam("interval", 10);
request.setQueryParam("startTime", "2019-06-01 00:00:00"); //For UTC time format: 2019-06-01T00:00:00+08:00
request.setQueryParam("endTime", "2019-06-11 23:00:00"); //For UTC time format: 2019-06-11T23:00:00+08:00
request.setQueryParam("pageSize", 10);
request.setMethod("GET");
try {
JSONObject response = Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey).debug())
.url("http://apim-gateway/tsdb-service/v2.0/electric-power")
.getResponse(request, JSONObject.class);
System.out.println(response);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Using POST Method¶
Request Format¶
POST https://{apigw-address}/tsdb-service/v2.0/electric-power
Request Parameters (Body)¶
Name |
Mandatory/Optional |
Data Type |
Description |
---|---|---|---|
orgId |
Mandatory |
String |
The organization ID which the asset belongs to. How to get organization ID>> |
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>> |
measurepointsWithLogic |
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 |
interval |
Mandatory |
String |
The time interval for the aggregation algorithm to work. The effective value 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.
|
endTime |
Mandatory |
String |
The end time of the sampling data. Its format must be consistent with |
pageSize |
Optional |
String |
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. |
accessKey |
Optional |
String |
The service account for authentication purposes. How to get the accessKey>> |
localTimeAccuracy |
Optional |
String |
|
Response Parameters¶
See description in Response Parameters of the Using GET Method section.
Error Codes¶
For description of error codes, see Common Error Codes.
Sample 1 (POST Method)¶
Request Sample¶
Local time format:
url: https://{apigw-address}/tsdb-service/v2.0/electric-power
method: POST
Content-Type: multipart/form-data;charset=UTF-8
requestBody:
{
"orgId": "yourOrgId",
"assetIds": "4DXYH7nS",
"measurepointsWithLogic": "sum(opentsdb_pi_point)",
"startTime": "2020-03-01 00:00:00",
"endTime": "2020-03-01 00:15:00",
"accessKey": "accessKey"
}
Return Sample¶
{
"status": 0,
"requestId": null,
"msg": "success",
"submsg": null,
"data": {
"items": [
{
"assetId": "4DXYH7nS",
"timestamp": 1560249300000,
"sum(opentsdb_pi_point)": 6.853,
"localtime": "6/11/2019 6:35:00 PM"
},
{
"assetId": "4DXYH7nS",
"timestamp": 1560249420000,
"sum(opentsdb_pi_point)": 4.246,
"localtime": "6/11/2019 6:37:00 PM"
}
]
}
}
Sample 2 (POST Method)¶
Request Sample¶
UTC time format:
url: https://{apigw-address}/tsdb-service/v2.0/electric-power
method: POST
Content-Type: multipart/form-data;charset=UTF-8
requestBody:
{
"orgId": "yourOrgId",
"assetIds": "4DXYH7nS",
"measurepointsWithLogic": "sum(opentsdb_pi_point)",
"startTime": "2019-06-01T10:00:00%2B08:00",
"endTime": "2019-06-11T23:00:00%2B08:00",
"pageSize": 1000,
"accessKey": "accessKey"
}
Return Sample¶
{
"status": 0,
"requestId": null,
"msg": "success",
"submsg": null,
"data": {
"items": [
{
"localtime": null,
"sum(opentsdb_pi_point)": 6.853,
"assetId": "4DXYH7nS",
"timestamp": 1560249300000
},
{
"localtime": null,
"sum(opentsdb_pi_point)": 4.246,
"assetId": "4DXYH7nS",
"timestamp": 1560249420000
}
]
}
}
Java SDK Sample¶
import com.alibaba.fastjson.JSONObject;
import com.envision.apim.poseidon.config.PConfig;
import com.envision.apim.poseidon.core.Poseidon;
import com.envision.apim.poseidon.request.PoseidonRequest;
import org.junit.Test;
public class PostMethod {
private static class Request extends PoseidonRequest {
public void setFormParam(String key, String value){
formParams().put(key, value);
}
public void setMethod(String method) {
this.method = method;
}
private String method;
@Override
public String baseUri() {
return "";
}
@Override
public String method() {
return method;
}
}
@Test
public void GetAssetElectricPowerDataTest(){
//1. Click Application Registration in the left navigation of the EnOS Management Console.
//2. Click the application that needs to call the API, and click Basic Information. accessKey and secretKey correspond to AccessKey and SecretKey in EnOS.
String accessKey = "yourAccessKey";
String secretKey = "yourSecretKey";
//Create a request and pass the required parameters into the map that exists in the form. The key is the parameter name and the value is the parameter value.
Request request = new Request();
request.setFormParam("orgId", "yourOrgId");
request.setFormParam("modelId", "opentsdb_model");
request.setFormParam("assetIds", "4DXYH7nS");
request.setFormParam("measurepointsWithLogic", "sum(opentsdb_pi_point)");
request.setFormParam("interval", "10");
request.setFormParam("startTime", "2019-06-01 00:00:00"); //For UTC time format: 2019-06-01T00:00:00+08:00
request.setFormParam("endTime", "2019-06-11 23:00:00"); //For UTC time format: 2019-06-11T23:00:00+08:00
request.setFormParam("pageSize", "10");
request.setMethod("POST");
try {
JSONObject response = Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey).debug())
.url("http://apim-gateway/tsdb-service/v2.0/electric-power")
.getResponse(request, JSONObject.class);
System.out.println(response);
} catch (Exception e) {
e.printStackTrace();
}
}
}