网关管理

更新时间:2024-06-11 03:56:33下载pdf

获取已添加的网关列表

接口说明

ILockSite # void getGatewayDeviceList(long startId, IThingResultCallback<ArrayList<DeviceBeanWrapper>> callback);

参数说明

参数 说明
start_id 门锁列表分页游标。第一次传 0,后续分页查询上一次返回结果中最后一个设备的 gatewayIndexId 的值
callback 门锁列表结果回调

示例代码

ThingOSLock.newSiteInstance(siteId).getGatewayDeviceList(startId, new IThingResultCallback<ArrayList<DeviceBeanWrapper>>() {
    @Override
    public void onSuccess(ArrayList<DeviceBeanWrapper> result) {
        //Got the gateway devices successfully
    }

    @Override
    public void onError(String errorCode, String errorMessage) {
       //Failed to get the gateway devices
    }
});

获取已绑定的子设备列表

接口说明

ILockGateway # void getSubDeviceList(int pageSize, int startId, IThingResultCallback<SubDeviceListResp> listener);

参数说明

参数 说明
pageSize 每页返回的数据
start_id 门锁列表分页游标。第一次传 0,后续分页查询上一次返回结果中最后一个设备的 gatewayIndexId 的值

示例代码

ThingOSLock.newGatewayInstance(siteId, deviceId).getSubDeviceList(20, 0, new IThingResultCallback<SubDeviceListResp>() {
        @Override
        public void onSuccess(SubDeviceListResp result) {
          //Got sub-devices successfully
        }

        @Override
        public void onError(String errorCode, String errorMessage) {
          //Failed to get sub-devices
        }
    });

获取待绑定的蓝牙子设备列表

接口说明

ILockSite # void getUnbinedDeviceList(int startId, IThingResultCallback<SubDeviceListResp> listener);

参数说明

参数 说明
start_id 门锁列表分页游标。第一次传 0,后续分页查询上一次返回结果中最后一个设备的 gatewayIndexId 的值
callback 门锁列表结果回调

示例代码

ThingOSLock.newSiteInstance(siteId).getUnbinedDeviceList(0, new IThingResultCallback<SubDeviceListResp>() {
        @Override
        public void onSuccess(SubDeviceListResp result) {
          //Got the Bluetooth sub-devices to be bound
        }

        @Override
        public void onError(String errorCode, String errorMessage) {
          // Failed to get the Bluetooth sub-devices to be bound
        }
  });

蓝牙网关在关联子设备时,可以通过该方法获取当前站点下、尚未关联到网关下的蓝牙门锁设备列表。

蓝牙网关绑定子设备

接口说明

ILockGateway # void bindSubDevices(List<String> devIds, IThingResultCallback<Boolean> listener);

参数说明

参数 说明
devIds 待绑定的设备 ID 集合
listener 结果回调

示例代码

ThingOSLock.newGatewayInstance(siteId, deviceId).bindSubDevices(devIds, new IThingResultCallback<Boolean>() {
        @Override
        public void onSuccess(Boolean result) {
          //Bound sub-devices with the gateway successfully
        }

        @Override
        public void onError(String errorCode, String errorMessage) {
          //Failed to bind sub-devices with the gateway
        }
    });

蓝牙网关解绑子设备

接口说明

ILockGateway # void bindSubDevices(List<String> devIds, IThingResultCallback<Boolean> listener);

参数说明

参数 说明
devIds 待解绑的设备 ID 集合
listener 结果回调

示例代码

ThingOSLock.newGatewayInstance(siteId, deviceId).unbindSubDevices(devIds, new IThingResultCallback<Boolean>() {
        @Override
        public void onSuccess(Boolean result) {
          //Unbind sub-devices from the gateway successfully
        }

        @Override
        public void onError(String errorCode, String errorMessage) {
          //Failed to unbind sub-devices from the gateway
        }
    });

修改网关名称

接口说明

ILockGateway # void updateName(String name, IThingResultCallback<Boolean> callback);

参数说明

参数 说明
name 网关名称
callback 结果回调

示例代码

ThingOSLock.newGatewayInstance(siteId, deviceId).updateName(name, new IThingResultCallback<Boolean>() {
        @Override
        public void onSuccess(Boolean result) {
          //Renamed the gateway successfully
        }

        @Override
        public void onError(String errorCode, String errorMessage) {
          //Failed to rename the gateway
        }
    });

注册/解除子设备状态监听

接口说明

//注册监听
ILockGateway # void registerSubDevListener(ISubDevListener listener);

//解除监听
ILockGateway # void unregisterSubDevListener();

参数说明

参数 说明
listener 监听回调

示例代码

ThingOSLock.newGatewayInstance(siteId, deviceId).registerSubDevListener(new ISubDevListener() {
        @Override
        public void onSubDevDpUpdate(String nodeId, String dps) {
        }

        @Override
        public void onSubDevRemoved(String devId) {
        }

        @Override
        public void onSubDevAdded(String devId) {
        }

        @Override
        public void onSubDevInfoUpdate(String devId) {
        }

        @Override
        public void onSubDevStatusChanged(List<String> onlineDeviceIds, List<String> offlineDeviceIds) {
        }
    });

ThingOSLock.newGatewayInstance(siteId, deviceId).unregisterSubDevListener();