订阅设备信息
接口定义
通过 WebSocket 监听服务端实时推送的设备上下线状态及属性数据。
sdk.subscribeDevices(deviceList: string[] | deviceInfo[]): Promise<void>;
参数说明
参数名 | 参数描述 | 类型 | 必填 |
deviceList | 设备 ID 列表,或设备信息列表(deviceInfo 需包含 DeviceId 字段)。 | string[] | deviceInfo[] | 是 |
示例代码
通过设备 ID 列表订阅。
sdk.subscribeDevices(['Product1/Device1','Product1/Device2','Product2/Device3']);
通过设备列表订阅。
sdk.requestApi('AppGetFamilyDeviceList', { FamilyId: 'default' }).then(data => {sdk.subscribeDevices(data.DeviceList);});
手动建立长连接
手动连接 WebSocket。一般不需要调用,除非关闭了
sdkOptions.disconnectWhenAppHide
选项。接口定义
sdk.connectWebsocket() => Promise<void>;
示例代码
sdk.connectWebsocket();
手动断开长连接
手动断开 WebSocket。一般不需要调用,除非关闭了
sdkOptions.autoReconnect
与 sdkOptions.connectWhenAppShow
选项。接口定义
sdk.disconnectWebsocket() => Promise<void>;
示例代码
sdk.disconnectWebsocket();
监听事件
监听 WebSocket 事件。
sdk.on(type: EventTypes, listener: (...args) => void) => void;
参数
参数名 | 参数描述 | 类型 | 必填 |
type | 要监听的事件。 | EventTypes | 是 |
listener | 事件触发时的回调函数。 | (param) => void | 是 |
示例代码
const { EventTypes } = require('qcloud-iotexplorer-appdev-sdk').AppDevSdk.constants;// 监听设备上报数据推送sdk.on(EventTypes.WsReport, ({ deviceId, deviceData }) => {console.log('websocket device report', deviceId, deviceData);});
取消监听事件
取消监听 WebSocket 事件。
接口定义
sdk.off(type: EventTypes, listener: (...args) => void) => void;
参数说明
参数名 | 参数描述 | 类型 | 必填 |
type | 要取消监听的事件 | EventTypes | 是 |
listener | 要取消监听的事件的回调函数,不传则清除该事件的所有回调函数。 | (param) => void | null | 否 |
示例代码
const { EventTypes } = require('qcloud-iotexplorer-appdev-sdk').AppDevSdk.constants;const listener = ({ deviceId, deviceData }) => {console.log('websocket device report', deviceId, deviceData);};// 监听设备上报数据推送sdk.on(EventTypes.WsReport, listener);// 取消监听设备上报数据推送sdk.off(EventTypes.WsReport, listener);
事件列表
事件类型 | 描述 | 参数 |
EventTypes.WsReport | 设备上报数据。 | { deviceId, deviceData } |
EventTypes.WsControl | 设备控制数据。 | { deviceId, deviceData } |
EventTypes.WsStatusChange | 设备在线状态变更。 | { deviceId, deviceStatus } |
EventTypes.WsEventReport | 设备事件上报。 | { Payload } |
EventTypes.WsActionReport | 设备行为上报。 | { Payload } |
EventTypes.WsActionPush | 设备行为下发。 | { Payload } |
EventTypes.WsPush | WebSocket 推送原始数据。 | { push, action, params } |
EventTypes.WsError | WebSocket 发生错误。 | WebSocket error 事件的原始错误信息 |
EventTypes.WsClose | WebSocket 连接关闭。 | { code, reason } |