更新时间:2022-02-24 GMT+08:00

查询设备影子

典型场景

若设备处于离线或异常状态时,第三方应用无法通过命令下发的方式向设备下发配置。此时可把要下发的配置设置到设备影子,当设备重新上线时,设备影子会把配置下发给设备。第三方应用可调用此接口查看设备影子上的设备配置信息及最新的设备上报数据信息。

接口功能

支持第三方应用查询单个设备的设备影子信息,包括对设备的配置信息(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结构体。

DeviceInfo结构体说明:

参数

类型

描述

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

表示设备是否处于冻结状态,即设备上报数据时,平台是否会管理和保存。

  • “TRUE”:冻结状态
  • “FALSE”:非冻结状态

supportedSecurity

String

表示设备是否支持安全模式。

  • “TRUE”:支持安全模式
  • “FALSE”:不支持安全模式

isSecurity

String

表示设备当前是否启用安全模式。

  • “TRUE”:启用
  • “FALSE”:未启用

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建议仅用作显示,不建议用于逻辑判断。

DeviceServiceB说明:

参数

类型

描述

serviceId

String(256)

服务ID,用于标识一个服务。

reportedProps

ObjectNode

设备上报的信息。

desiredProps

ObjectNode

设备下发的信息。

eventTime

String(256)

事件发生的时间。

serviceType

String(256)

服务类型。

错误码

Http状态码

错误码

错误描述

说明

403

100203

The application is not existed.

应用不存在。

处理建议:

  • 请检查HTTP请求头域中携带的appId是否有误。
  • 请检查请求路径(url)中传入的appId是否有误。

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.

设备信息不存在。

处理建议:

  • 请求参数中携带的deviceId错误。请确认该deviceId是否属于该appId或者deviceId是否写错。
  • Header中携带的appId有误,请确认该appId下是否有该deviceId。
  • 如果URL中携带了可选参数appId,请检查该appId是否有误。

500

100203

The application is not existed.

应用不存在。

处理建议:

  • 请检查HTTP请求头域中携带的appId是否有误。
  • 请检查请求路径(url)中传入的appId是否有误。

500

50252

Internal server error.

服务器运行内部错误。

处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。