From 2e80ba72598546c8f80ab50d2395e70e0d9e66a0 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 24 六月 2020 15:15:13 +0800
Subject: [PATCH] 2020-06-24 1.修改添加场景方法,需要指定回路号

---
 app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java                     |   14 +
 app/src/main/res/layout/activity_add_devices.xml                                     |   32 +++
 hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Parser/DeviceParser.java |   81 +++++++++
 app/src/main/java/com/hdl/sdk/hdl_sdk/activity/AddDevicesActivity.java               |   80 ++++++---
 app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java                     |  128 ++++++++-------
 app/src/main/res/values/strings.xml                                                  |    2 
 hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLSDK.java         |  128 ++++++++--------
 hdl_core/build.gradle                                                                |    4 
 8 files changed, 300 insertions(+), 169 deletions(-)

diff --git a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/AddDevicesActivity.java b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/AddDevicesActivity.java
index 6f85fac..77ddb5b 100644
--- a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/AddDevicesActivity.java
+++ b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/AddDevicesActivity.java
@@ -59,7 +59,7 @@
     private String parentRemarks;
     private ArrayList<String> parentRemarksList = new ArrayList();
 
-    private EditText et_subnetID, et_deviceID, et_bitType, et_littleType, et_remarks, et_remarks_mk, et_mChannelNum,et_scene,et_mPort;
+    private EditText et_subnetID, et_deviceID, et_bitType, et_littleType, et_remarks, et_remarks_mk, et_mChannelNum,et_scene,et_mPort,et_scene2;
     private Button btn_add,btn_scene,btn_addAll;
 
     @Override
@@ -78,6 +78,7 @@
         et_mPort = findViewById(R.id.et_mPort);
 
         et_scene = findViewById(R.id.et_scene);
+        et_scene2 = findViewById(R.id.et_scene2);
 
         btn_add = findViewById(R.id.btn_add);
         btn_scene = findViewById(R.id.btn_scene);
@@ -138,7 +139,7 @@
             return;
         }
         String mChannelNumStr = et_mChannelNum.getText().toString();
-        if (TextUtils.isEmpty(littleTypeStr)) {
+        if (TextUtils.isEmpty(mChannelNumStr)) {
             showToast("鍥炶矾鍙蜂笉鑳戒负绌�");
             return;
         }
@@ -211,6 +212,7 @@
      *
      * @param mSubnetID
      * @param mDeviceID
+     * @param mChannelNum 鍥炶矾鍙� 杩欓噷鐨勫洖璺彿闇�瑕佹敞鎰忥紝鐩稿悓瀛愮綉鍙峰拰璁惧鍙蜂笅鐨勫満鏅渶瑕佺疮鍔犱笉閲嶅锛岄�昏緫妯″潡涓轰緥锛�1鍖烘湁3涓〃锛�2鍖烘湁2涓〃 鎬诲叡5涓満鏅紝鎵�浠ワ紙2鍖鸿〃1 鍥炶矾鍙蜂负4銆�2鍖鸿〃2 鍥炶矾鍙蜂负5锛�
      * @param mAreaNum       //鍦烘櫙 鍖哄煙鍙�
      * @param mAreaSceneNum  //鍦烘櫙 褰撳墠鍖哄煙鍦烘櫙鍙�
      * @param mChannelRemark 璇诲彇鍦烘櫙鐨勫娉ㄥ悕绉� 渚嬪: 鍏ヤ綇銆佽捣搴婃ā寮忋�侀槄璇绘ā寮�
@@ -218,9 +220,9 @@
      * @param bSaveAndCallBack 鏄惁椹笂淇濆瓨鏈湴骞朵笖鎺ㄩ�丏evicesInfoEvent 浜嬩欢
      * @return
      */
-    private void AddScenesDevices(int mSubnetID, int mDeviceID, int mAreaNum, int mAreaSceneNum, String mChannelRemark, String parentRemarks, boolean bSaveAndCallBack) {
+    private void AddScenesDevices(int mSubnetID, int mDeviceID, int mChannelNum, int mAreaNum, int mAreaSceneNum, String mChannelRemark, String parentRemarks, boolean bSaveAndCallBack) {
         //娣诲姞鍦烘櫙
-        DevicesData mScenesData = DeviceParser.addScenesDevicesListWithoutSearching(port, mSubnetID, mDeviceID, mAreaNum, mAreaSceneNum, mChannelRemark, parentRemarks,true);
+        DevicesData mScenesData = DeviceParser.addScenesDevicesListWithoutSearching(port, mSubnetID, mDeviceID, mChannelNum, mAreaNum, mAreaSceneNum, mChannelRemark, parentRemarks,true);
     }
 
 
@@ -247,6 +249,13 @@
             showToast("绔彛鍙蜂笉鑳戒负绌�");
             return;
         }
+
+        String mChannelNumStr = et_mChannelNum.getText().toString();
+        if (TextUtils.isEmpty(mChannelNumStr)) {
+            showToast("鍥炶矾鍙蜂笉鑳戒负绌�");
+            return;
+        }
+
 
 //        String bitTypeStr = et_bitType.getText().toString();
 //        if (TextUtils.isEmpty(bitTypeStr)) {
@@ -279,11 +288,19 @@
             return;
         }
 
