From 145de2dcd3124f236e7d06bcdee17c7be08048b1 Mon Sep 17 00:00:00 2001
From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com>
Date: 星期一, 11 十一月 2024 18:34:13 +0800
Subject: [PATCH] 修改搜索按照index索引

---
 HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java |  436 ++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 311 insertions(+), 125 deletions(-)

diff --git a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java
index abf4465..f4087b7 100644
--- a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java
+++ b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java
@@ -1,17 +1,18 @@
 package com.hdl.sdk.ttl.HDLDeviceManger.Parser;
 
+import static com.hdl.sdk.ttl.HDLDeviceManger.Core.HDLDeviceManager.devicesDataList;
+
+import android.util.Log;
+
 import com.hdl.sdk.ttl.Config.Configuration;
 import com.hdl.sdk.ttl.HDLAppliances.Config.HDLApConfig;
 import com.hdl.sdk.ttl.HDLDeviceManger.Bean.AppliancesInfo;
 import com.hdl.sdk.ttl.HDLDeviceManger.Bean.DevicesData;
-import com.hdl.sdk.ttl.HDLDeviceManger.Core.HDLDeviceManager;
 import com.hdl.sdk.ttl.HDLDeviceManger.Core.HandleSearch;
 import com.hdl.sdk.ttl.Utils.LogUtils.HDLLog;
 
 import java.util.ArrayList;
 import java.util.List;
-
-import static com.hdl.sdk.ttl.HDLDeviceManger.Core.HDLDeviceManager.devicesDataList;
 
 /**
  * Created by djl on 2017/3/29.
@@ -29,7 +30,7 @@
      */
     public static boolean parse(byte[] addBytes, DevicesData devicesData, String parentRemarks) {
         boolean isExitData = false;
-        int residue = addBytes.length - 22;
+        int residue = addBytes.length - 8;
         int sumCount = residue / 3;//璁板綍鎬诲叡鏈夊灏戠璁惧
         List<AppliancesInfo> appliancesInfoList = new ArrayList<>();
         if (sumCount == 0) {
@@ -37,48 +38,72 @@
             appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE);
             appliancesInfoList.add(appliancesInfo);
         }
