From d6d95564b016c281bfa2e8c2454db8d71083e858 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期二, 26 十一月 2019 17:48:09 +0800 Subject: [PATCH] 2019-11-26 1.控制命令改为广播模式。 --- hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Parser/DeviceParser.java | 92 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 92 insertions(+), 0 deletions(-) diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Parser/DeviceParser.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Parser/DeviceParser.java index 42d672f..c8c5f41 100644 --- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Parser/DeviceParser.java +++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Parser/DeviceParser.java @@ -4,6 +4,8 @@ import com.hdl.sdk.hdl_core.HDLAppliances.Config.HDLApConfig; import com.hdl.sdk.hdl_core.HDLDeviceManger.Bean.AppliancesInfo; import com.hdl.sdk.hdl_core.HDLDeviceManger.Bean.DevicesData; +import com.hdl.sdk.hdl_core.HDLDeviceManger.Core.HDLDeviceManager; +import com.hdl.sdk.hdl_core.HDLDeviceManger.Core.HandleSearch; import com.hdl.sdk.hdl_core.Util.LogUtil.HDLLog; import java.util.ArrayList; @@ -690,4 +692,94 @@ } } + + /** + * + * @param bigType + * @param littleType + * @param mSubnetID + * @param mDeviceID + * @param parentRemarks + * @return + */ + public static DevicesData addDevicesManuallyWithoutSearchingAll(int bigType, int littleType, int mSubnetID, int mDeviceID, int port, String parentRemarks, ArrayList<String> parentRemarksList) { + boolean bWantData = false; + DevicesData devicesData = new DevicesData(); + devicesData.setSourceSubnetID(mSubnetID); + devicesData.setSourceDeviceID(mDeviceID); + devicesData.setRemark(parentRemarks); + + List<AppliancesInfo> appliancesInfoList = new ArrayList<>(); + if (isWantData(bigType, littleType)) { + for(int i = 0; i<parentRemarksList.size();i++){ + appliancesInfoList.add( getDevicesInfo(devicesData, bigType, littleType,i+1, port, parentRemarks, parentRemarksList.get(i))); + } + bWantData = true; + +// HDLLog.I( "鍚戞ā鍧楁坊鍔犲洖璺細"+"澶х被锛�" + mBigType + " 灏忕被锛�" + mLittleType +" 妯″潡澶囨敞" + mRemarks ); + } else { +// HDLLog.I( "涓嶆槸瑕佹坊鍔犵殑璁惧锛氬ぇ绫伙細" + mBigType + " 灏忕被锛�" + mLittleType +" 妯″潡澶囨敞" + mRemarks ); + } + + if (bWantData) { + devicesData.setAppliancesInfoList(appliancesInfoList); + HDLDeviceManager.devicesDataList.add(devicesData); + + HandleSearch.OnDeviceListGetSuccessCallBack(); + }else { + devicesData = null; + } + + return devicesData; + } + + private static AppliancesInfo getDevicesInfo(DevicesData devicesData, int bigType, int littleType, int curChannelNum, int port, String parentRemarks, String mRemarks){ + AppliancesInfo appliancesInfo = new AppliancesInfo(); + /**鏍规嵁绫诲埆锛岃祴鍊兼搷浣滅爜绛変竴浜涢噸瑕佷俊鎭�*/ + switch (bigType) { + case Configuration.LIGTH_BIG_TYPE: + parseLightData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, port, ""); + break; + case Configuration.CURTAIN_BIG_TYPE: + parseCurtainData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, port, ""); + break; + case Configuration.AIR_BIG_TYPE: + parseAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, port, ""); + break; + case Configuration.AUDIO_BIG_TYPE: + parseAudioData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, port, ""); + break; + case Configuration.LOGIC_BIG_TYPE: + parseLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, port, ""); + break; + case Configuration.GLOBAL_LOGIC_BIG_TYPE: + parseGlobalLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, port, ""); + break; + case Configuration.SENSOR_BIG_TYPE: + parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, port, ""); + break; + //2019-07-08 鏂板鍦扮儹鍜屾柊椋庣被 + case Configuration.GEOTHERMAL_BIG_TYPE://鍦扮儹 + parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, port, ""); + break; + case Configuration.FRESH_AIR_BIG_TYPE: + parseFreshAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, port, ""); + break; + default: +// appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE); + break; + } + + + String key = "K" + appliancesInfo.getBigType() + + "-" + appliancesInfo.getLittleType() + + "-" + appliancesInfo.getDeviceSubnetID() + + "-" + appliancesInfo.getDeviceDeviceID() + + "-" + appliancesInfo.getChannelNum(); + appliancesInfo.setRemarks(mRemarks); + appliancesInfo.setDeviceKey(key);//2019-8-2 娣诲姞鍞竴鏍囪瘑key + return appliancesInfo; + + } + } -- Gitblit v1.8.0