From 566ddb2ea03e2514de50f2ca861a2674f6e840ac Mon Sep 17 00:00:00 2001 From: 562935844@qq.com Date: 星期一, 27 十一月 2023 13:32:27 +0800 Subject: [PATCH] 新增科技系统、门锁、新风和地暖支持 --- HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java | 241 ++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 204 insertions(+), 37 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..e1aeedc 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. @@ -72,13 +73,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, "");//闂ㄩ攣鐨勯�氶亾鍙烽渶瑕�-1 + break; default: // appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE); break; @@ -93,9 +102,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()); } } } @@ -128,14 +137,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; @@ -163,9 +170,8 @@ case Configuration.AIR_BIG_TYPE: switch (littleType) { case 0: - isWant = true; - break; case 3: + case 100: isWant = true; break; default: @@ -245,6 +251,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 +302,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 +320,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,10 +342,18 @@ 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); + + 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.setDeviceSubnetID(devicesData.getSourceSubnetID()); appliancesInfo.setDeviceDeviceID(devicesData.getSourceDeviceID()); appliancesInfo.setParentRemarks(parentRemarks); @@ -365,6 +415,10 @@ appliancesInfo.setDeviceName("閫氱敤绌鸿皟闈㈡澘"); appliancesInfo.setDeviceType(HDLApConfig.TYPE_AC_PANEL); break; + case 100: + appliancesInfo.setDeviceName("绉戞妧绯荤粺"); + appliancesInfo.setDeviceType(HDLApConfig.TYPE_AC_TECHSYS); + break; default: appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE); break; @@ -379,7 +433,7 @@ appliancesInfo.setParentRemarks(parentRemarks); // appliancesInfo.setPort(port); // appliancesInfo.setIpAddress(ipAddress); - if (littleType == 0) { + if (littleType == 0 || littleType == 100) {//绉戞妧绯荤粺璧�0x193A鍜�0x1938 appliancesInfo.setCtrlCommand(Configuration.AIR_HVAC_CTRL_COMMAND); appliancesInfo.setCtrlBackCommand(Configuration.AIR_HVAC_CTRL_BACK_COMMAND); appliancesInfo.setStateCommand(Configuration.AIR_HVAC_STATE_COMMAND); @@ -674,32 +728,137 @@ 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.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.DRY_CONTACT_STATE_COMMAND); - appliancesInfo.setStateBackCommand(Configuration.DRY_CONTACT_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.setDeviceSubnetID(devicesData.getSourceSubnetID()); + appliancesInfo.setDeviceDeviceID(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.setDeviceSubnetID(devicesData.getSourceSubnetID()); + appliancesInfo.setDeviceDeviceID(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); + 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.setDeviceSubnetID(devicesData.getSourceSubnetID()); + appliancesInfo.setDeviceDeviceID(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 @@ -886,13 +1045,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 +1078,9 @@ /** - * * 娣诲姞璁惧鍥炶矾 * 濡傛灉瀛樺湪鐩稿悓瀛愮綉鍙� 璁惧鍙凤紝鍒欏綋鎴愭贩鍚堟ā鍧楁坊鍔犲埌璇ュ洖璺笅锛屼笉瀛樺湪鍒欐柊娣诲姞妯″潡 + * * @param bigType * @param littleType * @param mSubnetID -- Gitblit v1.8.0