-        String et_sceneString = et_scene.getText().toString();
-        if (TextUtils.isEmpty(et_sceneString)) {
-            showToast("鍦烘櫙ID涓嶈兘涓虹┖");
+        String et_AreaNumString = et_scene.getText().toString();
+        if (TextUtils.isEmpty(et_AreaNumString)) {
+            showToast("鍦烘櫙锛氬尯鍙蜂笉鑳戒负绌�");
             return;
         }
+
+        String et_scene2String = et_scene2.getText().toString();
+        if (TextUtils.isEmpty(et_scene2String)) {
+            showToast("鍦烘櫙锛氬満鏅彿涓嶈兘涓虹┖");
+            return;
+        }
+
+
 
 
         mSubnetID = Integer.parseInt(subnetIDStr);
@@ -291,11 +308,12 @@
         port =  Integer.parseInt(mPortStr);
 //        bigType = Integer.parseInt(bitTypeStr);
 //        littleType = Integer.parseInt(littleTypeStr);
-//        mChannelNum = Integer.parseInt(mChannelNumStr);
+        mChannelNum = Integer.parseInt(mChannelNumStr);
         parentRemarks = remarksMkString;
-        int sceneID = Integer.parseInt(et_sceneString);
+        int areaID = Integer.parseInt(et_AreaNumString);
+        int sceneID = Integer.parseInt(et_scene2String);
 
-        DevicesData mScenesData = DeviceParser.addScenesDevicesListWithoutSearching(port, mSubnetID, mDeviceID, sceneID, sceneID, remarksString, parentRemarks,true);
+        DevicesData mScenesData = DeviceParser.addScenesDevicesListWithoutSearching(port, mSubnetID, mDeviceID, mChannelNum, areaID, sceneID, remarksString, parentRemarks,true);
         if (mScenesData != null) {
             showToast("娣诲姞鎴愬姛");
         } else {
@@ -375,26 +393,34 @@
 //        DeviceParser.addScenesDevicesListWithoutSearching(port, mSubnetID, mDeviceID, 5, 5, "浼氬妯″紡", parentRemarks,true);
 
 
-        //娣诲姞涓�涓�4璺户鐢靛櫒
-        DeviceParser.addDevicesListWithoutSearching(port, Configuration.LIGTH_BIG_TYPE, 0, 111, 3, 1, "鍚у彴鐏�", "4璺户鐢靛櫒",false);
-        DeviceParser.addDevicesListWithoutSearching(port, Configuration.LIGTH_BIG_TYPE, 0, 111, 3, 2, "浼戦棽鐏�", "4璺户鐢靛櫒",false);
-        DeviceParser.addDevicesListWithoutSearching(port, Configuration.LIGTH_BIG_TYPE, 0, 111, 3, 3, "鐢佃鐏�", "4璺户鐢靛櫒",false);
-        DeviceParser.addDevicesListWithoutSearching(port, Configuration.LIGTH_BIG_TYPE, 0, 111, 3, 4, "寤婄伅", "4璺户鐢靛櫒",false);
+//        //娣诲姞涓�涓�4璺户鐢靛櫒
+//        DeviceParser.addDevicesListWithoutSearching(port, Configuration.LIGTH_BIG_TYPE, 0, 111, 3, 1, "鍚у彴鐏�", "4璺户鐢靛櫒",false);
+//        DeviceParser.addDevicesListWithoutSearching(port, Configuration.LIGTH_BIG_TYPE, 0, 111, 3, 2, "浼戦棽鐏�", "4璺户鐢靛櫒",false);
+//        DeviceParser.addDevicesListWithoutSearching(port, Configuration.LIGTH_BIG_TYPE, 0, 111, 3, 3, "鐢佃鐏�", "4璺户鐢靛櫒",false);
+//        DeviceParser.addDevicesListWithoutSearching(port, Configuration.LIGTH_BIG_TYPE, 0, 111, 3, 4, "寤婄伅", "4璺户鐢靛櫒",false);
+//
+//        //娣诲姞涓�涓共鑺傜偣浼犳劅鍣�
+//        DeviceParser.addDevicesListWithoutSearching(port, Configuration.SENSOR_BIG_TYPE, 0, 111, 99, 1, "骞茶妭鐐�", "骞茶妭鐐�",false);
+//
+//
+//        //娣诲姞涓�涓�2璺獥甯�
+//        DeviceParser.addDevicesListWithoutSearching(port, Configuration.CURTAIN_BIG_TYPE, 2, 111, 8, 1, "绐楀笜", "2璺獥甯�",false);
+//        DeviceParser.addDevicesListWithoutSearching(port, Configuration.CURTAIN_BIG_TYPE, 2, 111, 8, 2, "绾辩獥", "2璺獥甯�",false);
+//        //娣诲姞涓�涓紑鍚堝笜
+//        DeviceParser.addDevicesListWithoutSearching(port, Configuration.CURTAIN_BIG_TYPE, 1, 111, 92, 1, "寮�鍚堝笜", "寮�鍚堝笜",false);
+//
+//        //娣诲姞涓�涓┖璋�
+//        DeviceParser.addDevicesListWithoutSearching(port, Configuration.AIR_BIG_TYPE, 0, 111, 9, 1, "鎴块棿绌鸿皟", "HVAC绌鸿皟妯″潡",false);
 
-        //娣诲姞涓�涓共鑺傜偣浼犳劅鍣�
-        DeviceParser.addDevicesListWithoutSearching(port, Configuration.SENSOR_BIG_TYPE, 0, 111, 99, 1, "骞茶妭鐐�", "骞茶妭鐐�",false);
+        /**
+         * 鍦烘櫙杩欓噷鐨勫洖璺彿闇�瑕佹敞鎰忥細 鐩稿悓瀛愮綉鍙峰拰璁惧鍙蜂笅鐨勫満鏅渶瑕佺疮鍔犱笉閲嶅锛岄�昏緫妯″潡涓轰緥锛�1鍖烘湁3涓〃锛�2鍖烘湁2涓〃 鎬诲叡5涓満鏅紝鎵�浠ワ紙2鍖鸿〃1 鍥炶矾鍙蜂负4銆�2鍖鸿〃2 鍥炶矾鍙蜂负5锛�
+         * 涓嶇劧濡傛灉鍥炶矾鍙蜂笉瀵圭畝鏄撶紪绋嬫悳绱㈠娉ㄧ殑璇濅細鍑洪敊
+         */
+        //娣诲姞涓�涓満鏅�
+        DeviceParser.addLogicScenesDevicesListWithoutSearching(port, 1, 16, 4, 2, 1, "鍗у寮�鐏�", "閫昏緫妯″潡",false);
 
-
-        //娣诲姞涓�涓�2璺獥甯�
-        DeviceParser.addDevicesListWithoutSearching(port, Configuration.CURTAIN_BIG_TYPE, 2, 111, 8, 1, "绐楀笜", "2璺獥甯�",false);
-        DeviceParser.addDevicesListWithoutSearching(port, Configuration.CURTAIN_BIG_TYPE, 2, 111, 8, 2, "绾辩獥", "2璺獥甯�",false);
-        //娣诲姞涓�涓紑鍚堝笜
-        DeviceParser.addDevicesListWithoutSearching(port, Configuration.CURTAIN_BIG_TYPE, 1, 111, 92, 1, "寮�鍚堝笜", "寮�鍚堝笜",false);
-
-        //娣诲姞涓�涓┖璋�
-        DeviceParser.addDevicesListWithoutSearching(port, Configuration.AIR_BIG_TYPE, 0, 111, 9, 1, "鎴块棿绌鸿皟", "HVAC绌鸿皟妯″潡",false);
         //娣诲姞涓�涓満鏅� 鏈�鍚庝竴涓猙SaveAndCallBack 璁剧疆涓簍rue
-        DeviceParser.addScenesDevicesListWithoutSearching(port, mSubnetID, mDeviceID, 5, 5, "浼氬妯″紡", parentRemarks,true);
+        DeviceParser.addLogicScenesDevicesListWithoutSearching(port, 1, 16, 5,2, 2, "鍗у鍏崇伅", "閫昏緫妯″潡",true);
 
 
 
diff --git a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java
index 65bd63b..1515780 100644
--- a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java
+++ b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java
@@ -432,75 +432,77 @@
 //        鑾峰彇鎵�鏈夎澶囩殑鐘舵�併�俤eviceStateBeanList涓烘墍鏈夎澶囩殑鐘舵�佸垪琛�
         List<DeviceStateBean> deviceStateBeanList = HDLCommand.getAllDevicesState();
 //        绗笁鏂瑰彲鏍规嵁鑷繁鐨勯渶姹傚埛鏂拌澶囬〉銆備互涓嬩负绀轰緥浠g爜銆�
-        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;
+                    }
                 }