-//        HDLLog.I("sumCount" + sumCount);
+//        00008 2023骞�11鏈�29鏃�16:58:01:800:  0F FE 58 01 A8 F5 48 64 00 0F 18 00 00 3E A0
+//        00009 2023骞�11鏈�29鏃�16:58:01:816:  16 64 00 11 F7 F5 49 FE 58 0F 18 00 03 00 01 2A 60 07 03 01 35 59
+//        00010 2023骞�11鏈�29鏃�16:58:01:832:  19 64 00 11 F7 F5 49 FE 58 0F 18 00 03 00 02 64 80 05 09 01 0E 04 01 FE 35
+//        00011 2023骞�11鏈�29鏃�16:58:01:848:  16 64 00 11 F7 F5 49 FE 58 0F 18 00 03 00 03 64 0A 01 01 04 D5 C7
         int curCount = 0;//寰幆閬嶅巻鎵�鏈夎澶囨鏁�
         while (curCount < sumCount) {
-            int bigType = addBytes[21 + (2 * curCount) + (curCount + 1)] & 0xFF;
-            int littleType = addBytes[21 + (2 * curCount) + (curCount + 2)] & 0xFF;
-            int channelNum = addBytes[21 + (2 * curCount) + (curCount + 3)] & 0xFF;
+
+            int subnetID = addBytes[6] & 0xFF;
+            int deviceID = addBytes[7] & 0xFF;
+            devicesData.setDeviceSubnetID(subnetID);
+            devicesData.setDeviceDeviceID(deviceID);
+
+            int bigType = addBytes[7 + (2 * curCount) + (curCount + 1)] & 0xFF;
+            int littleType = addBytes[7 + (2 * curCount) + (curCount + 2)] & 0xFF;
+            //閫氶亾鎬绘暟
+            int channelNum = addBytes[7 + (2 * curCount) + (curCount + 3)] & 0xFF;
+
             curCount++;
             int curChannelNum = 0;
+            int index = 0;
             while (curChannelNum < channelNum) {
-                curChannelNum++;
+                curChannelNum++;//鏈夊彲鑳戒笉鏄粠1寮�濮嬬殑锛屾墍浠ュ鍔爄ndex鍒ゆ柇
+                index++;
                 if (isWantData(bigType, littleType)) {
                     AppliancesInfo appliancesInfo = new AppliancesInfo();
+                    appliancesInfo.setDeviceSubnetID(subnetID);
+                    appliancesInfo.setDeviceDeviceID(deviceID);
+
                     /**鏍规嵁绫诲埆锛岃祴鍊兼搷浣滅爜绛変竴浜涢噸瑕佷俊鎭�*/
                     switch (bigType) {
                         case Configuration.LIGTH_BIG_TYPE:
-                            parseLightData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                            parseLightData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                             break;
                         case Configuration.CURTAIN_BIG_TYPE:
-                            parseCurtainData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                            parseCurtainData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                             break;
                         case Configuration.AIR_BIG_TYPE:
-                            parseAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                            parseAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                             break;
                         case Configuration.AUDIO_BIG_TYPE:
-                            parseAudioData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                            parseAudioData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                             break;
                         case Configuration.LOGIC_BIG_TYPE:
-                            parseLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                            parseLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                             break;
                         case Configuration.GLOBAL_LOGIC_BIG_TYPE:
-                            parseGlobalLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                            parseGlobalLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                             break;
                         case Configuration.SECURITY_BIG_TYPE://2019-7-29 鏂板
-                            parseSecurityData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                            parseSecurityData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                             break;
-                        case Configuration.SENSOR_BIG_TYPE://2019-07-03 灞忚斀
-                            parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                        case Configuration.SENSOR_BIG_TYPE:
+                            parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                             break;
                         case Configuration.COMMON_SWITCH_BIG_TYPE://2020-04-01 閫氱敤寮�鍏�
-                            parseCommonSwitchData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                            parseCommonSwitchData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                             break;
-
+                        case Configuration.FRESH_AIR_BIG_TYPE://2020-07-20 鏂板鏂伴
+                            parseFreshAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
+                            break;
+                        case Configuration.GEOTHERMAL_BIG_TYPE://鍦扮儹
+                            parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
+                            break;
+                        case Configuration.DOOR_MACHINE_BIG_TYPE://闂ㄩ攣
+                            parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
+                            break;
                         default:
 //                            appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE);
                             break;
@@ -93,9 +118,9 @@
 
                     appliancesInfo.setDeviceKey(key);//2019-8-2 娣诲姞鍞竴鏍囪瘑key
                     appliancesInfoList.add(appliancesInfo);
-//                    HDLLog.I( "鍚戞ā鍧楁坊鍔犲洖璺細"+"澶х被锛�" + bigType + " 灏忕被锛�" + littleType +" 妯″潡澶囨敞" + devicesData.getRemark() );
+                    HDLLog.I("鍚戞ā鍧楁坊鍔犲洖璺細" + "澶х被锛�" + bigType + " 灏忕被锛�" + littleType + " 妯″潡澶囨敞" + devicesData.getRemark());
                 } else {
-//                    HDLLog.I( "涓嶆槸瑕佹坊鍔犵殑璁惧锛氬ぇ绫伙細" + bigType + " 灏忕被锛�" + littleType +" 妯″潡澶囨敞" + devicesData.getRemark() );
+                    HDLLog.I("涓嶆槸瑕佹坊鍔犵殑璁惧锛氬ぇ绫伙細" + bigType + " 灏忕被锛�" + littleType + " 妯″潡澶囨敞" + devicesData.getRemark());
                 }
             }
         }
@@ -114,7 +139,7 @@
      * @param littleType
      * @return SDK鐩墠鏀寔鐨勫ぇ绫伙細灏忕被
      * 鐏厜绫�1锛�0 锛�1锛�9锛�10
-     * 绐楀笜绫�2锛�0锛�1锛�2
+     * 绐楀笜绫�2锛�0锛�1锛�2,6
      * 浼犳劅鍣�5锛�0~24
      * 绌鸿皟绫�7锛�0锛�3
      * 鑳屾櫙闊充箰鍔熻兘9锛�0
@@ -128,14 +153,12 @@
             case Configuration.LIGTH_BIG_TYPE:
                 switch (littleType) {
                     case 0:
-                        isWant = true;
-                        break;
                     case 1:
-                        isWant = true;
-                        break;
+                    case 2:
+                    case 3:
+                    case 7:
+                    case 8:
                     case 9:
-                        isWant = true;
-                        break;
                     case 10:
                         isWant = true;
                         break;
@@ -147,12 +170,9 @@
             case Configuration.CURTAIN_BIG_TYPE:
                 switch (littleType) {
                     case 0:
-                        isWant = true;
-                        break;
                     case 1:
-                        isWant = true;
-                        break;
                     case 2:
+                    case 6:
                         isWant = true;
                         break;
                     default:
@@ -163,9 +183,9 @@
             case Configuration.AIR_BIG_TYPE:
                 switch (littleType) {
                     case 0:
-                        isWant = true;
-                        break;
                     case 3:
+                    case 100:
+                    case 101:
                         isWant = true;
                         break;
                     default:
@@ -189,14 +209,11 @@
                         break;
                 }
                 break;
-            case Configuration.SENSOR_BIG_TYPE:   //灞忚斀浼犳劅鍣ㄥぇ绫�
-//                if (littleType >= 0 && littleType <= 27) {
-//                    isWant = true;
-//                } else {
-//                    isWant = false;
-//                }
-
-                if (littleType == 1 || littleType == 9 || littleType == 11 || (littleType > 24 && littleType <= 27)) {//2019-11-5 鏀逛负鍙敮鎸�6绉嶆劅搴斿櫒
+            case Configuration.SENSOR_BIG_TYPE:
+                if (littleType == 1 || littleType == 2 || littleType == 3
+                        || (littleType > 4 && littleType <= 11)
+                        || littleType == 20 || (littleType > 24 && littleType <= 27)
+                        || littleType == 32) {
                     isWant = true;
                 } else {
                     isWant = false;
@@ -245,6 +262,38 @@
                         break;
                 }
                 break;
+            case Configuration.FRESH_AIR_BIG_TYPE://鏂伴璁惧 2020-07-20
+                switch (littleType) {
+                    case 0:
+                    case 1:
+                        isWant = true;
+                        break;
+                    default:
+                        isWant = false;
+                        break;
+                }
+                break;
+            case Configuration.GEOTHERMAL_BIG_TYPE://鍦扮儹璁惧 2020-07-20
+                switch (littleType) {
+                    case 0:
+                    case 3:
+                        isWant = true;
+                        break;
+                    default:
+                        isWant = false;
+                        break;
+                }
+                break;
+            case Configuration.DOOR_MACHINE_BIG_TYPE://闂ㄩ攣璁惧 2023-08-22
+                switch (littleType) {
+                    case 4:
+                        isWant = true;
+                        break;
+                    default:
+                        isWant = false;
+                        break;
+                }
+                break;
             default:
                 isWant = false;
                 break;
@@ -253,7 +302,7 @@
     }
 
 
-    private static void parseLightData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) {
+    private static void parseLightData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) {
         switch (littleType) {
             case 0:
                 appliancesInfo.setDeviceName("璋冨厜鍥炶矾");
@@ -264,10 +313,12 @@
                 appliancesInfo.setDeviceType(HDLApConfig.TYPE_LIGHT_RELAY);
                 break;
             case 2:
-                appliancesInfo.setDeviceName("閫昏緫鐏帶鍒�");
+                appliancesInfo.setDeviceName("閫昏緫鐏帶鍒禖CT");
+                appliancesInfo.setDeviceType(HDLApConfig.TYPE_LIGHT_CCT);
                 break;
             case 3:
                 appliancesInfo.setDeviceName("閫昏緫鐏疪GB");
+                appliancesInfo.setDeviceType(HDLApConfig.TYPE_LIGHT_RGB);
                 break;
             case 4:
                 appliancesInfo.setDeviceName("閫昏緫鐏疪GBW");
@@ -280,9 +331,11 @@
                 break;
             case 7:
                 appliancesInfo.setDeviceName("DALI");
+                appliancesInfo.setDeviceType(HDLApConfig.TYPE_LIGHT_DALI);
                 break;
             case 8:
                 appliancesInfo.setDeviceName("鑷畾涔夐�昏緫鐏�");
+                appliancesInfo.setDeviceType(HDLApConfig.TYPE_LIGHT_DMX);
                 break;
             case 9:
                 appliancesInfo.setDeviceName("娣峰悎璋冨厜绫�");
@@ -298,21 +351,30 @@
         }
         if (devicesData != null) {
             appliancesInfo.setChannelNum(channelNum);
+            appliancesInfo.setDeviceIndex(index);
             appliancesInfo.setBigType(Configuration.LIGTH_BIG_TYPE);
             appliancesInfo.setLittleType(littleType);
-            appliancesInfo.setCtrlCommand(Configuration.LIGHT_CTRL_COMMAND);
-            appliancesInfo.setCtrlBackCommand(Configuration.LIGHT_CTRL_BACK_COMMAND);
-            appliancesInfo.setStateCommand(Configuration.LIGHT_STATE_COMMAND);
-            appliancesInfo.setStateBackCommand(Configuration.LIGHT_STATE_BACK_COMMAND);
-            appliancesInfo.setDeviceSubnetID(devicesData.getSourceSubnetID());
-            appliancesInfo.setDeviceDeviceID(devicesData.getSourceDeviceID());
+
+            if (appliancesInfo.getDeviceType() == HDLApConfig.TYPE_LIGHT_CCT || appliancesInfo.getDeviceType() == HDLApConfig.TYPE_LIGHT_RGB || appliancesInfo.getDeviceType() == HDLApConfig.TYPE_LIGHT_DALI || appliancesInfo.getDeviceType() == HDLApConfig.TYPE_LIGHT_DMX) {
+                appliancesInfo.setCtrlCommand(Configuration.LIGHT_RGB_CTRL_COMMAND);
+                appliancesInfo.setCtrlBackCommand(Configuration.LIGHT_RGB_CTRL_BACK_COMMAND);
+                appliancesInfo.setStateCommand(Configuration.LIGHT_RGB_STATE_COMMAND);
+                appliancesInfo.setStateBackCommand(Configuration.LIGHT_RGB_STATE_BACK_COMMAND);
+            } else {
+                appliancesInfo.setCtrlCommand(Configuration.LIGHT_CTRL_COMMAND);
+                appliancesInfo.setCtrlBackCommand(Configuration.LIGHT_CTRL_BACK_COMMAND);
+                appliancesInfo.setStateCommand(Configuration.LIGHT_STATE_COMMAND);
+                appliancesInfo.setStateBackCommand(Configuration.LIGHT_STATE_BACK_COMMAND);
+            }
+            appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID());
+            appliancesInfo.setSourceDeviceID(devicesData.getSourceDeviceID());
             appliancesInfo.setParentRemarks(parentRemarks);
 //            appliancesInfo.setPort(port);
 //            appliancesInfo.setIpAddress(ipAddress);
         }
     }
 
-    private static void parseCurtainData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) {
+    private static void parseCurtainData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) {
         switch (littleType) {
             case 0:
                 appliancesInfo.setDeviceName("寮�鍚堝笜鐢垫満");
@@ -326,6 +388,10 @@
                 appliancesInfo.setDeviceName("绐楀笜妯″潡");
                 appliancesInfo.setDeviceType(HDLApConfig.TYPE_CURTAIN_MODULE);
                 break;
+            case 6:
+                appliancesInfo.setDeviceName("棣欐牸閲屾媺甯樼數鏈�");
+                appliancesInfo.setDeviceType(HDLApConfig.TYPE_CURTAIN_SHANGRILA);
+                break;
             default:
                 appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE);
                 break;
@@ -333,21 +399,20 @@
         }
         if (devicesData != null) {
             appliancesInfo.setChannelNum(channelNum);
+            appliancesInfo.setDeviceIndex(index);
             appliancesInfo.setBigType(Configuration.CURTAIN_BIG_TYPE);
             appliancesInfo.setLittleType(littleType);
             appliancesInfo.setCtrlCommand(Configuration.CURTAIN_CTRL_COMMAND);
             appliancesInfo.setCtrlBackCommand(Configuration.CURTAIN_CTRL_BACK_COMMAND);
             appliancesInfo.setStateCommand(Configuration.CURTAIN_STATE_COMMAND);
             appliancesInfo.setStateBackCommand(Configuration.CURTAIN_STATE_BACK_COMMAND);
-            appliancesInfo.setDeviceSubnetID(devicesData.getSourceSubnetID());
-            appliancesInfo.setDeviceDeviceID(devicesData.getSourceDeviceID());
+            appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID());
+            appliancesInfo.setSourceDeviceID(devicesData.getSourceDeviceID());
             appliancesInfo.setParentRemarks(parentRemarks);
