Get Device¶
获取设备信息。
操作权限¶
需授权的资源 |
所需操作权限 |
---|---|
设备管理 |
Read |
请求格式¶
GET https://{apigw-address}/connect-service/v2.1/devices?action=get
请求参数(URI)¶
备注
以下非必须字段中,必须提供 assetId
或 productKey
+ deviceKey
的组合,用于指定设备。
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织ID。 如何获取orgId信息>> |
assetId |
Query |
可选 |
String |
资产ID。 如何获取Asset ID信息>> |
productKey |
Query |
可选 |
String |
设备的Product Key。 |
deviceKey |
Query |
可选 |
String |
设备的Device Key。 |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
data |
Device结构体 |
网关设备信息,见 Device结构体>> |
Device结构体¶
名称 |
数据类型 |
描述 |
---|---|---|
orgId |
String |
资产所属的组织ID。 |
assetId |
String |
资产ID。 |
modelId |
String |
资产所属模型ID。 |
modelIdPath |
String |
模型ID的路径。 |
productKey |
String |
Product Key。 |
productName |
StringI18n |
产品名称。 |
productType |
String |
产品类型。 |
dataFormat |
String |
数据格式。Custom表示支持用户自定义数据格式,Json表示只支持EnOS设备协议格式。 |
deviceKey |
String |
Device Key。 |
deviceName |
StringI18n |
设备名称。 |
deviceSecret |
String |
设备的连接秘钥。 |
deviceDesc |
String |
设备描述。 |
timezone |
String |
设备所在时区。 |
deviceAttributes |
Map(Key为String,Value为String) |
设备的属性。 |
deviceTags |
Map(Key为String,Value为String) |
设备的标志。 |
createTime |
Long |
设备的创建时间。 |
status |
String |
设备的状态(online、offline、inactive或disable)。 |
activeTime |
Long |
设备的激活时间。 |
lastOnlineTime |
Long |
设备最后一次上线时间。 |
lastOfflineTime |
Long |
设备最后一次离线时间。 |
measurepointLastUpdate |
Long |
设备测点最近一次更新的时间。 |
eventLastUpdate |
Long |
设备事件最近一次更新的时间。 |
attributeLastUpdate |
Long |
设备属性最近一次更新的时间。 |
featureLastUpdate |
Long |
设备最近一次更新的时间,以上述三个时间( |
示例¶
请求示例¶
url: https://{apigw-address}/connect-service/v2.1/devices?action=get&orgId=yourOrgId&assetId=yourAssetId
method: GET
返回示例¶
{
"code": 0,
"msg": "OK",
"requestId": "835a5cc4-4487-4bf2-961a-55bc0ee77d02",
"data": {
"orgId": "yourOrgId",
"assetId": "yourAssetId",
"modelId": "yourModelId",
"modelIdPath": "yourModelIdPath",
"productKey": "yourProductKey",
"productName": {
"defaultValue": "test_product_name",
"i18nValue": {}
},
"productType": "Device",
"dataFormat": "Json",
"deviceKey": "yourDeviceKey",
"deviceName": {
"defaultValue": "testforname",
"i18nValue": {}
},
"deviceSecret": "yourDeviceSecret",
"deviceDesc": "test for undatedevice",
"timezone": "+08:00",
"deviceAttributes": {
"int11": 617
},
"deviceTags": {
"test": "test for tags"
},
"createTime": 1557905107199,
"status": "offline",
"activeTime": 1557909526473,
"lastOnlineTime": 1560743931658,
"lastOfflineTime": 1560744111658,
"measurepointLastUpdate":1565875705704,
"eventLastUpdate":1565875705856,
"attributeLastUpdate":1547793776699,
"featureLastUpdate":1565875705856
}
}
Java SDK调用示例¶
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.device.GetDeviceRequest;
import com.envisioniot.enos.connect_service.v2_1.device.GetDeviceResponse;
public class GetDevice {
public static void main(String[] args) {
final String appKey = "yourAppKey";
final String appSecret = "yourAppSecret";
String serverUrl = "yourServerUrl";
String orgId = "yourOrgId";
String assetId = "yourAssetId";
GetDeviceRequest request = new GetDeviceRequest();
request.setOrgId(orgId);
request.setAssetId(assetId);
GetDeviceResponse response = Poseidon.config(PConfig.init().appKey(appKey).appSecret(appSecret).debug())
.url(serverUrl)
.getResponse(request, GetDeviceResponse.class);
}
}