-            }
 
+            }
         }
     }
 
diff --git a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java
index 360738d..cb5db34 100644
--- a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java
+++ b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java
@@ -20,6 +20,7 @@
 import com.hdl.sdk.hdl_core.HDLDeviceManger.Bean.DevicesData;
 import com.hdl.sdk.hdl_core.HDLDeviceManger.Core.HDLCommand;
 import com.hdl.sdk.hdl_core.HDLDeviceManger.Core.HDLDeviceManager;
+import com.hdl.sdk.hdl_core.HDLDeviceManger.Core.HDLSDK;
 import com.hdl.sdk.hdl_core.HDLDeviceManger.Core.HandleSearch;
 import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.BgmInfoEvent;
 import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.DevicesInfoEvent;
@@ -57,11 +58,16 @@
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
         NetWorkUtil.setIsGetWifiBroadCast(true);
-//        HDLSDK.init(this);
-//        HDLSDK.startHomeMode(this);
+        HDLSDK.init(this);
+        //鎺у埗BUS璁惧妯″紡
+        HDLSDK.startHomeMode(this);
 
-        HDLCommand.init(this);
-        HDLCommand.startHomeMode(this);
+//        //鎺у埗RCU璁惧妯″紡
+//        HDLSDK.startRcuMode(this,"192.168.10.111");
+
+//
+//        HDLCommand.init(this);
+//        HDLCommand.startHomeMode(this);
 
 //        /**閰嶇疆鏄惁寮�鍚疭DK鎵撳嵃鏃ュ織锛岄粯璁や负鎵撳紑*/
 //        HDLCommand.setHDLLogOpen(false);//
diff --git a/app/src/main/res/layout/activity_add_devices.xml b/app/src/main/res/layout/activity_add_devices.xml
index 6f46a7d..fa37dd0 100644
--- a/app/src/main/res/layout/activity_add_devices.xml
+++ b/app/src/main/res/layout/activity_add_devices.xml
@@ -214,7 +214,7 @@
                     android:layout_height="50dp"
                     android:gravity="center|left"
                     android:textSize="12sp"
-                    android:text="鍥炶矾澶囨敞锛�"></TextView>
+                    android:text="鍥炶矾鎴栧満鏅殑澶囨敞锛�"></TextView>
 
                 <EditText
                     android:id="@+id/et_remarks"
@@ -243,14 +243,38 @@
                     android:layout_height="50dp"
                     android:gravity="center|left"
                     android:textSize="16sp"
-                    android:text="鍦烘櫙鍙凤細"></TextView>
+                    android:text="鍖哄彿锛�"></TextView>
 
                 <EditText
                     android:id="@+id/et_scene"
                     android:layout_width="match_parent"
                     android:layout_height="50dp"
                     android:gravity="center|left"
-                    android:hint="鍖哄彿鍜屽満鏅彿" />
+                    android:hint="鍖哄彿鍜屽満鏅彿"
+                    android:text="2"
+                    android:inputType="number"
+                    android:maxLength="3"/>
+            </LinearLayout>
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="50dp">
+
+                <TextView
+                    android:layout_width="80dp"
+                    android:layout_height="50dp"
+                    android:gravity="center|left"
+                    android:textSize="16sp"
+                    android:text="鍦烘櫙鍙凤細"></TextView>
+
+                <EditText
+                    android:id="@+id/et_scene2"
+                    android:layout_width="match_parent"
+                    android:layout_height="50dp"
+                    android:gravity="center|left"
+                    android:text="2"
+                    android:inputType="number"
+                    android:maxLength="3"
+                    android:hint="鍦烘櫙鍙�" />
             </LinearLayout>
 
             <Button
