From 7a951ecdc084ea8643e29e1ade59c1877fd7fbe5 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期一, 16 三月 2020 09:49:07 +0800 Subject: [PATCH] 2020-03-16 1.增加地热模块自动根据当前模式设置当前模式的温度接口. --- app/src/main/java/com/hdl/sdk/hdl_sdk/activity/SettingActivity.java | 2 app/src/main/java/com/hdl/sdk/hdl_sdk/activity/GeothermalActivity.java | 68 +++++++++-------- hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLCommand.java | 38 +++++++++ hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLAppliances/HDLGeothermal/Parser/GeothermalParser.java | 76 +++++++++++++++++++ README.md | 32 +++++++ hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java | 6 6 files changed, 185 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index 2022202..1e3026a 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,36 @@ HDL XW Android SDK Copyright (c) 2019 HDL Inc. +SDK 鐗堟湰锛歨dl_lib_v1.6.9.20200316_beta +1.澧炲姞灏忕被鏄�3鐨勯煶涔愭挱鏀惧櫒鏀寔; +2.鍔犲湴鐑ā鍧楀崟鐙帶鍒舵俯搴︽帴鍙o紝鎺ュ彛鑷姩鏍规嵁褰撳墠妯″紡璁剧疆褰撳墠妯″紡鐨勬俯搴﹀弬鏁帮紝涓嶉渶瑕佷笂灞傝嚜宸卞垽鏂�;(HDLCommand.geothermalCtrlTemp()) +3.澧炲姞绠�鏄撶紪绋嬫悳绱㈠洖澶�,閫氳繃閰嶇疆澶х被灏忕被锛岃澹板繀鍙澶囨ā鎷熸垚绗笁鏂归煶涔愭挱鏀惧櫒琚悳绱� ; +//閰嶇疆绠�鏄撶紪绋嬫悳绱㈢殑鍙傛暟 (SDK 鍒濆鍖栫殑鏃跺�欓厤缃竴娆�) +/** + * 閰嶇疆绠�鏄撶紪绋嬫悳绱㈣繑鍥炵殑榛樿鍙傛暟 + * @param mSDKLocalBigClass 澶х被ID + * @param mSDKLocalSmallClass 灏忕被ID + * @param mSDKLocalRemark 澶囨敞 + */ +public static void setEasyProgrammingSearchLocalData(int mSDKLocalBigClass, int mSDKLocalSmallClass, String mSDKLocalRemark); +澹板繀鍙澶噑etEasyProgrammingSearchLocalData(9,1,"澹板繀鍙煶涔�"); + +鍘熷湴鐑搴斿叧绯� +HDL 澹板繀鍙� +鏅�� 鑷姩 +鐧藉ぉ 鎵嬪姩 +绂诲紑 浼戠湢 +2020-03-15 淇敼涓� +HDL 澹板繀鍙� +鏅�� 鎵嬪姩 +鐧藉ぉ 鑷姩 +绂诲紑 浼戠湢 + +SDK 鐗堟湰锛歨dl_lib_v1.6.9.20200118_beta +1.淇RCU娣峰悎璋冨厜娣峰悎寮�鍏� 绫绘ā鍧楋紝浣跨敤鐗╃悊鍥炶矾闂; +2.澧炲姞榛樿鑾峰彇WiFi杩炴帴鐨勫箍鎾厤缃柟娉�; + + SDK 鐗堟湰锛歨dl_lib_v1.6.8.20191016_beta 1.鎺у埗閮芥敼鎴愬箍鎾舰寮忎簡锛屼笉璁板綍涓�绔彛鐨処P銆� @@ -34,4 +64,4 @@ ##Version 1.0.2 1.鏂板鍦扮儹妯″潡鍜屾柊椋庣郴缁熸帶鍒跺拰璇诲彇鐘舵�佹帴鍙o紱 2.鏂板鍦扮儹妯″潡鍜屾柊椋庣郴缁熸帶鍒舵紨绀洪〉闈紱 -3.targetSdkVersion 28锛� \ No newline at end of file +3.targetSdkVersion 28锛� diff --git a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/GeothermalActivity.java b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/GeothermalActivity.java index f474c9a..9fe35d5 100644 --- a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/GeothermalActivity.java +++ b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/GeothermalActivity.java @@ -141,6 +141,7 @@ } + } }); @@ -161,40 +162,43 @@ return; } proDialog.show(); - switch (gModeState) { - case 1: - //褰撳墠鍦扮儹妯″紡涓烘櫘閫� - HDLCommand.geothermalCtrl(appliancesInfo, GeothermalParser.gNormalTemp, tempInt);//鏅�氭俯搴� - ctrlId = GeothermalParser.gNormalTemp; - break; - case 2: - //褰撳墠鍦扮儹妯″紡涓虹櫧澶� - HDLCommand.geothermalCtrl(appliancesInfo, GeothermalParser.gDayTemp, tempInt);//鐧藉ぉ娓╁害 - ctrlId = GeothermalParser.gDayTemp; - break; - case 3: - //褰撳墠鍦扮儹妯″紡涓哄闂� - HDLCommand.geothermalCtrl(appliancesInfo, GeothermalParser.gNightTemp, tempInt);//澶滈棿娓╁害 - ctrlId = GeothermalParser.gNightTemp; - break; - case 4: - //褰撳墠鍦扮儹妯″紡涓虹寮� - HDLCommand.geothermalCtrl(appliancesInfo, GeothermalParser.gLeaveTemp, tempInt);//绂诲紑娓╁害 - ctrlId = GeothermalParser.gLeaveTemp; - break; - case 5: - proDialog.dismiss(); - //褰撳墠鍦扮儹妯″紡涓鸿嚜鍔� - showToast("鑷姩妯″紡锛屼笉鑳芥帶鍒舵俯搴�"); - break; - default: - proDialog.dismiss(); - //褰撳墠鍦扮儹妯″紡涓鸿嚜鍔� - showToast("鏈煡妯″紡锛屼笉鑳芥帶鍒舵俯搴�"); - break; + HDLCommand.geothermalCtrlTemp(appliancesInfo, tempInt);//鑷姩鏍规嵁褰撳墠妯″紡璁剧疆褰撳墠妯″紡鐨勬俯搴︺�� - } +// switch (gModeState) { +// +// case 1: +// //褰撳墠鍦扮儹妯″紡涓烘櫘閫� +// HDLCommand.geothermalCtrl(appliancesInfo, GeothermalParser.gNormalTemp, tempInt);//鏅�氭俯搴� +// ctrlId = GeothermalParser.gNormalTemp; +// break; +// case 2: +// //褰撳墠鍦扮儹妯″紡涓虹櫧澶� +// HDLCommand.geothermalCtrl(appliancesInfo, GeothermalParser.gDayTemp, tempInt);//鐧藉ぉ娓╁害 +// ctrlId = GeothermalParser.gDayTemp; +// break; +// case 3: +// //褰撳墠鍦扮儹妯″紡涓哄闂� +// HDLCommand.geothermalCtrl(appliancesInfo, GeothermalParser.gNightTemp, tempInt);//澶滈棿娓╁害 +// ctrlId = GeothermalParser.gNightTemp; +// break; +// case 4: +// //褰撳墠鍦扮儹妯″紡涓虹寮� +// HDLCommand.geothermalCtrl(appliancesInfo, GeothermalParser.gLeaveTemp, tempInt);//绂诲紑娓╁害 +// ctrlId = GeothermalParser.gLeaveTemp; +// break; +// case 5: +// proDialog.dismiss(); +// //褰撳墠鍦扮儹妯″紡涓鸿嚜鍔� +// showToast("鑷姩妯″紡锛屼笉鑳芥帶鍒舵俯搴�"); +// break; +// default: +// proDialog.dismiss(); +// //褰撳墠鍦扮儹妯″紡涓鸿嚜鍔� +// showToast("鏈煡妯″紡锛屼笉鑳芥帶鍒舵俯搴�"); +// break; +// +// } } diff --git a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/SettingActivity.java b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/SettingActivity.java index 28707df..d1b5357 100644 --- a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/SettingActivity.java +++ b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/SettingActivity.java @@ -95,7 +95,7 @@ deviceIDEditText.setText(strDeviceID); //閰嶇疆绠�鏄撶紪绋嬫悳绱㈢殑鍙傛暟 - HDLDeviceManager.setEasyProgrammingSearchLocalData(9, 90); + HDLDeviceManager.setEasyProgrammingSearchLocalData(9, 1); } diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLAppliances/HDLGeothermal/Parser/GeothermalParser.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLAppliances/HDLGeothermal/Parser/GeothermalParser.java index f099917..75b6587 100644 --- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLAppliances/HDLGeothermal/Parser/GeothermalParser.java +++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLAppliances/HDLGeothermal/Parser/GeothermalParser.java @@ -118,5 +118,81 @@ } + //鏍规嵁褰撳墠妯″紡璁剧疆娓╁害 + public static byte[] getGeothermalAddByteTemp(AppliancesInfo appliancesInfo, int state) { + try { + AppliancesInfo newInfo = null; + byte[] airBytes = null; + outter: + for (int i = 0; i < HDLDeviceManager.devicesDataList.size(); i++) { + if (appliancesInfo.getDeviceSubnetID() == HDLDeviceManager.devicesDataList.get(i).getSourceSubnetID() + && appliancesInfo.getDeviceDeviceID() == HDLDeviceManager.devicesDataList.get(i).getSourceDeviceID()) { + for (int j = 0; j < HDLDeviceManager.devicesDataList.get(i).getAppliancesInfoList().size(); j++) { + if (HDLDeviceManager.devicesDataList.get(i).getAppliancesInfoList().get(j).getBigType() == Configuration.GEOTHERMAL_BIG_TYPE + && HDLDeviceManager.devicesDataList.get(i).getAppliancesInfoList().get(j).getDeviceType() == HDLApConfig.TYPE_GEOTHERMAL_MODULE + && appliancesInfo.getChannelNum() == HDLDeviceManager.devicesDataList.get(i).getAppliancesInfoList().get(j).getChannelNum()) { + newInfo = HDLDeviceManager.devicesDataList.get(i).getAppliancesInfoList().get(j); + if (newInfo.getFeedbackState() == null) { + newInfo.setFeedbackState(new byte[10]); + } + airBytes = newInfo.getFeedbackState(); + break outter; + } + } + } + } + + byte[] addBytes = new byte[10]; + if (airBytes != null && airBytes.length >= 10) { + addBytes[0] = (byte) newInfo.getChannelNum(); + addBytes[1] = airBytes[1]; + addBytes[2] = 0; + addBytes[3] = airBytes[3]; + addBytes[4] = airBytes[4]; + addBytes[5] = airBytes[5]; + addBytes[6] = airBytes[6]; + addBytes[7] = airBytes[7]; + addBytes[8] = 0; + addBytes[9] = 0; + } else { + addBytes[0] = (byte) newInfo.getChannelNum(); + addBytes[1] = 0; + addBytes[2] = 0; + addBytes[3] = 1; + addBytes[4] = 30; + addBytes[5] = 30; + addBytes[6] = 30; + addBytes[7] = 30; + addBytes[8] = 0; + addBytes[9] = 0; + } + + switch (addBytes[3]) { + case gModeNormal: + addBytes[1] = 1;//鎵撳紑 + addBytes[4] = (byte) state; + break; + case gModeDay: + addBytes[1] = 1;//鎵撳紑 + addBytes[5] = (byte) state; + break; + case gModeNight: + addBytes[1] = 1;//鎵撳紑 + addBytes[6] = (byte) state; + break; + case gModeLeave: + addBytes[1] = 1;//鎵撳紑 + addBytes[7] = (byte) state; + break; + } + return addBytes; + + + } catch (Exception e) { + e.printStackTrace(); + return new byte[]{fail}; + } + + } } diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLCommand.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLCommand.java index 5062b57..129a88e 100644 --- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLCommand.java +++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLCommand.java @@ -402,6 +402,44 @@ } /** + * 鎺у埗鍦扮儹妯″潡娓╁害 + * + * @param info + * @param state 2020-03-15 + */ + public static void geothermalCtrlTemp(final AppliancesInfo info, int state) { +// HDLDeviceManager.isGeothermalCtrlSuccess = false; + HDLDeviceManager.setDeviceCtrlSuccessStateWithInfo(info, false); + if (geothermalCtrlFailTimer != null) { + geothermalCtrlFailTimer.cancel(); + geothermalCtrlFailTimer = null; + } + if (info.getBigType() == Configuration.GEOTHERMAL_BIG_TYPE) { + byte[] sendbytes = GeothermalParser.getGeothermalAddByteTemp(info, state); + addSendData(info, sendbytes, Configuration.CONTROL); + + geothermalCtrlFailTimer = new Timer(); + geothermalCtrlFailTimer.schedule(new TimerTask() { + @Override + public void run() { + if (!HDLDeviceManager.getDeviceCtrlSuccessStateWithInfo(info)) { + GeothermalBackInfo mGeothermalBackInfo = new GeothermalBackInfo(); + mGeothermalBackInfo.setAppliancesInfo(info); + EventBus.getDefault().post(new GeothermalFeedBackEvent(mGeothermalBackInfo, EventCode.FAILURE)); + } + } + }, 5000); + + + } else { + HDLLog.info("鍦扮儹妯″潡鎺у埗涓嶅湪鑼冨洿鍐�" + + " LittleType = " + info.getLittleType() + + " BigType = " + info.getBigType() + ); + } + } + + /** * 鎺у埗鍦扮儹妯″潡 * * @param info diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java index 0b21663..b94255d 100644 --- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java +++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java @@ -111,9 +111,9 @@ /** * 閰嶇疆绠�鏄撶紪绋嬫悳绱㈣繑鍥炵殑榛樿鍙傛暟 - * @param mSDKLocalBigClass - * @param mSDKLocalSmallClass - * @param mSDKLocalRemark + * @param mSDKLocalBigClass 澶х被ID + * @param mSDKLocalSmallClass 灏忕被ID + * @param mSDKLocalRemark 澶囨敞 */ public static void setEasyProgrammingSearchLocalData(int mSDKLocalBigClass, int mSDKLocalSmallClass, String mSDKLocalRemark){ SDKLocalBigClass = mSDKLocalBigClass; -- Gitblit v1.8.0