18 扩展程序支持蓝牙网关说明 - MiEcosystem/NewXmPluginSDK GitHub Wiki

扩展程序支持蓝牙网关说明

通用蓝牙操作接口

参考蓝牙基础API文档

获取网关上传的与时间相关的设备数据

/**
 * ApiLevel: 22 获取设备属性和事件历史记录
 *
 * @param model
 * @param did       设备did
 * @param type      属性为prop,事件为event
 * @param key       属性名,不需要prop或者event前缀
 * @param timeStart 起始时间单位为秒
 * @param timeEnd   结束事件,单位为秒
 * @param callback  回调
 */
XmPluginHostApi.instance().getUserDeviceData(String model, String did, String type, String key, long timeStart,
                              long timeEnd, Callback<JSONArray> callback);

返回格式:{"uid":"XXX","did":"XXX","time":1490900914,"key":"XXX","type":"XXX","limit",20}

获取网关上传的与时间无关的设备数据

/**
 * ApiLevel: 32,从服务器批量获取设备属性
 *
 * @param jsonArray [{"did":"aaa", "props":["prop.aaa","prop.bbb"]},{"did":"123", "props":["prop.jjjj","prop.777"]}]
 * @param callback
 */
 XmPluginHostApi.instance().batchGetDeviceProps(String model, JSONArray jsonArray, Callback<String> callback);

返回格式:{"0":{"did":"xxx","props":["prop.temperature","prop.humidity"]},"1":{"did":"xxx","props": ["prop.temperature","prop.humidity"]}...}

判断当前设备是否通过蓝⽛⽹关扫描到了

/**
 * ApiLevel: 55
 * 判断当前设备是否通过蓝牙网关扫描到了
 * response code = 0 : 网关扫描到了设备
 *          code != 0, 网关没有扫描到设备
 */
public abstract void isBleGatewayConnected(String mac, Response.BleResponse<Void> response);

/**
 * ApiLevel:66
 * 当前设备列表是否有支持蓝牙网关的设备
 *
 * @param response code = 0 :有支持蓝牙网关的设备
 *                 code != 0, 没有支持蓝牙网关的设备
 */
public abstract void isBleGatewayExistInDeviceList(Response.BleResponse<Bundle> response);
⚠️ **GitHub.com Fallback** ⚠️