@@ -264,7 +288,7 @@
                 android:id="@+id/btn_addAll"
                 android:layout_width="match_parent"
                 android:layout_height="50dp"
-                android:layout_marginBottom="20dp"
+                android:layout_marginBottom="40dp"
                 android:text="娣诲姞娴嬭瘯" />
 
 
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ca62daf..b7a6352 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,6 +1,6 @@
 <resources>
     <string name="app_name">HDL_SDK</string>
-    <string name="app_version">hdl_lib_v1.7.0.20200601_beta</string>
+    <string name="app_version">hdl_lib_v1.7.1.20200624_beta</string>
     <string name="btn_save">淇濆瓨</string>
     <string name="et_subnetid_hint">瀛愮綉鍙凤紙鑼冨洿0 - 254锛�</string>
     <string name="et_deviceid_hint">璁惧鍙峰彿锛堣寖鍥�0 - 254锛�</string>
diff --git a/hdl_core/build.gradle b/hdl_core/build.gradle
index 5eda957..5bb8c96 100644
--- a/hdl_core/build.gradle
+++ b/hdl_core/build.gradle
@@ -6,8 +6,8 @@
     defaultConfig {
         minSdkVersion 17
         targetSdkVersion 28
-        versionCode 10
-        versionName "1.7.0"
+        versionCode 11
+        versionName "1.7.1"
 
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
 
diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLSDK.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLSDK.java
index e2e0b0b..725f243 100644
--- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLSDK.java
+++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLSDK.java
@@ -1,64 +1,64 @@
-//package com.hdl.sdk.hdl_core.HDLDeviceManger.Core;
-//
-//import android.content.Context;
-//
-//import com.hdl.sdk.hdl_core.Util.LogUtil.HDLLog;
-//import com.hdl.sdk.hdl_core.Util.SPUtil.SPUtils;
-//
-///**
-// * Created by jlchen on 2020-06-23.
-// */
-//public class HDLSDK {
-//
-//    /**
-//     * 鍒濆鍖� SDK
-//     *
-//     * @param context
-//     */
-//    public static void init(Context context) {
-//        HDLDeviceManager.init(context);
-//    }
-//
-//    /**
-//     * 寮�鍚痓us妯″紡
-//     * 鍚敤6000绔彛
-//     * @param context
-//     */
-//    public static void startHomeMode(Context context) {
-//        SPUtils.setParam(context, SPUtils.KEY_RCU_IP_, "");
-//        HandleSearch.curSearchMode = HandleSearch.GET_BUS_DEVICES;
-//        HandleSearch.rcuIp = "";
-//        HDLUdpCore.closeSocket6008();
-//        HDLUdpCore.init6000();
-//    }
-//
-//    /**
-//     * 寮�鍚疪CU妯″紡
-//     * 鍚敤6008绔彛
-//     * @param context
-//     * @param newRcuIp RCU鐨処P鍦板潃
-//     */
-//    public static void startRcuMode(Context context, String newRcuIp) {
-//        HandleSearch.curSearchMode = HandleSearch.GET_RCU_DEVICES;
-//        HandleSearch.rcuIp = newRcuIp;
-//        SPUtils.setParam(context, SPUtils.KEY_RCU_IP_, newRcuIp);
-//        HDLUdpCore.closeSocket6000();
-//        HDLUdpCore.init6008();
-//    }
-//
-//    /**
-//     * 鏄惁寮�鍚疭DK鏃ュ織鎵撳嵃
-//     *
-//     * @param bOpen
-//     */
-//    public static void setHDLLogOpen(boolean bOpen) {
-//        HDLLog.setHDLLogOpen(bOpen);
-//    }
-//
-//    /**
-//     * 閲婃斁璧勬簮 鍏抽棴涓插彛
-//     */
-//    public static void release() {
-//        HDLDeviceManager.release();
-//    }
-//}
+package com.hdl.sdk.hdl_core.HDLDeviceManger.Core;
+
+import android.content.Context;
+
+import com.hdl.sdk.hdl_core.Util.LogUtil.HDLLog;
+import com.hdl.sdk.hdl_core.Util.SPUtil.SPUtils;
+
+/**
+ * Created by jlchen on 2020-06-23.
+ */
+public class HDLSDK {
+
+    /**
+     * 鍒濆鍖� SDK
+     *
+     * @param context
+     */
+    public static void init(Context context) {
+        HDLDeviceManager.init(context);
+    }
+
+    /**
+     * 寮�鍚痓us妯″紡
+     * 鍚敤6000绔彛
+     * @param context
+     */
+    public static void startHomeMode(Context context) {
+        SPUtils.setParam(context, SPUtils.KEY_RCU_IP_, "");
+        HandleSearch.curSearchMode = HandleSearch.GET_BUS_DEVICES;
+        HandleSearch.rcuIp = "";
+        HDLUdpCore.closeSocket6008();
+        HDLUdpCore.init6000();
+    }
+
+    /**
+     * 寮�鍚疪CU妯″紡
+     * 鍚敤6008绔彛
+     * @param context
+     * @param newRcuIp RCU鐨処P鍦板潃
+     */
+    public static void startRcuMode(Context context, String newRcuIp) {
+        HandleSearch.curSearchMode = HandleSearch.GET_RCU_DEVICES;
+        HandleSearch.rcuIp = newRcuIp;
+        SPUtils.setParam(context, SPUtils.KEY_RCU_IP_, newRcuIp);
+        HDLUdpCore.closeSocket6000();
+        HDLUdpCore.init6008();
+    }
+
+    /**
+     * 鏄惁寮�鍚疭DK鏃ュ織鎵撳嵃
+     *
+     * @param bOpen
+     */
+    public static void setHDLLogOpen(boolean bOpen) {
+        HDLLog.setHDLLogOpen(bOpen);
+    }
+
+    /**
+     * 閲婃斁璧勬簮 鍏抽棴涓插彛
+     */
+    public static void release() {
+        HDLDeviceManager.release();
+    }
+}
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 acbcf35..8ad79e7 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
@@ -980,20 +980,23 @@
 
     }
 
