查询设备影子
典型场景
若设备处于离线或异常状态时,第三方应用无法通过命令下发的方式向设备下发配置。此时可把要下发的配置设置到设备影子,当设备重新上线时,设备影子会把配置下发给设备。第三方应用可调用此接口查看设备影子上的设备配置信息及最新的设备上报数据信息。
接口功能
支持第三方应用查询单个设备的设备影子信息,包括对设备的配置信息(desired区)和设备最新上报的数据信息(reported区)。
接口描述
1 |
def queryDeviceShadow(self, deviceId, appId, accessToken)
|
接口所属类
DeviceManagement
参数说明
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
deviceId |
必选 |
String |
path |
设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 |
appId |
可选 |
String |
query |
如果是本应用的设备,此参数值可以填写None,否则填写授权应用的appId。 |
accessToken |
必选 |
String |
header |
填写鉴权接口获取的accessToken。 |
返回值
QueryDeviceShadowOutDTO
参数 |
类型 |
描述 |
---|---|---|
deviceId |
String(36) |
设备ID,用于唯一标识一个设备。 |
gatewayId |
String(36) |
网关ID,用于标识一个网关。 |
nodeType |
Enum |
设备的类型。 |
createTime |
String(256) |
设备创建的时间。 |
lastModifiedTime |
String(256) |
设备最后一次修改信息的时间。 |
deviceInfo |
DeviceInfo |
设备详细信息,具体参见DeviceInfo结构体。 |
services |
List<DeviceServiceB> |
设备的服务能力,具体参见DeviceServiceB结构体。 |
参数 |
类型 |
描述 |
---|---|---|
nodeId |
String(256) |
设备的唯一标识。 |
name |
String(256) |
设备名称。 |
description |
String(2048) |
设备的描述信息。 |
manufacturerId |
String(256) |
厂商ID,唯一标识一个厂商,与设备Profile文件中的信息保持一致。 |
manufacturerName |
String(256) |
厂商名称,与设备Profile文件中的信息保持一致。 |
mac |
String(256) |
设备的MAC地址。 |
location |
String(2048) |
设备的位置信息。 |
deviceType |
String(256) |
设备类型,大驼峰命名方式,与设备Profile文件中的信息保持一致,如MultiSensor、ContactSensor、CameraGateway。 |
model |
String(256) |
设备的型号,与设备Profile文件中的信息保持一致。 Z-Wave:ProductType + ProductId,16 进制格式 XXXX-XXXX 补0对齐,如:001A-0A12,其他协议的格式待定。 |
swVersion |
String(256) |
设备的软件版本,。 Z-Wave:主版本号.次版本号,如:1.1。 |
fwVersion |
String(256) |
设备的固件版本。 |
hwVersion |
String(256) |
设备的硬件版本。 |
protocolType |
String(256) |
设备使用的协议类型,与设备Profile文件中的信息保持一致,当前支持的协议类型:CoAP,huaweiM2M,Z-Wave,ONVIF,WPS,Hue,WiFi,J808,Gateway,ZigBee,LWM2M。 |
bridgeId |
String(256) |
Bridge标识,表示设备通过哪个Bridge接入物联网平台。 |
status |
String |
设备的状态,表示设备是否在线,取值范围:“ONLINE”、“OFFLINE”、“INBOX”、“ABNORMAL”。 |
statusDetail |
String(256) |
设备的状态详情,status条件取值,取值查看下表status和statusDetail。 |
mute |
String |
表示设备是否处于冻结状态,即设备上报数据时,平台是否会管理和保存。
|
supportedSecurity |
String |
表示设备是否支持安全模式。
|
isSecurity |
String |
表示设备当前是否启用安全模式。
|
signalStrength |
String(256) |
设备的信号强度。 |
sigVersion |
String(256) |
设备的sig版本。 |
serialNumber |
String(256) |
设备的序列号。 |
batteryLevel |
String(256) |
设备的电池电量。 |
status和statusDetail:
status |
statusDetail |
---|---|
OFFLINE |
NONE CONFIGURATION_PENDING |
ONLINE |
NONE COMMUNICATION_ERROR CONFIGURATION_ERROR BRIDGE_OFFLINE FIRMWARE_UPDATING DUTY_CYCLE NOT_ACTIVE |
设备向物联网平台上报设备状态时需要status、statusDetail成对上报。statusDetail建议仅用作显示,不建议用于逻辑判断。
参数 |
类型 |
描述 |
---|---|---|
serviceId |
String(256) |
服务ID,用于标识一个服务。 |
reportedProps |
ObjectNode |
设备上报的信息。 |
desiredProps |
ObjectNode |
设备下发的信息。 |
eventTime |
String(256) |
事件发生的时间。 |
serviceType |
String(256) |
服务类型。 |
错误码
Http状态码 |
错误码 |
错误描述 |
说明 |
---|---|---|---|
403 |
100203 |
The application is not existed. |
应用不存在。 处理建议:
|
403 |
100217 |
The application hasn't been authorized. |
应用未被授权。 处理建议:若非应用授权场景,请确认请求参数中的appId为空。 |
403 |
1010009 |
app throttle exceed. |
应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 |
403 |
1010005 |
pp_key or access_token is invalid. |
错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 |
404 |
100418 |
The deviceData is not existed. |
设备信息不存在。 处理建议:
|
500 |
100203 |
The application is not existed. |
应用不存在。 处理建议:
|
500 |
50252 |
Internal server error. |
服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。 |