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