-//            appliancesInfo.setPort(port);
-//            appliancesInfo.setIpAddress(ipAddress);
         }
     }
 
-    private static void parseAirData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) {
+    private static void parseAirData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) {
         switch (littleType) {
             case 0:
                 appliancesInfo.setDeviceName("HVAC 妯″潡");
@@ -365,6 +430,14 @@
                 appliancesInfo.setDeviceName("閫氱敤绌鸿皟闈㈡澘");
                 appliancesInfo.setDeviceType(HDLApConfig.TYPE_AC_PANEL);
                 break;
+            case 100:
+                appliancesInfo.setDeviceName("绉戞妧绯荤粺");
+                appliancesInfo.setDeviceType(HDLApConfig.TYPE_AC_TECHSYS);
+                break;
+            case 101:
+                appliancesInfo.setDeviceName("KNX绉戞妧绯荤粺");
+                appliancesInfo.setDeviceType(HDLApConfig.TYPE_AC_KNXTECHSYS);
+                break;
             default:
                 appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE);
                 break;
@@ -372,14 +445,13 @@
         }
         if (devicesData != null) {
             appliancesInfo.setChannelNum(channelNum);
+            appliancesInfo.setDeviceIndex(index);
             appliancesInfo.setBigType(Configuration.AIR_BIG_TYPE);
             appliancesInfo.setLittleType(littleType);
-            appliancesInfo.setDeviceSubnetID(devicesData.getSourceSubnetID());
-            appliancesInfo.setDeviceDeviceID(devicesData.getSourceDeviceID());
+            appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID());
+            appliancesInfo.setSourceDeviceID(devicesData.getSourceDeviceID());
             appliancesInfo.setParentRemarks(parentRemarks);
-//            appliancesInfo.setPort(port);
-//            appliancesInfo.setIpAddress(ipAddress);
-            if (littleType == 0) {
+            if (littleType == 0 || littleType == 100 || littleType == 101) {//绉戞妧绯荤粺璧�0x193A鍜�0x1938
                 appliancesInfo.setCtrlCommand(Configuration.AIR_HVAC_CTRL_COMMAND);
                 appliancesInfo.setCtrlBackCommand(Configuration.AIR_HVAC_CTRL_BACK_COMMAND);
                 appliancesInfo.setStateCommand(Configuration.AIR_HVAC_STATE_COMMAND);
@@ -396,7 +468,7 @@
         }
     }
 
-    private static void parseAudioData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) {
+    private static void parseAudioData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) {
         switch (littleType) {
             case 0:
                 appliancesInfo.setDeviceName("鑳屾櫙闊充箰妯″潡");
@@ -416,22 +488,21 @@
 
         if (devicesData != null) {
             appliancesInfo.setChannelNum(channelNum);
+            appliancesInfo.setDeviceIndex(index);
             appliancesInfo.setBigType(Configuration.AUDIO_BIG_TYPE);
             appliancesInfo.setLittleType(littleType);
             appliancesInfo.setCtrlCommand(Configuration.AUDIO_CTRL_READ_COMMAND);
             appliancesInfo.setCtrlBackCommand(Configuration.AUDIO_CTRL_READ_BACK_COMMAND);
             appliancesInfo.setStateCommand(Configuration.AUDIO_MenuPlay_INSTRUCTION_COMMAND);
             appliancesInfo.setStateBackCommand(Configuration.AUDIO_MenuPlay_INSTRUCTION_BACK_COMMAND);
-            appliancesInfo.setDeviceSubnetID(devicesData.getSourceSubnetID());
-            appliancesInfo.setDeviceDeviceID(devicesData.getSourceDeviceID());
+            appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID());
+            appliancesInfo.setSourceDeviceID(devicesData.getSourceDeviceID());
             appliancesInfo.setParentRemarks(parentRemarks);
-//            appliancesInfo.setPort(port);
-//            appliancesInfo.setIpAddress(ipAddress);
         }
         HDLLog.I("闊充箰妯″潡锛�" + parentRemarks);
     }
 
