From 071a8328823a2861f93ce556a4da3e4119cab1a3 Mon Sep 17 00:00:00 2001 From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com> Date: 星期四, 19 九月 2024 16:24:28 +0800 Subject: [PATCH] 完成金茂定制功能 --- HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java | 347 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 259 insertions(+), 88 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..9e67ea5 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,18 +38,32 @@ 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; while (curChannelNum < channelNum) { curChannelNum++; if (isWantData(bigType, littleType)) { AppliancesInfo appliancesInfo = new AppliancesInfo(); + appliancesInfo.setDeviceSubnetID(subnetID); + appliancesInfo.setDeviceDeviceID(deviceID); + /**鏍规嵁绫诲埆锛岃祴鍊兼搷浣滅爜绛変竴浜涢噸瑕佷俊鎭�*/ switch (bigType) { case Configuration.LIGTH_BIG_TYPE: @@ -72,13 +87,21 @@ case Configuration.SECURITY_BIG_TYPE://2019-7-29 鏂板 parseSecurityData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); break; - case Configuration.SENSOR_BIG_TYPE://2019-07-03 灞忚斀 + case Configuration.SENSOR_BIG_TYPE: parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); break; case Configuration.COMMON_SWITCH_BIG_TYPE://2020-04-01 閫氱敤寮�鍏� parseCommonSwitchData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); break; - + case Configuration.FRESH_AIR_BIG_TYPE://2020-07-20 鏂板鏂伴 + parseFreshAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + break; + case Configuration.GEOTHERMAL_BIG_TYPE://鍦扮儹 + parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + break; + case Configuration.DOOR_MACHINE_BIG_TYPE://闂ㄩ攣 + parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + break; default: // appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE); break; @@ -93,9 +116,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 +137,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 +151,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 +168,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 +181,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 +207,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 +260,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; @@ -264,10 +311,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 +329,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("娣峰悎璋冨厜绫�"); @@ -300,12 +351,20 @@ appliancesInfo.setChannelNum(channelNum); 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); @@ -326,6 +385,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; @@ -339,11 +402,9 @@ 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); } } @@ -365,6 +426,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; @@ -374,12 +443,10 @@ appliancesInfo.setChannelNum(channelNum); 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); @@ -422,11 +489,9 @@ 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); } @@ -450,12 +515,9 @@ 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); - } } @@ -479,12 +541,9 @@ 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); - } } @@ -519,11 +578,9 @@ appliancesInfo.setChannelNum(channelNum); 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);//璇诲彇瀹夐槻璁剧疆 @@ -663,6 +720,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); @@ -674,32 +735,134 @@ appliancesInfo.setChannelNum(curChannelNum); 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 port, 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.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 port, 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.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 port, 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.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 @@ -723,8 +886,8 @@ appliancesInfo.setChannelNum(channelNum); 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);//甯冮槻 @@ -886,13 +1049,21 @@ case Configuration.SECURITY_BIG_TYPE://2019-7-29 鏂板 parseSecurityData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); break; - case Configuration.SENSOR_BIG_TYPE://2019-07-03 灞忚斀 + case Configuration.SENSOR_BIG_TYPE: parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); break; case Configuration.COMMON_SWITCH_BIG_TYPE://2020-04-01 閫氱敤寮�鍏� parseCommonSwitchData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); break; - + case Configuration.FRESH_AIR_BIG_TYPE://2020-07-20 鏂板鏂伴 + parseFreshAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + break; + case Configuration.GEOTHERMAL_BIG_TYPE://2020-07-20 鍦扮儹 + parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + break; + case Configuration.DOOR_MACHINE_BIG_TYPE://2023-08-22 闂ㄩ攣 + parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + break; default: // appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE); break; @@ -911,9 +1082,9 @@ /** - * * 娣诲姞璁惧鍥炶矾 * 濡傛灉瀛樺湪鐩稿悓瀛愮綉鍙� 璁惧鍙凤紝鍒欏綋鎴愭贩鍚堟ā鍧楁坊鍔犲埌璇ュ洖璺笅锛屼笉瀛樺湪鍒欐柊娣诲姞妯″潡 + * * @param bigType * @param littleType * @param mSubnetID -- Gitblit v1.8.0