| | |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 添加场景设备回路 |
| | | * 如果存在相同子网号 设备号,则当成混合模块添加到该回路下,不存在则新添加模块 |
| | | * @param mSubnetID |
| | | * @param mDeviceID |
| | | * @param mChannelNum 回路号 |
| | | * @param mAreaNum //场景 区域号 |
| | | * @param mAreaSceneNum //场景 当前区域场景号 |
| | | * @param mChannelRemark |
| | | * @param parentRemarks |
| | | * @param bSaveAndCallBack 是否马上保存本地并且推送DevicesInfoEvent 事件 |
| | | * @return |
| | | * |
| | | * 场景这里的回路号需要注意: 相同子网号和设备号下的场景需要累加不重复,逻辑模块为例:1区有3个表,2区有2个表 总共5个场景,所以(2区表1 回路号为4、2区表2 回路号为5) |
| | | * 不然如果回路号不对简易编程搜索备注的话会出错 |
| | | */ |
| | | public static DevicesData addScenesDevicesListWithoutSearching(int port, int mSubnetID, int mDeviceID, int mAreaNum, int mAreaSceneNum, String mChannelRemark, String parentRemarks, boolean bSaveAndCallBack) { |
| | | public static DevicesData addScenesDevicesListWithoutSearching(int port, int mSubnetID, int mDeviceID, int mChannelNum, int mAreaNum, int mAreaSceneNum, String mChannelRemark, String parentRemarks, boolean bSaveAndCallBack) { |
| | | // boolean bWantData = false; |
| | | |
| | | int bigType = Configuration.GLOBAL_LOGIC_BIG_TYPE; |
| | |
| | | |
| | | |
| | | if (isFindDevicesData) { |
| | | AppliancesInfo mAppliancesInfo = getDevicesInfo(devicesData, bigType, littleType, mAreaNum, port, parentRemarks, mChannelRemark); |
| | | AppliancesInfo mAppliancesInfo = getDevicesInfo(devicesData, bigType, littleType, mChannelNum, port, parentRemarks, mChannelRemark); |
| | | LogicMode mLogicMode = new LogicMode(); |
| | | mLogicMode.setAreaNum(mAreaNum); |
| | | mLogicMode.setAreaSceneNum(mAreaSceneNum); |
| | |
| | | HandleSearch.OnDeviceListGetSuccessCallBack();} |
| | | } else { |
| | | List<AppliancesInfo> appliancesInfoList = new ArrayList<>(); |
| | | AppliancesInfo mAppliancesInfo = getDevicesInfo(devicesData, bigType, littleType, mAreaNum, port, parentRemarks, mChannelRemark); |
| | | AppliancesInfo mAppliancesInfo = getDevicesInfo(devicesData, bigType, littleType, mChannelNum, port, parentRemarks, mChannelRemark); |
| | | LogicMode mLogicMode = new LogicMode(); |
| | | mLogicMode.setAreaNum(mAreaNum); |
| | | mLogicMode.setAreaSceneNum(mAreaSceneNum); |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 添加逻辑模块的场景设备回路 |
| | | * 如果存在相同子网号 设备号,则当成混合模块添加到该回路下,不存在则新添加模块 |
| | | * @param mSubnetID |
| | | * @param mDeviceID |
| | | * @param mChannelNum 回路号 |
| | | * @param mAreaNum //场景 区域号 |
| | | * @param mAreaSceneNum //场景 当前区域场景号 |
| | | * @param mChannelRemark |
| | | * @param parentRemarks |
| | | * @param bSaveAndCallBack 是否马上保存本地并且推送DevicesInfoEvent 事件 |
| | | * @return |
| | | */ |
| | | public static DevicesData addLogicScenesDevicesListWithoutSearching(int port, int mSubnetID, int mDeviceID, int mChannelNum, int mAreaNum, int mAreaSceneNum, String mChannelRemark, String parentRemarks, boolean bSaveAndCallBack) { |
| | | // boolean bWantData = false; |
| | | |
| | | int bigType = Configuration.LOGIC_BIG_TYPE; |
| | | int littleType = 0; |
| | | if (isWantData(bigType, littleType)) { |
| | | DevicesData devicesData = new DevicesData(); |
| | | devicesData.setSourceSubnetID(mSubnetID); |
| | | devicesData.setSourceDeviceID(mDeviceID); |
| | | devicesData.setRemark(parentRemarks); |
| | | |
| | | Boolean isFindDevicesData = false; |
| | | int index = 0; |
| | | for (int i = 0; i < devicesDataList.size(); i++) { |
| | | if (devicesDataList.get(i).getSourceSubnetID() == mSubnetID && devicesDataList.get(i).getSourceDeviceID() == mDeviceID) { |
| | | index = i; |
| | | isFindDevicesData = true; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | |
| | | if (isFindDevicesData) { |
| | | AppliancesInfo mAppliancesInfo = getDevicesInfo(devicesData, bigType, littleType, mChannelNum, port, parentRemarks, mChannelRemark); |
| | | LogicMode mLogicMode = new LogicMode(); |
| | | mLogicMode.setAreaNum(mAreaNum); |
| | | mLogicMode.setAreaSceneNum(mAreaSceneNum); |
| | | mAppliancesInfo.setLogicMode(mLogicMode); |
| | | devicesDataList.get(index).getAppliancesInfoList().add(mAppliancesInfo); |
| | | devicesData = devicesDataList.get(index); |
| | | if(bSaveAndCallBack){ |
| | | HandleSearch.OnDeviceListGetSuccessCallBack();} |
| | | } else { |
| | | List<AppliancesInfo> appliancesInfoList = new ArrayList<>(); |
| | | AppliancesInfo mAppliancesInfo = getDevicesInfo(devicesData, bigType, littleType, mChannelNum, port, parentRemarks, mChannelRemark); |
| | | LogicMode mLogicMode = new LogicMode(); |
| | | mLogicMode.setAreaNum(mAreaNum); |
| | | mLogicMode.setAreaSceneNum(mAreaSceneNum); |
| | | mAppliancesInfo.setLogicMode(mLogicMode); |
| | | appliancesInfoList.add(mAppliancesInfo); |
| | | devicesData.setAppliancesInfoList(appliancesInfoList); |
| | | devicesDataList.add(devicesData); |
| | | if(bSaveAndCallBack){ |
| | | HandleSearch.OnDeviceListGetSuccessCallBack();} |
| | | } |
| | | |
| | | |
| | | return devicesData; |
| | | |
| | | } else { |
| | | return null; |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |