JLChen
2021-09-03 fb0dac414a5422139ea805923bde0884f055f58d
app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java
@@ -432,75 +432,77 @@
//        获取所有设备的状态。deviceStateBeanList为所有设备的状态列表
        List<DeviceStateBean> deviceStateBeanList = HDLCommand.getAllDevicesState();
//        第三方可根据自己的需求刷新设备页。以下为示例代码。
        for (DeviceStateBean deviceStateBean : deviceStateBeanList) {
            //注意!第三方应该将设备集合全部在这里遍历一遍以下操作,并更新状态值。这里仅作为Demo演示,只判断一个。
        if(deviceStateBeanList != null) {
            for (DeviceStateBean deviceStateBean : deviceStateBeanList) {
                //注意!第三方应该将设备集合全部在这里遍历一遍以下操作,并更新状态值。这里仅作为Demo演示,只判断一个。
            //先判断此模块是否为当前设备的模块
            if (deviceStateBean.getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID()
                    && deviceStateBean.getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID()) {
                //先判断此模块是否为当前设备的模块
                if (deviceStateBean.getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID()
                        && deviceStateBean.getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID()) {
//              再判断是什么类型的设备。
                switch (deviceStateBean.getDeviceType()) {
                    case HDLApConfig.TYPE_LIGHT_DIMMER:
                        //判断是哪个回路的设备
                        if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                            appliancesInfo.setCurState(deviceStateBean.getCurState());
                        }
                        break;
                    case HDLApConfig.TYPE_LIGHT_RELAY:
                        //判断是哪个回路的设备
                        if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                            appliancesInfo.setCurState(deviceStateBean.getCurState());
                        }
                        break;
                    case HDLApConfig.TYPE_LIGHT_MIX_DIMMER:
                        //判断是哪个回路的设备
                        if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                            appliancesInfo.setCurState(deviceStateBean.getCurState());
                        }
                        break;
                    case HDLApConfig.TYPE_LIGHT_MIX_RELAY:
                        //判断是哪个回路的设备
                        if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                            appliancesInfo.setCurState(deviceStateBean.getCurState());
                        }
                        break;
                    case HDLApConfig.TYPE_CURTAIN_GLYSTRO:
                        //判断是哪个回路的设备
                        if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                            appliancesInfo.setCurState(deviceStateBean.getCurState());
                        }
                        break;
                    case HDLApConfig.TYPE_CURTAIN_ROLLER:
                        //判断是哪个回路的设备
                        if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                            appliancesInfo.setCurState(deviceStateBean.getCurState());
                        }
                        break;
                    case HDLApConfig.TYPE_CURTAIN_MODULE:
                        //判断是哪个回路的设备
                        if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                            appliancesInfo.setCurState(deviceStateBean.getCurState());
                        }
                        break;
                    case HDLApConfig.TYPE_AC_HVAC:
                        //判断是哪个回路的设备
                        if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                            appliancesInfo.setArrCurState(deviceStateBean.getArrCurState());
                        }
                        break;
                    case HDLApConfig.TYPE_AC_PANEL:
                        //判断是哪个回路的设备
                        if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                            appliancesInfo.setArrCurState(deviceStateBean.getArrCurState());
                        }
                        break;
                    switch (deviceStateBean.getDeviceType()) {
                        case HDLApConfig.TYPE_LIGHT_DIMMER:
                            //判断是哪个回路的设备
                            if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                                appliancesInfo.setCurState(deviceStateBean.getCurState());
                            }
                            break;
                        case HDLApConfig.TYPE_LIGHT_RELAY:
                            //判断是哪个回路的设备
                            if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                                appliancesInfo.setCurState(deviceStateBean.getCurState());
                            }
                            break;
                        case HDLApConfig.TYPE_LIGHT_MIX_DIMMER:
                            //判断是哪个回路的设备
                            if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                                appliancesInfo.setCurState(deviceStateBean.getCurState());
                            }
                            break;
                        case HDLApConfig.TYPE_LIGHT_MIX_RELAY:
                            //判断是哪个回路的设备
                            if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                                appliancesInfo.setCurState(deviceStateBean.getCurState());
                            }
                            break;
                        case HDLApConfig.TYPE_CURTAIN_GLYSTRO:
                            //判断是哪个回路的设备
                            if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                                appliancesInfo.setCurState(deviceStateBean.getCurState());
                            }
                            break;
                        case HDLApConfig.TYPE_CURTAIN_ROLLER:
                            //判断是哪个回路的设备
                            if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                                appliancesInfo.setCurState(deviceStateBean.getCurState());
                            }
                            break;
                        case HDLApConfig.TYPE_CURTAIN_MODULE:
                            //判断是哪个回路的设备
                            if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                                appliancesInfo.setCurState(deviceStateBean.getCurState());
                            }
                            break;
                        case HDLApConfig.TYPE_AC_HVAC:
                            //判断是哪个回路的设备
                            if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                                appliancesInfo.setArrCurState(deviceStateBean.getArrCurState());
                            }
                            break;
                        case HDLApConfig.TYPE_AC_PANEL:
                            //判断是哪个回路的设备
                            if (deviceStateBean.getChannelNum() == appliancesInfo.getChannelNum()) {
                                appliancesInfo.setArrCurState(deviceStateBean.getArrCurState());
                            }
                            break;
                    default:
                        break;
                        default:
                            break;
                    }
                }
            }
            }
        }
    }