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