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 | 235 +++++++++++++++++++++++++++++++--------------------------- 1 files changed, 127 insertions(+), 108 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 e1aeedc..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 @@ -30,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) { @@ -38,55 +38,71 @@ 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: - parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + 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, 0, ""); + parseFreshAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.GEOTHERMAL_BIG_TYPE://鍦扮儹 - parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.DOOR_MACHINE_BIG_TYPE://闂ㄩ攣 - parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, "");//闂ㄩ攣鐨勯�氶亾鍙烽渶瑕�-1 + parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; default: // appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE); @@ -123,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 @@ -154,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: @@ -172,6 +185,7 @@ case 0: case 3: case 100: + case 101: isWant = true; break; default: @@ -195,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; @@ -291,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("璋冨厜鍥炶矾"); @@ -340,6 +351,7 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.LIGTH_BIG_TYPE); appliancesInfo.setLittleType(littleType); @@ -354,15 +366,15 @@ appliancesInfo.setStateCommand(Configuration.LIGHT_STATE_COMMAND); appliancesInfo.setStateBackCommand(Configuration.LIGHT_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 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("寮�鍚堝笜鐢垫満"); @@ -376,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; @@ -383,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 妯″潡"); @@ -419,6 +434,10 @@ 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; @@ -426,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 || littleType == 100) {//绉戞妧绯荤粺璧�0x193A鍜�0x1938 + 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); @@ -450,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("鑳屾櫙闊充箰妯″潡"); @@ -470,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("閫昏緫妯″潡"); @@ -498,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("鍏ㄥ眬閫昏緫妯″潡"); @@ -527,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); - } } @@ -554,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("瀹夐槻妯″潡"); @@ -571,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);//璇诲彇瀹夐槻璁剧疆 @@ -603,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("浼犳劅鍣� 骞茬粨鐐�"); @@ -717,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); @@ -725,17 +741,17 @@ if (devicesData != null) { - appliancesInfo.setChannelNum(curChannelNum); + appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.SENSOR_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.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); } } @@ -745,7 +761,7 @@ * 2020-07-20 * 鏂伴绯荤粺 */ - private static void parseFreshAirData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseFreshAirData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("鏂伴绯荤粺妯″潡"); @@ -770,10 +786,11 @@ if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.FRESH_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); } } @@ -782,7 +799,7 @@ /** * 鍦扮儹 */ - private static void parseGeothermalData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseGeothermalData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("鍦扮儹妯″潡"); @@ -807,13 +824,12 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.GEOTHERMAL_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.GEOTHERMAL_MODULE_CTRL_COMMAND); appliancesInfo.setCtrlBackCommand(Configuration.GEOTHERMAL_MODULE_CTRL_BACK_COMMAND); @@ -828,7 +844,7 @@ /** * 闂ㄩ攣 */ - private static void parseDoorMachineData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseDoorMachineData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 4: appliancesInfo.setDeviceName("闂ㄩ攣妯″潡"); @@ -840,10 +856,11 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.DOOR_MACHINE_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.DOOR_MACHINE_MODULE_CTRL_COMMAND); @@ -867,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("閫氱敤寮�鍏�"); @@ -880,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);//甯冮槻 @@ -904,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); @@ -914,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 ); @@ -999,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; @@ -1020,45 +1038,45 @@ 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: - parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + 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, 0, ""); + parseFreshAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.GEOTHERMAL_BIG_TYPE://2020-07-20 鍦扮儹 - parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.DOOR_MACHINE_BIG_TYPE://2023-08-22 闂ㄩ攣 - parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; default: // appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE); @@ -1070,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; @@ -1088,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(); @@ -1108,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