添加设备
接口功能
当有新设备接入网关后,通过调用设备添加接口将非直连设备接入物联网平台,并且获得平台分配的唯一设备逻辑ID。
接口描述
1
|
public static boolean addDevice(int cookie, IotaDeviceInfo deviceInfo); |
接口所属类
HubService
参数说明
字段 |
必选/可选 |
类型 |
描述 |
---|---|---|---|
cookie |
可选 |
int |
Cookie有效值为1-65535。 |
deviceInfo |
必选 |
设备信息。 |
字段 |
必选/可选 |
类型 |
描述 |
---|---|---|---|
nodeId |
必选 |
String |
关键参数,对接平台的网关下设备唯一标识,设备填写,平台用于判重。 |
name |
可选 |
String |
设备名称。 |
description |
可选 |
String |
设备描述。 |
manufacturerId |
必选 |
String |
厂商ID。 |
manufacturerName |
可选 |
String |
厂商名。 |
mac |
可选 |
String |
设备MAC地址。 |
location |
可选 |
String |
设备的位置。 |
deviceType |
必选 |
String |
设备类型。 |
model |
必选 |
String |
型号。
|
swVersion |
可选 |
String |
软件版本。 Z-Wave :主版本号.次版本号,如:1.1。 |
fwVersion |
可选 |
String |
固件版本。 |
hwVersion |
可选 |
String |
硬件版本。 |
protocolType |
必选 |
String |
协议类型 :Z-Wave。 |
bridgeId |
可选 |
String |
表示设备通过哪个Bridge接入平台。 |
status |
可选 |
String |
表示设备是否在线。
|
statusDetail |
可选 |
String |
状态详情,如果pcStatus不为空,则该参数必选。 参数值:
|
mute |
可选 |
String |
表示设备是否被屏蔽。
|
接口返回值
返回值 |
描述 |
---|---|
true |
成功。 |
false |
失败。 |
此返回值是调用接口的同步返回结果,返回true只是说明接口调用成功,并不说明添加成功,添加成功需要收到HubService发出的通知。
示例
开发者调用设备添加接口。
1
|
HubService.addDevice(29011, new IotaDeviceInfo("nodeId", "manufacturerId", "deviceType", "model", "protocolType")); |
开发者调用添加设备接口前需要实现Agent Lite提供的观察者接口。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
public class AgentliteHub implements MyObserver { public AgentliteHub (Observable hubService) { hubService. registerObserver (this); } // 接收设备添加响应消息 @Override public void update(IotaMessage arg0) { // TODO Auto-generated method stub System.out.println("收到hubservice通知:" + arg0); int mMsgType = arg0.getMsgType(); switch(mMsgType) { //收到添加设备的应答 case IodevService.IODEV_MSG_ADD_DEVICE_RSP: getAddDeviceAnswer(arg0); break; //收到删除设备的应答 case IodevService.IODEV_MSG_RMV_DEVICE_RSP: getRmvDeviceAnswer(arg0); break; //收到更新设备信息的应答 case IodevService.IODEV_MSG_UPDATE_DEVSTATUS_RSP: getUpdateStatusAnswer(arg0); break; case IodevService.IODEV_MSG_RECEIVE_CMD: getUnbindAnswer(arg0); break; default: break; } } |