-
     /**
      * 娣诲姞鍦烘櫙璁惧鍥炶矾
      * 濡傛灉瀛樺湪鐩稿悓瀛愮綉鍙� 璁惧鍙凤紝鍒欏綋鎴愭贩鍚堟ā鍧楁坊鍔犲埌璇ュ洖璺笅锛屼笉瀛樺湪鍒欐柊娣诲姞妯″潡
      * @param mSubnetID
      * @param mDeviceID
+     * @param mChannelNum 鍥炶矾鍙�
      * @param mAreaNum //鍦烘櫙 鍖哄煙鍙�
      * @param mAreaSceneNum //鍦烘櫙 褰撳墠鍖哄煙鍦烘櫙鍙�
      * @param mChannelRemark
      * @param parentRemarks
      * @param bSaveAndCallBack 鏄惁椹笂淇濆瓨鏈湴骞朵笖鎺ㄩ�丏evicesInfoEvent 浜嬩欢
      * @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;
@@ -1016,7 +1019,7 @@
 
 
             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);
@@ -1027,7 +1030,7 @@
                     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);
@@ -1051,4 +1054,74 @@
     }
 
 
+    /**
+     * 娣诲姞閫昏緫妯″潡鐨勫満鏅澶囧洖璺�
+     * 濡傛灉瀛樺湪鐩稿悓瀛愮綉鍙� 璁惧鍙凤紝鍒欏綋鎴愭贩鍚堟ā鍧楁坊鍔犲埌璇ュ洖璺笅锛屼笉瀛樺湪鍒欐柊娣诲姞妯″潡
+     * @param mSubnetID
+     * @param mDeviceID
+     * @param mChannelNum 鍥炶矾鍙�
+     * @param mAreaNum //鍦烘櫙 鍖哄煙鍙�
+     * @param mAreaSceneNum //鍦烘櫙 褰撳墠鍖哄煙鍦烘櫙鍙�
+     * @param mChannelRemark
+     * @param parentRemarks
+     * @param bSaveAndCallBack 鏄惁椹笂淇濆瓨鏈湴骞朵笖鎺ㄩ�丏evicesInfoEvent 浜嬩欢
+     * @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;
+
+        }
+
+
+    }
+
 }

--
Gitblit v1.8.0