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

注册设备通知

典型场景

第三方应用在物联网平台订阅了注册设备通知后(订阅的通知类型为deviceAdded),当第三方应用通过“注册直连设备”接口在平台注册设备时,平台会向第三方应用推送通知消息。

接口功能

支持物联网平台向订阅了注册设备通知的第三方应用推送通知消息。

注意事项

  1. 应用在订阅平台业务数据时需要订阅接口描述中的指定回调地址,回调地址中的server与port为应用服务器公网地址与服务器配置中指定的端口。
  2. 应用通过继承PushMessageReceiver类并重写回调接口接收推送消息的内容。
  3. 如果回调地址不是应用服务器本身的地址,则第三方应用需要自己实现原始回调接口,接口内容请参考IoT平台北向API参考中的消息推送章节。

接口描述

回调地址

https://server:port/v1.0.0/messageReceiver

回调接口

function handleDeviceAdded(NotifyDeviceAddedDTO $body)

接口所属类

PushMessageReceiver

参数说明

NotifyDeviceAddedDTO

参数

必选/可选

位置

描述

$notifyType

必选

body

通知类型,取值:“deviceAdded”

$deviceId

必选

body

设备ID,用于唯一标识一个设备。

$gatewayId

可选

body

网关ID,用于唯一标识一个网关设备。

$nodeType

必选

body

设备类型。

  • “ENDPOINT”
  • “GATEWAY”
  • “UNKNOWN”

$deviceInfo

必选

body

设备信息,具体参见DeviceInfo结构体。

DeviceInfo结构体说明:

参数

必选/可选

位置

描述

$nodeId

必选

body

设备的唯一标识,通常使用MAC,MAC地址,Serial No或IMEI作为nodeId。

说明:

若使用IMEI作为nodeId,根据不同厂家的芯片有不同填写要求。

  • 高通芯片设备的唯一标识为urn:imei:xxxx,xxxx为IMEI号
  • 海思芯片设备的唯一标识为IMEI号
  • 其他厂家芯片的设备唯一标识请联系模组厂家确认。

$name

可选

body

设备名称。

$description

可选

body

设备的描述信息。

$manufacturerId

可选

body

厂商ID,唯一标识一个厂商。

$manufacturerName

可选

body

厂商名称。

$mac

可选

body

设备的MAC地址。

$location

可选

body

设备的位置信息。

$deviceType

可选

body

设备类型,大驼峰命名方式,如MultiSensor、ContactSensor、CameraGateway。

$model

可选

body

设备的型号。

$swVersion

可选

body

设备的软件版本。

Z-Wave:主版本号.次版本号,如:1.1。

$fwVersion

可选

body

设备的固件版本。

$hwVersion

可选

body

设备的硬件版本。

$protocolType

可选

body

设备使用的协议类型,当前支持的协议类型:CoAP,huaweiM2M,Z-Wave,ONVIF,WPS,Hue,WiFi,J808,Gateway,ZigBee,LWM2M。

$bridgeId

可选

body

Bridge标识,表示设备通过哪个Bridge接入物联网平台。

$status

可选

body

设备的状态,表示设备是否在线,取值范围:“ONLINE”“OFFLINE”“INBOX”“ABNORMAL”

$statusDetail

可选

body

设备的状态详情,status条件取值,取值查看$status和$statusDetail

$mute

可选

body

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

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

$supportedSecurity

可选

body

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

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

$isSecurity

可选

body

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

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

$signalStrength

可选

body

设备的信号强度。

$sigVersion

可选

body

设备的sig版本。

$serialNumber

可选

body

设备的序列号。

$batteryLevel

可选

body

设备的电池电量。

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

响应参数

Status Code: 200 OK

请求示例

Method: POST
request: {callbackUrl}
Header:
Content-Type:application/json
Body:
{
    "notifyType":"deviceAdded",
    "deviceId":"*****",
    "gatewayId":"*****",
    "nodeType":"GATEWAY",
    "deviceInfo":{
        "nodeId":"******",
        "name":null,
        "description":null,
        "manufacturerId":null,
        "manufacturerName":null,
        "mac":null,
        "location":null,
        "deviceType":null,
        "model":null,
        "swVersion":null,
        "fwVersion":null,
        "hwVersion":null,
        "protocolType":null,
        "bridgeId":null,
        "status":"OFFLINE",
        "statusDetail":"NOT_ACTIVE",
        "mute":null,
        "supportedSecurity":null,
        "isSecurity":null,
        "signalStrength":null,
        "sigVersion":null,
        "serialNumber":null,
        "batteryLevel":null
    }
}

响应示例

response:
Status Code: 200 OK