-    private static void parseLogicData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) {
+    private static void parseLogicData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) {
         switch (littleType) {
             case 0:
                 appliancesInfo.setDeviceName("閫昏緫妯″潡");
@@ -444,23 +515,21 @@
 
         if (devicesData != null) {
             appliancesInfo.setChannelNum(channelNum);
+            appliancesInfo.setDeviceIndex(index);
             appliancesInfo.setBigType(Configuration.LOGIC_BIG_TYPE);
             appliancesInfo.setLittleType(littleType);
             appliancesInfo.setCtrlCommand(Configuration.LOGIC_CTRL_COMMAND);
             appliancesInfo.setCtrlBackCommand(Configuration.LOGIC_CTRL_BACK_COMMAND);
             appliancesInfo.setStateCommand(Configuration.LOGIC_STATE_COMMAND);
             appliancesInfo.setStateBackCommand(Configuration.LOGIC_STATE_BACK_COMMAND);
-            appliancesInfo.setDeviceSubnetID(devicesData.getSourceSubnetID());
-            appliancesInfo.setDeviceDeviceID(devicesData.getSourceDeviceID());
+            appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID());
+            appliancesInfo.setSourceDeviceID(devicesData.getSourceDeviceID());
             appliancesInfo.setParentRemarks(parentRemarks);
-//            appliancesInfo.setPort(port);
-//            appliancesInfo.setIpAddress(ipAddress);
-
 
         }
     }
 
-    private static void parseGlobalLogicData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) {
+    private static void parseGlobalLogicData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) {
         switch (littleType) {
             case 0:
                 appliancesInfo.setDeviceName("鍏ㄥ眬閫昏緫妯″潡");
@@ -473,18 +542,16 @@
 
         if (devicesData != null) {
             appliancesInfo.setChannelNum(channelNum);
+            appliancesInfo.setDeviceIndex(index);
             appliancesInfo.setBigType(Configuration.GLOBAL_LOGIC_BIG_TYPE);
             appliancesInfo.setLittleType(littleType);
             appliancesInfo.setCtrlCommand(Configuration.LOGIC_CTRL_COMMAND);
             appliancesInfo.setCtrlBackCommand(Configuration.LOGIC_CTRL_BACK_COMMAND);
             appliancesInfo.setStateCommand(Configuration.LOGIC_STATE_COMMAND);
             appliancesInfo.setStateBackCommand(Configuration.LOGIC_STATE_BACK_COMMAND);
-            appliancesInfo.setDeviceSubnetID(devicesData.getSourceSubnetID());
-            appliancesInfo.setDeviceDeviceID(devicesData.getSourceDeviceID());
+            appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID());
+            appliancesInfo.setSourceDeviceID(devicesData.getSourceDeviceID());
             appliancesInfo.setParentRemarks(parentRemarks);
-//            appliancesInfo.setPort(port);
-//            appliancesInfo.setIpAddress(ipAddress);
-
 
         }
     }
@@ -500,7 +567,7 @@
      * @param port
      * @param ipAddress
      */
-    private static void parseSecurityData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) {
+    private static void parseSecurityData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) {
         switch (littleType) {
             case 0:
                 appliancesInfo.setDeviceName("瀹夐槻妯″潡");
@@ -517,13 +584,12 @@
         }
         if (devicesData != null) {
             appliancesInfo.setChannelNum(channelNum);
+            appliancesInfo.setDeviceIndex(index);
             appliancesInfo.setBigType(Configuration.SECURITY_BIG_TYPE);
             appliancesInfo.setLittleType(littleType);
-            appliancesInfo.setDeviceSubnetID(devicesData.getSourceSubnetID());
-            appliancesInfo.setDeviceDeviceID(devicesData.getSourceDeviceID());
+            appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID());
+            appliancesInfo.setSourceDeviceID(devicesData.getSourceDeviceID());
             appliancesInfo.setParentRemarks(parentRemarks);
-//            appliancesInfo.setPort(port);
-//            appliancesInfo.setIpAddress(ipAddress);
             appliancesInfo.setCtrlCommand(Configuration.SECURITY_ARMING_CTRL_COMMAND);//甯冮槻
             appliancesInfo.setCtrlBackCommand(Configuration.SECURITY_ARMING_CTRL_BACK_COMMAND);//甯冮槻璁剧疆鍙嶉
             appliancesInfo.setStateCommand(Configuration.SECURITY_STATE_COMMAND);//璇诲彇瀹夐槻璁剧疆
@@ -549,7 +615,7 @@
 
 
     //    2019-07-03 灞忚斀 2019-11-5 浼犳劅鍣ㄩ兘鏀逛负骞叉帴鐐瑰疄鐜�
-    private static void parseSensorData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int curChannelNum, int port, String ipAddress) {
+    private static void parseSensorData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) {
         switch (littleType) {
             case 0:
                 appliancesInfo.setDeviceName("浼犳劅鍣� 骞茬粨鐐�");
@@ -663,6 +729,10 @@
                 appliancesInfo.setDeviceName("浼犳劅鍣� 绱ф�ユ寜閽�");
                 appliancesInfo.setDeviceType(HDLApConfig.TYPE_SENSOR_EMERGENCY_BUTTON);
                 break;
+            case 32:
+                appliancesInfo.setDeviceName("浼犳劅鍣� PM10");
+                appliancesInfo.setDeviceType(HDLApConfig.TYPE_SENSOR_PM_10);
+                break;
 
             default:
                 appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE);
@@ -671,35 +741,141 @@
 
 
         if (devicesData != null) {
-            appliancesInfo.setChannelNum(curChannelNum);
+            appliancesInfo.setChannelNum(channelNum);
+            appliancesInfo.setDeviceIndex(index);
             appliancesInfo.setBigType(Configuration.SENSOR_BIG_TYPE);
             appliancesInfo.setLittleType(littleType);
-//            appliancesInfo.setCtrlCommand(Configuration.LOGIC_CTRL_COMMAND);
-//            appliancesInfo.setCtrlBackCommand(Configuration.LOGIC_CTRL_BACK_COMMAND);
-//            appliancesInfo.setStateCommand(Configuration.SENSOR_STATE_COMMAND);
-//            appliancesInfo.setStateBackCommand(Configuration.SENSOR_STATE_BACK_COMMAND);
 
-            appliancesInfo.setDeviceSubnetID(devicesData.getSourceSubnetID());
-            appliancesInfo.setDeviceDeviceID(devicesData.getSourceDeviceID());
+            appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID());
+            appliancesInfo.setSourceDeviceID(devicesData.getSourceDeviceID());
             appliancesInfo.setParentRemarks(parentRemarks);
 
-            if (littleType == 1) {//鍚搁《绾㈠浼犳劅鍣�
-                appliancesInfo.setStateCommand(Configuration.DRY_CONTACT_STATE_COMMAND);
-                appliancesInfo.setStateBackCommand(Configuration.DRY_CONTACT_STATE_BACK_COMMAND);
-            } else {
-
-                appliancesInfo.setStateCommand(Configuration.DRY_CONTACT_STATE_COMMAND);
-                appliancesInfo.setStateBackCommand(Configuration.DRY_CONTACT_STATE_BACK_COMMAND);
-
-            }
+            appliancesInfo.setStateCommand(Configuration.SENSOR_STATE_COMMAND);
+            appliancesInfo.setStateBackCommand(Configuration.SENSOR_STATE_BACK_COMMAND);
         }
 
-
     }
+
+
+    /**
+     * 2020-07-20
+     * 鏂伴绯荤粺
+     */
+    private static void parseFreshAirData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) {
+        switch (littleType) {
+            case 0:
+                appliancesInfo.setDeviceName("鏂伴绯荤粺妯″潡");
+                appliancesInfo.setDeviceType(HDLApConfig.TYPE_FRESH_AIR);
+                appliancesInfo.setCtrlCommand(Configuration.FRESH_AIR_CTRL_COMMAND);
+                appliancesInfo.setCtrlBackCommand(Configuration.FRESH_AIR_CTRL_BACK_COMMAND);
+                appliancesInfo.setStateCommand(Configuration.FRESH_AIR_STATE_COMMAND);
+                appliancesInfo.setStateBackCommand(Configuration.FRESH_AIR_STATE_BACK_COMMAND);
+                break;
+            case 1:
+                appliancesInfo.setDeviceName("閲戣寕鏂伴");
+                appliancesInfo.setDeviceType(HDLApConfig.TYPE_FRESH_AIR_JINMAO);
+                appliancesInfo.setCtrlCommand(Configuration.FRESH_AIR_JINMAO_CTRL_COMMAND);
+                appliancesInfo.setCtrlBackCommand(Configuration.FRESH_AIR_JINMAO_CTRL_BACK_COMMAND);
+                appliancesInfo.setStateCommand(Configuration.FRESH_AIR_JINMAO_STATE_COMMAND);
+                appliancesInfo.setStateBackCommand(Configuration.FRESH_AIR_JINMAO_STATE_BACK_COMMAND);
+                break;
+            default:
+                appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE);
+                break;
+        }
+
+        if (devicesData != null) {
+            appliancesInfo.setChannelNum(channelNum);
+            appliancesInfo.setDeviceIndex(index);
+            appliancesInfo.setBigType(Configuration.FRESH_AIR_BIG_TYPE);
+            appliancesInfo.setLittleType(littleType);
+            appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID());
+            appliancesInfo.setSourceDeviceID(devicesData.getSourceDeviceID());
+            appliancesInfo.setParentRemarks(parentRemarks);
+        }
+    }
+
+
+    /**
+     * 鍦扮儹
+     */
+    private static void parseGeothermalData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) {
+        switch (littleType) {
+            case 0:
+                appliancesInfo.setDeviceName("鍦扮儹妯″潡");
+                appliancesInfo.setDeviceType(HDLApConfig.TYPE_GEOTHERMAL_MODULE);
+                break;
+//            case 1:
+//                appliancesInfo.setDeviceName("甯歌鍦扮儹闈㈡澘");
+//                appliancesInfo.setDeviceType(HDLApConfig.TYPE_GEOTHERMAL_MODULE_PANEL);
+//                break;
+//            case 2:
+//                appliancesInfo.setDeviceName("甯I杩愮畻鐨勫湴鐑潰鏉�");
+//                appliancesInfo.setDeviceType(HDLApConfig.TYPE_GEOTHERMAL_MODULE_PI);
+//                break;
+            case 3:
+                appliancesInfo.setDeviceName("鐗规畩鍦扮儹妯″潡");
+                appliancesInfo.setDeviceType(HDLApConfig.TYPE_GEOTHERMAL_JINMAO);
+                break;
+            default:
+                appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE);
+                break;
+
+        }
+        if (devicesData != null) {
+            appliancesInfo.setChannelNum(channelNum);
+            appliancesInfo.setDeviceIndex(index);
+            appliancesInfo.setBigType(Configuration.GEOTHERMAL_BIG_TYPE);
+            appliancesInfo.setLittleType(littleType);
+            appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID());
+            appliancesInfo.setSourceDeviceID(devicesData.getSourceDeviceID());
+            appliancesInfo.setParentRemarks(parentRemarks);
+
+            appliancesInfo.setCtrlCommand(Configuration.GEOTHERMAL_MODULE_CTRL_COMMAND);
+            appliancesInfo.setCtrlBackCommand(Configuration.GEOTHERMAL_MODULE_CTRL_BACK_COMMAND);
+            appliancesInfo.setStateCommand(Configuration.GEOTHERMAL_MODULE_STATE_COMMAND);
+            appliancesInfo.setStateBackCommand(Configuration.GEOTHERMAL_MODULE_STATE_BACK_COMMAND);
+
+
+        }
+    }
+
+
+    /**
+     * 闂ㄩ攣
+     */
+    private static void parseDoorMachineData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) {
+        switch (littleType) {
+            case 4:
+                appliancesInfo.setDeviceName("闂ㄩ攣妯″潡");
+                appliancesInfo.setDeviceType(HDLApConfig.TYPE_DOOR_MACHINE);
+                break;
+            default:
+                appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE);
+                break;
+        }
+        if (devicesData != null) {
+            appliancesInfo.setChannelNum(channelNum);
+            appliancesInfo.setDeviceIndex(index);
+            appliancesInfo.setBigType(Configuration.DOOR_MACHINE_BIG_TYPE);
+            appliancesInfo.setLittleType(littleType);
+            appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID());
+            appliancesInfo.setSourceDeviceID(devicesData.getSourceDeviceID());
+            appliancesInfo.setParentRemarks(parentRemarks);
+
+            appliancesInfo.setCtrlCommand(Configuration.DOOR_MACHINE_MODULE_CTRL_COMMAND);
+            appliancesInfo.setCtrlBackCommand(Configuration.DOOR_MACHINE_MODULE_CTRL_BACK_COMMAND);
+            appliancesInfo.setStateCommand(Configuration.DOOR_MACHINE_MODULE_STATE_COMMAND);
+            appliancesInfo.setStateBackCommand(Configuration.DOOR_MACHINE_MODULE_STATE_BACK_COMMAND);
+
+        }
+    }
+
 
     /**
      * 2020-04-01
      * 鏂板閫氱敤寮�鍏�
+     *
      * @param littleType
      * @param appliancesInfo
      * @param devicesData
@@ -708,7 +884,7 @@
      * @param port
      * @param ipAddress
      */
