Pushing Device Registration Notifications
Typical Scenario
After an NA subscribes to device registration notifications (the notification type is deviceAdded) on the IoT platform, the IoT platform sends a notification message to the NA when the NA registers a device on the IoT platform by calling the API for registering a directly connected device.
API Function
This API is used by the IoT platform to push notification messages to an NA that has subscribed to device registration notifications.
Note
- When subscribing to platform service data, an NA must subscribe to the specified callback address in the API description. The server and port in the callback address are the public IP address and specified port of the NA.
- An NA receives the content of a push message by inheriting the PushMessageReceiver class and rewriting the callback API.
- If the callback address is not the address of the NA, the NA must implement the original callback API. For details on the API content, see Message Push in the Huawei IoT Platform Northbound API Reference.
API Description
Callback URL |
https://server:port/v1.0.0/messageReceiver |
---|---|
Callback API |
function handleDeviceAdded(NotifyDeviceAddedDTO $body) |
Class |
PushMessageReceiver |
Parameter Description
NotifyDeviceAddedDTO
Parameter |
Mandatory or Optional |
Location |
Description |
---|---|---|---|
$notifyType |
Mandatory |
body |
Indicates the notification type. The value is deviceAdded. |
$deviceId |
Mandatory |
body |
Identifies a device. |
$gatewayId |
Optional |
body |
Uniquely identifies a gateway. |
$nodeType |
Mandatory |
body |
Indicates the device type.
|
$deviceInfo |
Mandatory |
body |
Indicates information about the device. For details, see DeviceInfo structure. |
Parameter |
Mandatory or Optional |
Location |
Description |
---|---|---|---|
$nodeId |
Mandatory |
body |
Uniquely identifies the device. Generally, the MAC address, serial number, or IMEI is used as the node ID.
NOTE:
When the IMEI is used as the node ID, the node ID varies depending on the chip provided by the manufacturer.
|
$name |
Optional |
body |
Indicates the device name. |
$description |
Optional |
body |
Indicates the device description. |
$manufacturerId |
Optional |
body |
Uniquely identifies a manufacturer. |
$manufacturerName |
Optional |
body |
Indicates the manufacturer name. |
$mac |
Optional |
body |
Indicates the MAC address of the device. |
$location |
Optional |
body |
Indicates the device location. |
$deviceType |
Optional |
body |
Indicates the device type. The upper camel case is used, for example, MultiSensor, ContactSensor, and CameraGateway. |
$model |
Optional |
body |
Indicates the device model. |
$swVersion |
Optional |
body |
Indicates the software version of the device. In Z-Wave, the format is major version.minor version, for example, 1.1. |
$fwVersion |
Optional |
body |
Indicates the firmware version of the device. |
$hwVersion |
Optional |
body |
Indicates the hardware version of the device. |
$protocolType |
Optional |
body |
Indicates the protocol type used by the device. The value options are CoAP, huaweiM2M, Z-Wave, ONVIF, WPS, Hue, WiFi, J808, Gateway, ZigBee, and LWM2M. |
$bridgeId |
Optional |
body |
Identifies the bridge through which the device accesses the IoT platform. |
$status |
Optional |
body |
Indicates whether the device is online. The value options are ONLINE, OFFLINE, INBOX, and ABNORMAL. |
$statusDetail |
Optional |
body |
Indicates the device status. The specific value is determined by the value of status. For details, see $status and $statusDetail. |
$mute |
Optional |
body |
Indicates whether the device is in the frozen state. Based on the value of this parameter, the IoT platform determines whether to manage and store data reported by the device.
|
$supportedSecurity |
Optional |
body |
Indicates whether the security mode is supported.
|
$isSecurity |
Optional |
body |
Indicates whether the security mode is enabled.
|
$signalStrength |
Optional |
body |
Indicates the signal strength of the device. |
$sigVersion |
Optional |
body |
Indicates the SIG version of the device. |
$serialNumber |
Optional |
body |
Indicates the serial number of the device. |
$batteryLevel |
Optional |
body |
Indicates the battery level of the device. |
$status |
$statusDetail |
---|---|
OFFLINE |
NONE CONFIGURATION_PENDING |
ONLINE |
NONE COMMUNICATION_ERROR CONFIGURATION_ERROR BRIDGE_OFFLINE FIRMWARE_UPDATING DUTY_CYCLE NOT_ACTIVE |
When the device status information is reported to the IoT platform, status and statusDetail must be included. It is recommended that statusDetail be used only for display but not for logical judgment.
Response Parameters
Status Code: 200 OK
Request Example
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 Example
Response: Status Code: 200 OK
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot