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