-    private static void parseCommonSwitchData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) {
+    private static void parseCommonSwitchData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) {
         switch (littleType) {
             case 0:
                 appliancesInfo.setDeviceName("閫氱敤寮�鍏�");
@@ -721,10 +897,11 @@
         }
         if (devicesData != null) {
             appliancesInfo.setChannelNum(channelNum);
+            appliancesInfo.setDeviceIndex(index);
             appliancesInfo.setBigType(Configuration.COMMON_SWITCH_BIG_TYPE);
             appliancesInfo.setLittleType(littleType);
-            appliancesInfo.setDeviceSubnetID(devicesData.getSourceSubnetID());
-            appliancesInfo.setDeviceDeviceID(devicesData.getSourceDeviceID());
+            appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID());
+            appliancesInfo.setSourceDeviceID(devicesData.getSourceDeviceID());
             appliancesInfo.setParentRemarks(parentRemarks);
 
             appliancesInfo.setCtrlCommand(Configuration.COMMON_SWITCH_CTRL_COMMAND);//甯冮槻
@@ -745,7 +922,7 @@
      * @param mRemarks
      * @return
      */
-    public static DevicesData addDevicesManuallyWithoutSearching(int mBigType, int mLittleType, int mSubnetID, int mDeviceID, int mChannelNum, String mRemarks) {
+    public static DevicesData addDevicesManuallyWithoutSearching(int mBigType, int mLittleType, int mSubnetID, int mDeviceID, int mChannelNum, int mIndex, String mRemarks) {
         boolean bWantData = false;
         DevicesData mDevicesData = new DevicesData();
         mDevicesData.setSourceSubnetID(mSubnetID);
@@ -755,7 +932,7 @@
         List<AppliancesInfo> appliancesInfoList = new ArrayList<>();
         if (isWantData(mBigType, mLittleType)) {
             bWantData = true;
-            AppliancesInfo appliancesInfo = getDevicesInfo(mDevicesData, mBigType, mLittleType, mChannelNum, mRemarks, mRemarks);
+            AppliancesInfo appliancesInfo = getDevicesInfo(mDevicesData, mBigType, mLittleType, mChannelNum, mIndex, mRemarks, mRemarks);
 
             appliancesInfoList.add(appliancesInfo);
 //            HDLLog.I( "鍚戞ā鍧楁坊鍔犲洖璺細"+"澶х被锛�" + mBigType + " 灏忕被锛�" + mLittleType +" 妯″潡澶囨敞" + mRemarks );
@@ -840,7 +1017,7 @@
         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, parentRemarks, parentRemarksList.get(i)));
+                appliancesInfoList.add(getDevicesInfo(devicesData, bigType, littleType, i + 1, i+1, parentRemarks, parentRemarksList.get(i)));
             }
             bWantData = true;
 
@@ -861,38 +1038,46 @@
         return devicesData;
     }
 
-    public static AppliancesInfo getDevicesInfo(DevicesData devicesData, int bigType, int littleType, int curChannelNum, String parentRemarks, String mRemarks) {
+    public static AppliancesInfo getDevicesInfo(DevicesData devicesData, int bigType, int littleType, int curChannelNum, int index, String parentRemarks, String mRemarks) {
         AppliancesInfo appliancesInfo = new AppliancesInfo();
         /**鏍规嵁绫诲埆锛岃祴鍊兼搷浣滅爜绛変竴浜涢噸瑕佷俊鎭�*/
         switch (bigType) {
             case Configuration.LIGTH_BIG_TYPE:
-                parseLightData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                parseLightData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                 break;
             case Configuration.CURTAIN_BIG_TYPE:
-                parseCurtainData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                parseCurtainData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                 break;
             case Configuration.AIR_BIG_TYPE:
-                parseAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                parseAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                 break;
             case Configuration.AUDIO_BIG_TYPE:
-                parseAudioData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                parseAudioData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                 break;
             case Configuration.LOGIC_BIG_TYPE:
-                parseLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                parseLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                 break;
             case Configuration.GLOBAL_LOGIC_BIG_TYPE:
-                parseGlobalLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                parseGlobalLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                 break;
             case Configuration.SECURITY_BIG_TYPE://2019-7-29 鏂板
-                parseSecurityData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                parseSecurityData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                 break;
-            case Configuration.SENSOR_BIG_TYPE://2019-07-03 灞忚斀
-                parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+            case Configuration.SENSOR_BIG_TYPE:
+                parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                 break;
             case Configuration.COMMON_SWITCH_BIG_TYPE://2020-04-01 閫氱敤寮�鍏�
-                parseCommonSwitchData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");
+                parseCommonSwitchData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
                 break;
-
+            case Configuration.FRESH_AIR_BIG_TYPE://2020-07-20 鏂板鏂伴
+                parseFreshAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
+                break;
+            case Configuration.GEOTHERMAL_BIG_TYPE://2020-07-20 鍦扮儹
+                parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
+                break;
+            case Configuration.DOOR_MACHINE_BIG_TYPE://2023-08-22 闂ㄩ攣
+                parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, "");
+                break;
             default:
 //                            appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE);
                 break;
@@ -903,7 +1088,8 @@
                 + "-" + appliancesInfo.getDeviceSubnetID()
                 + "-" + appliancesInfo.getDeviceDeviceID()
                 + "-" + appliancesInfo.getChannelNum();
-        appliancesInfo.setRemarks(mRemarks);
+//        appliancesInfo.setRemarks(mRemarks);
+        HDLLog.I("---getDevicesInfo getRemarks()锛�" + appliancesInfo.getRemarks());
         appliancesInfo.setDeviceKey(key);//2019-8-2 娣诲姞鍞竴鏍囪瘑key
         return appliancesInfo;
 
@@ -911,9 +1097,9 @@
 
 
     /**
-     *
      * 娣诲姞璁惧鍥炶矾
      * 濡傛灉瀛樺湪鐩稿悓瀛愮綉鍙� 璁惧鍙凤紝鍒欏綋鎴愭贩鍚堟ā鍧楁坊鍔犲埌璇ュ洖璺笅锛屼笉瀛樺湪鍒欐柊娣诲姞妯″潡
+     *
      * @param bigType
      * @param littleType
      * @param mSubnetID
@@ -921,7 +1107,7 @@
      * @param parentRemarks
      * @return
      */
-    public static DevicesData addDevicesListWithoutSearching(int bigType, int littleType, int mSubnetID, int mDeviceID, int mChannelNum, String mChannelRemark, String parentRemarks) {
+    public static DevicesData addDevicesListWithoutSearching(int bigType, int littleType, int mSubnetID, int mDeviceID, int mChannelNum, int mIndex,  String mChannelRemark, String parentRemarks) {
 //        boolean bWantData = false;
         if (isWantData(bigType, littleType)) {
             DevicesData devicesData = new DevicesData();
@@ -941,13 +1127,13 @@
 
 
             if (isFindDevicesData) {
-                AppliancesInfo mAppliancesInfo = getDevicesInfo(devicesData, bigType, littleType, mChannelNum, parentRemarks, mChannelRemark);
+                AppliancesInfo mAppliancesInfo = getDevicesInfo(devicesData, bigType, littleType, mChannelNum, mIndex, parentRemarks, mChannelRemark);
                 devicesDataList.get(index).getAppliancesInfoList().add(mAppliancesInfo);
                 devicesData = devicesDataList.get(index);
                 HandleSearch.OnDeviceListGetSuccessCallBack();
             } else {
                 List<AppliancesInfo> appliancesInfoList = new ArrayList<>();
-                appliancesInfoList.add(getDevicesInfo(devicesData, bigType, littleType, mChannelNum, parentRemarks, mChannelRemark));
+                appliancesInfoList.add(getDevicesInfo(devicesData, bigType, littleType, mChannelNum, mIndex, parentRemarks, mChannelRemark));
                 devicesData.setAppliancesInfoList(appliancesInfoList);
                 devicesDataList.add(devicesData);
                 HandleSearch.OnDeviceListGetSuccessCallBack();

--
Gitblit v1.8.0