From 81d297dd33911dbfdc93dbc3fa9747e511b7ce8e Mon Sep 17 00:00:00 2001
From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com>
Date: 星期五, 08 十一月 2024 14:51:10 +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