From 70658288824174b5ecd8a022ecfc053a19aa292d Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 10 八月 2021 16:36:14 +0800
Subject: [PATCH] 2021-08-10 1.更新

---
 hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLAppliances/HDLAirCondition/Parser/AirCtrlParser.java |    2 
 app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlAirActivity.java                                 |  148 +++---------------------
 app/src/main/res/layout/activity_ctrl_air.xml                                                       |   17 ++
 app/src/main/java/com/hdl/sdk/hdl_sdk/activity/AppliancesActivity.java                              |   14 +-
 hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java              |  128 +++++++++++++++++++-
 5 files changed, 163 insertions(+), 146 deletions(-)

diff --git a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/AppliancesActivity.java b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/AppliancesActivity.java
index 4e7f997..22a1149 100644
--- a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/AppliancesActivity.java
+++ b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/AppliancesActivity.java
@@ -80,12 +80,14 @@
 
                 }
                 else  if (appliancesInfos.get(position).getBigType() == Configuration.AIR_BIG_TYPE) {
-                    //绌鸿皟妯″潡
-                    if(appliancesInfos.get(position).getDeviceType() == HDLApConfig.TYPE_AC_HVAC){
-                        intent.setClass(AppliancesActivity.this, CtrlAirHVACActivity.class);
-                    }else {
-                        intent.setClass(AppliancesActivity.this, CtrlAirActivity.class);
-                    }
+//                    //绌鸿皟妯″潡
+//                    if(appliancesInfos.get(position).getDeviceType() == HDLApConfig.TYPE_AC_HVAC){
+//                        intent.setClass(AppliancesActivity.this, CtrlAirHVACActivity.class);
+//
+//                    }else {
+//                        intent.setClass(AppliancesActivity.this, CtrlAirActivity.class);
+//                    }
+                    intent.setClass(AppliancesActivity.this, CtrlAirActivity.class);
                 }
 
                 else {
diff --git a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlAirActivity.java b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlAirActivity.java
index 847948a..2cf3ba5 100644
--- a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlAirActivity.java
+++ b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlAirActivity.java
@@ -37,7 +37,7 @@
 
     private Button airBtnSwitch, airBtnMode, airBtnTemp, airBtnSpeed;
     private TextView airText;
-    private TextView tv_switch, tv_mode, tv_speed, tv_tempet;
+    private TextView tv_switch, tv_mode, tv_speed, tv_tempet, tv_indoorTempet;
     private EditText airTempEd;
     private AppliancesInfo appliancesInfo;
 
@@ -46,6 +46,7 @@
     private int airModeState;
     private int airTempState;
     private int airSpeedState;
+    private int indoorTemp;
 //    /**
 //     * true涓鸿缃憚姘忓害 false涓鸿缃崕姘忓害
 //     * 鍙傛暟鑼冨洿 16~30鎽勬皬搴�(鈩�)
@@ -105,7 +106,9 @@
 
     private void displayStateView(){
         switch (appliancesInfo.getDeviceType()) {
-//            case HDLApConfig.TYPE_AC_HVAC:
+            case HDLApConfig.TYPE_AC_HVAC:
+                HDLCommand.getHVACDeviceStateFromNetwork(appliancesInfo);
+                break;
             case HDLApConfig.TYPE_AC_PANEL:
                 loadDeviceData();
                 break;
@@ -128,6 +131,8 @@
         tv_mode = findViewById(R.id.tv_mode);
         tv_speed = findViewById(R.id.tv_speed);
         tv_tempet = findViewById(R.id.tv_tempet);
+
+        tv_indoorTempet = findViewById(R.id.tv_indoorTempet);
     }
 
     private void initOnClick() {
@@ -420,7 +425,7 @@
         ) {
             //杩欎釜杩斿洖鐨勪俊鎭槸褰撳墠鐘舵�佺殑
             switch (event.getAppliancesInfo().getDeviceType()) {
-//                case HDLApConfig.TYPE_AC_HVAC:
+                case HDLApConfig.TYPE_AC_HVAC:
                 case HDLApConfig.TYPE_AC_PANEL:
                     if (appliancesInfo.getChannelNum() == event.getAppliancesInfo().getChannelNum()) {
                         if (!event.isSuccess()) {
@@ -429,132 +434,8 @@
                         }
 
                         byte[] curState = event.getAppliancesInfo().getArrCurState();
-
                         readAirState(curState);
-//                        switch (curState[0] & 0xFF) {
-//                            case AirCtrlParser.airSwich:
-//                                switch (curState[1] & 0xFF) {
-//                                    case AirCtrlParser.airOff:
-//                                        airSwitchState = 0;
-//                                        airText.setText("绌鸿皟鍏�");
-//                                        showToast("绌鸿皟鍏�");
-//                                        HDLLog.I("绌鸿皟鍏�");
-//                                        break;
-//                                    case AirCtrlParser.airOn:
-//                                        airSwitchState = 1;
-//                                        airText.setText("绌鸿皟寮�");
-//                                        showToast("绌鸿皟寮�");
-//                                        HDLLog.I("绌鸿皟寮�");
-//                                        break;
-//                                    default:
-//                                        break;
-//                                }
-//
-//                                break;
-//
-//                            case AirCtrlParser.airSpeed:
-//                                switch (curState[1] & 0xFF) {
-//                                    case AirCtrlParser.airSpeedAuto:
-//                                        airSpeedState = 0;
-//                                        airText.setText("绌鸿皟椋庨�燂紝椋庨�熸ā寮忎负锛歛irSpeedAuto鑷姩椋庨��");
-//                                        showToast("绌鸿皟椋庨�燂紝椋庨�熸ā寮忎负锛歛irSpeedAuto鑷姩椋庨��");
-//                                        HDLLog.I("绌鸿皟椋庨�燂紝椋庨�熸ā寮忎负锛歛irSpeedAuto鑷姩椋庨��");
-//                                        break;
-//                                    case AirCtrlParser.airSpeedHigh:
-//                                        airSpeedState = 1;
-//                                        airText.setText("绌鸿皟椋庨�燂紝椋庨�熸ā寮忎负锛歛irSpeedHigh椋庨�熼珮");
-//                                        showToast("绌鸿皟椋庨�燂紝椋庨�熸ā寮忎负锛歛irSpeedHigh椋庨�熼珮");
-//                                        HDLLog.I("绌鸿皟椋庨�燂紝椋庨�熸ā寮忎负锛歛irSpeedHigh椋庨�熼珮");
-//                                        break;
-//                                    case AirCtrlParser.airSpeedMid:
-//                                        airSpeedState = 2;
-//                                        airText.setText("绌鸿皟椋庨�燂紝椋庨�熸ā寮忎负锛歛irSpeedMid椋庨�熶腑");
-//                                        showToast("绌鸿皟椋庨�燂紝椋庨�熸ā寮忎负锛歛irSpeedMid椋庨�熶腑");
-//                                        HDLLog.I("绌鸿皟椋庨�燂紝椋庨�熸ā寮忎负锛歛irSpeedMid椋庨�熶腑");
-//                                        break;
-//                                    case AirCtrlParser.airSpeedLow:
-//                                        airSpeedState = 3;
-//                                        airText.setText("绌鸿皟椋庨�燂紝椋庨�熸ā寮忎负锛歛irSpeedLow椋庨�熶綆");
-//                                        showToast("绌鸿皟椋庨�燂紝椋庨�熸ā寮忎负锛歛irSpeedLow椋庨�熶綆");
-//                                        HDLLog.I("绌鸿皟椋庨�燂紝椋庨�熸ā寮忎负锛歛irSpeedLow椋庨�熶綆");
-//                                        break;
-//                                    default:
-//                                        break;
-//                                }
-//                                break;
-//                            case AirCtrlParser.airMode:
-//                                switch (curState[1] & 0xFF) {
-//                                    case AirCtrlParser.airModeRefTem:
-//                                        airModeState = 0;
-//                                        airText.setText("绌鸿皟妯″紡锛屾ā寮忎负锛氬埗鍐�");
-//                                        showToast("绌鸿皟妯″紡锛屾ā寮忎负锛氬埗鍐�");
-//                                        HDLLog.I("绌鸿皟妯″紡锛屾ā寮忎负锛氬埗鍐�");
-//                                        break;
-//                                    case AirCtrlParser.airModeHeatTem:
-//                                        airModeState = 1;
-//                                        airText.setText("绌鸿皟妯″紡锛屾ā寮忎负锛氬埗鐑�");
-//                                        showToast("绌鸿皟妯″紡锛屾ā寮忎负锛氬埗鐑�");
-//                                        HDLLog.I("绌鸿皟妯″紡锛屾ā寮忎负锛氬埗鐑�");
-//                                        break;
-//                                    case AirCtrlParser.airModeVen:
-//                                        airModeState = 2;
-//                                        airText.setText("绌鸿皟妯″紡锛屾ā寮忎负锛氶�氶");
-//                                        showToast("绌鸿皟妯″紡锛屾ā寮忎负锛氶�氶");
-//                                        HDLLog.I("绌鸿皟妯″紡锛屾ā寮忎负锛氶�氶");
-//                                        break;
-//                                    case AirCtrlParser.airModeAuto:
-//                                        airModeState = 3;
-//                                        airText.setText("绌鸿皟妯″紡锛屾ā寮忎负锛氳嚜鍔�");
-//                                        showToast("绌鸿皟妯″紡锛屾ā寮忎负锛氳嚜鍔�");
-//                                        HDLLog.I("绌鸿皟妯″紡锛屾ā寮忎负锛氳嚜鍔�");
-//                                        break;
-//                                    case AirCtrlParser.airModeDehum:
-//                                        airModeState = 4;
-//                                        airText.setText("绌鸿皟妯″紡锛屾ā寮忎负锛氭娊婀�");
-//                                        showToast("绌鸿皟妯″紡锛屾ā寮忎负锛氭娊婀�");
-//                                        HDLLog.I("绌鸿皟妯″紡锛屾ā寮忎负锛氭娊婀�");
-//                                        break;
-//                                    default:
-//                                        break;
-//                                }
-//                                break;
-//                            case AirCtrlParser.refTem:
-//                                airTempState = curState[1] & 0xFF;
-//                                airText.setText("绌鸿皟鍒跺喎锛屾俯搴︿负锛�" + (curState[1] & 0xFF));
-//                                showToast("绌鸿皟鍒跺喎锛屾俯搴︿负锛�" + (curState[1] & 0xFF));
-//                                HDLLog.I("绌鸿皟鍒跺喎锛屾俯搴︿负锛�" + (curState[1] & 0xFF));
-//                                break;
-//                            case AirCtrlParser.heatTem:
-//                                airTempState = curState[1] & 0xFF;
-//                                airText.setText("绌鸿皟鍒剁儹锛屽埗鐑俯搴︿负" + (curState[1] & 0xFF));
-//                                showToast("绌鸿皟鍒剁儹锛屽埗鐑俯搴︿负" + (curState[1] & 0xFF));
-//                                HDLLog.I("绌鸿皟鍒剁儹锛屽埗鐑俯搴︿负" + (curState[1] & 0xFF));
-//                                break;
-//                            case AirCtrlParser.autoTem:
-//                                airTempState = curState[1] & 0xFF;
-//                                airText.setText("绌鸿皟鑷姩锛岃嚜鍔ㄦ俯搴︿负" + (curState[1] & 0xFF));
-//                                showToast("绌鸿皟鑷姩锛岃嚜鍔ㄦ俯搴︿负" + (curState[1] & 0xFF));
-//                                HDLLog.I("绌鸿皟鑷姩锛岃嚜鍔ㄦ俯搴︿负" + (curState[1] & 0xFF));
-//                                break;
-//                            case AirCtrlParser.dehumTem:
-//                                airTempState = curState[1] & 0xFF;
-//                                airText.setText("绌鸿皟鎶芥箍锛屾娊婀挎俯搴︿负" + (curState[1] & 0xFF));
-//                                showToast("绌鸿皟鎶芥箍锛屾娊婀挎俯搴︿负" + (curState[1] & 0xFF));
-//                                HDLLog.I("绌鸿皟鎶芥箍锛屾娊婀挎俯搴︿负" + (curState[1] & 0xFF));
-//                                break;
-//                            case AirCtrlParser.upTem:
-//                                airTempState = curState[1] & 0xFF;
-//                                airText.setText("绌鸿皟璋冩俯锛屼笂鍗囨俯搴︼細" + (curState[1] & 0xFF));
-//                                showToast("绌鸿皟璋冩俯锛屼笂鍗囨俯搴︼細" + (curState[1] & 0xFF));
-//                                HDLLog.I("绌鸿皟璋冩俯锛屼笂鍗囨俯搴︼細" + (curState[1] & 0xFF));
-//                                break;
-//                            case AirCtrlParser.downTem:
-//                                airTempState = curState[1] & 0xFF;
-//                                airText.setText("绌鸿皟璋冩俯锛屼笅闄嶆俯搴︼細" + (curState[1] & 0xFF));
-//                                showToast("绌鸿皟璋冩俯锛屼笅闄嶆俯搴︼細" + (curState[1] & 0xFF));
-//                                HDLLog.I("绌鸿皟璋冩俯锛屼笅闄嶆俯搴︼細" + (curState[1] & 0xFF));
-//                                break;
-//                        }
+
                     }
                     break;
                 default:
@@ -565,6 +446,8 @@
     }
 
     private void readAirState( byte[] curState ){
+        HDLLog.I("readAirState 妯″紡锛�"+ (curState[0] & 0xFF) + "鐘舵�侊細" +(curState[1] & 0xFF));
+
         String mes = "";
         switch (curState[0] & 0xFF) {
             case AirCtrlParser.airSwich:
@@ -722,7 +605,6 @@
             case AirCtrlParser.upTem:
                 airTempState = curState[1] & 0xFF;
 
-
                 tv_tempet.setText("" + airTempState);
                 mes = "绌鸿皟璋冩俯锛屼笂鍗囨俯搴︼細" + (airTempState);
                 tv_mesSetText(mes);
@@ -735,7 +617,13 @@
                 tv_mesSetText(mes);
                 HDLLog.I(mes);
                 break;
-
+            case AirCtrlParser.airIndoorTemp:
+                indoorTemp = curState[1] & 0xFF;
+                tv_indoorTempet.setText("" + indoorTemp);
+                mes = "褰撳墠瀹ゅ唴娓╁害锛�" + (indoorTemp);
+                tv_mesSetText(mes);
+                HDLLog.I(mes);
+                break;
         }
 
     }
diff --git a/app/src/main/res/layout/activity_ctrl_air.xml b/app/src/main/res/layout/activity_ctrl_air.xml
index b362174..d1d79a6 100644
--- a/app/src/main/res/layout/activity_ctrl_air.xml
+++ b/app/src/main/res/layout/activity_ctrl_air.xml
@@ -97,6 +97,23 @@
                     android:text="" />
             </LinearLayout>
 
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="40dp">
+
+                <TextView
+                    android:layout_width="80dp"
+                    android:layout_height="match_parent"
+                    android:gravity="center"
+                    android:text="瀹ゅ唴娓╁害锛�" />
+
+                <TextView
+                    android:id="@+id/tv_indoorTempet"
+                    android:layout_width="80dp"
+                    android:layout_height="match_parent"
+                    android:gravity="center"
+                    android:text="" />
+            </LinearLayout>
             <TextView
                 android:id="@+id/airText"
                 android:textSize="@dimen/ts_20"
diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLAppliances/HDLAirCondition/Parser/AirCtrlParser.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLAppliances/HDLAirCondition/Parser/AirCtrlParser.java
index c253b8d..70f0fc3 100644
--- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLAppliances/HDLAirCondition/Parser/AirCtrlParser.java
+++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLAppliances/HDLAirCondition/Parser/AirCtrlParser.java
@@ -41,6 +41,8 @@
 
     public static final int dehumTem = 19;//鎶芥箍娓╁害
 
+    public static final int airIndoorTemp = 200;//瀹ゅ唴娓╁害 2021-08-10 鑷畾涔夛紝鐢ㄤ簬閫氱煡褰撳墠璁惧瀹ゅ唴娓╁害
+
 
     public static byte[] getAirPanelAddByte(int type, int arg2) {
         byte[] addBytes;
diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java
index 74d178f..cf40bf0 100644
--- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java
+++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java
@@ -3129,7 +3129,7 @@
 
     /**
      * 澶勭悊HVAC 鎺у埗鍥炶皟
-     * 2019-8-6
+     * 2021-08-10
      *
      * @param getDatas
      */
@@ -3146,16 +3146,65 @@
                                 && infos.get(j).getDeviceType() == HDLApConfig.TYPE_AC_HVAC
                                 && infos.get(j).getChannelNum() == (getDatas.addBytes[0] & 0xFF)) {
 
+//                            //
+//                            devicesDataList.get(i).getAppliancesInfoList().get(j).setArrCurState(getDatas.addBytes);
+//                            AppliancesInfo mHvacAirInfo = devicesDataList.get(i).getAppliancesInfoList().get(j);
+//                            AirHVACBackInfo info = new AirHVACBackInfo(mHvacAirInfo);
+//                            setDeviceCtrlSuccessStateWithInfo(infos.get(j), true);
+//                            EventBus.getDefault().post(new AirHVACFeedBackEvent(info, true));
+
+
+                            //2021-08-10 锛屾敼鍥濧irFeedBackEvent閫氱煡鍥炶皟
+                            setDeviceCtrlSuccessStateWithInfo(infos.get(j), true);
                             devicesDataList.get(i).getAppliancesInfoList().get(j).setArrCurState(getDatas.addBytes);
                             AppliancesInfo mHvacAirInfo = devicesDataList.get(i).getAppliancesInfoList().get(j);
-                            AirHVACBackInfo info = new AirHVACBackInfo(mHvacAirInfo);
-                            setDeviceCtrlSuccessStateWithInfo(infos.get(j), true);
-                            EventBus.getDefault().post(new AirHVACFeedBackEvent(info, true));
+
+                            if (getDatas.addBytes.length > 12) {
+                                //瑙f瀽鏈�鏂扮殑鐘舵��
+                                byte indoorTemp = getDatas.addBytes[2];
+                                byte refTemp = getDatas.addBytes[3];//鍒跺喎娓╁害鐐� 0-84
+                                byte heatTemp = getDatas.addBytes[4];//鍒剁儹娓╁害鐐� 0-84
+                                byte autoTemp = getDatas.addBytes[5];//鑷姩娓╁害鐐� 0-84
+                                byte wettedTemp = getDatas.addBytes[6];//鎶芥箍娓╁害鐐� 0-84
+                                byte isOn = getDatas.addBytes[8];
+                                byte airMode = getDatas.addBytes[9];
+                                byte airSpeed = getDatas.addBytes[10];
+                                //鐩墠鎺ユ敹鍒版暟鎹� 閮介�氱煡涓�娆℃渶鏂扮殑鐘舵��
+                                //1.鍥炶皟寮�鍏崇姸鎬�
+                                sendAirFeedBackEvent(mHvacAirInfo,  new byte[]{AirCtrlParser.airSwich, isOn});
+                                //2.鍥炶皟 瀹ゅ唴娓╁害鐘舵��
+                                sendAirFeedBackEvent(mHvacAirInfo,  new byte[]{(byte)AirCtrlParser.airIndoorTemp, indoorTemp});
+                                //3.鍥炶皟 绌鸿皟妯″紡
+                                sendAirFeedBackEvent(mHvacAirInfo,  new byte[]{(byte)AirCtrlParser.airMode, airMode});
+                                //4.鍥炶皟 褰撳墠妯″紡瀵瑰簲鐨勬俯搴︼紝涔熷彲浠ユ敼涓洪�氱煡鎵�鏈夋ā寮忕殑娓╁害
+                                byte[] curAirInfo = {0,0};
+                                switch (airMode) {
+                                    case 0:
+                                        curAirInfo = new byte[]{AirCtrlParser.refTem, refTemp};
+                                        break;
+                                    case 1:
+                                        curAirInfo = new byte[]{AirCtrlParser.heatTem, heatTemp};
+                                        break;
+                                    case 2:
+                                        //閫氶妯″紡娌℃湁娓╁害
+//                                    curAirInfo = new byte[]{AirCtrlParser.airTemp, newAirTem};
+                                        break;
+                                    case 3:
+                                        curAirInfo = new byte[]{AirCtrlParser.autoTem, autoTemp};
+                                        break;
+                                    case 4:
+                                        curAirInfo = new byte[]{AirCtrlParser.dehumTem, wettedTemp};
+                                        break;
+                                }
+                                sendAirFeedBackEvent(mHvacAirInfo, curAirInfo);
+                                //5.鍥炶皟 绌鸿皟椋庨��
+                                sendAirFeedBackEvent(mHvacAirInfo,  new byte[]{(byte)AirCtrlParser.airSpeed, airSpeed});
+                            }
+
+                            devicesDataList.get(i).getAppliancesInfoList().get(j).setArrCurState(getDatas.addBytes);
                             break outter;
                         }
-//                                else {
-//                                    HDLLog.E("鎺у埗HVAC鐘舵�佸弽棣堟暟鎹紓甯�");
-//                                }
+
                     }
                 }
 
@@ -3164,9 +3213,20 @@
         }
     }
 
+   /**
+    * 2021-08-10
+    * 鍙戦�侀�氱煡 绌鸿皟鐘舵��
+    */
+    private static void sendAirFeedBackEvent(AppliancesInfo mHvacAirInfo, byte[] curStateBytes){
+        AirCtrlBackInfo backInfo1 = new AirCtrlBackInfo();
+        backInfo1.setAppliancesInfo(mHvacAirInfo);
+        backInfo1.setCurState(curStateBytes);
+        EventBus.getDefault().post(new AirFeedBackEvent(backInfo1, true));
+    }
+
     /**
-     * 璇诲彇HVAC鐘舵�佸弽棣�
-     *
+     * 2021-08-10
+     * 璇诲彇HVAC鐘舵�佸弽棣堜篃閫氳繃AirFeedBackEvent鍥炶皟
      * @param getDatas
      */
     private static void handleHVACStateData(UdpDataBean getDatas) {
@@ -3181,9 +3241,57 @@
                             && infos.get(j).getDeviceType() == HDLApConfig.TYPE_AC_HVAC
                             && infos.get(j).getChannelNum() == (getDatas.addBytes[0] & 0xFF)) {//2019-8-6
 
+//                        isGetDeviceStateSuccess = true;
+//                        devicesDataList.get(i).getAppliancesInfoList().get(j).setArrCurState(getDatas.addBytes);
+//                        EventBus.getDefault().post(new DeviceStateEvent(devicesDataList.get(i).getAppliancesInfoList().get(j), true));
+
+                        //鏀瑰洖鏃ф柟妗� 鎵�鏈夌姸鎬佸垎寮�閫氱煡
                         isGetDeviceStateSuccess = true;
                         devicesDataList.get(i).getAppliancesInfoList().get(j).setArrCurState(getDatas.addBytes);
-                        EventBus.getDefault().post(new DeviceStateEvent(devicesDataList.get(i).getAppliancesInfoList().get(j), true));
+
+                        AppliancesInfo mHvacAirInfo = devicesDataList.get(i).getAppliancesInfoList().get(j);
+                        byte[] curAirInfo = new byte[]{0};
+                        if (getDatas.addBytes.length > 12) {
+                            //瑙f瀽鏈�鏂扮殑鐘舵��
+                            byte indoorTemp = getDatas.addBytes[2];
+                            byte refTemp = getDatas.addBytes[3];//鍒跺喎娓╁害鐐� 0-84
+                            byte heatTemp = getDatas.addBytes[4];//鍒剁儹娓╁害鐐� 0-84
+                            byte autoTemp = getDatas.addBytes[5];//鑷姩娓╁害鐐� 0-84
+                            byte wettedTemp = getDatas.addBytes[6];//鎶芥箍娓╁害鐐� 0-84
+                            byte isOn = getDatas.addBytes[8];
+                            byte airMode = getDatas.addBytes[9];
+                            byte airSpeed = getDatas.addBytes[10];
+                            //1.鍥炶皟寮�鍏崇姸鎬�
+                            sendAirFeedBackEvent(mHvacAirInfo, new byte[]{AirCtrlParser.airSwich, isOn});
+                            //2.鍥炶皟 瀹ゅ唴娓╁害鐘舵��
+                            sendAirFeedBackEvent(mHvacAirInfo, new byte[]{(byte) AirCtrlParser.airIndoorTemp, indoorTemp});
+                            //3.鍥炶皟 绌鸿皟妯″紡
+                            sendAirFeedBackEvent(mHvacAirInfo, new byte[]{(byte) AirCtrlParser.airMode, airMode});
+                            //4.鍥炶皟 褰撳墠妯″紡瀵瑰簲鐨勬俯搴�
+                            switch (airMode) {
+                                case 0:
+                                    curAirInfo = new byte[]{AirCtrlParser.refTem, refTemp};
+                                    break;
+                                case 1:
+                                    curAirInfo = new byte[]{AirCtrlParser.heatTem, heatTemp};
+                                    break;
+                                case 2:
+                                    //閫氶妯″紡娌℃湁娓╁害
+//                                    curAirInfo = new byte[]{AirCtrlParser.airTemp, newAirTem};
+                                    break;
+                                case 3:
+                                    curAirInfo = new byte[]{AirCtrlParser.autoTem, autoTemp};
+                                    break;
+                                case 4:
+                                    curAirInfo = new byte[]{AirCtrlParser.dehumTem, wettedTemp};
+                                    break;
+                            }
+                            sendAirFeedBackEvent(mHvacAirInfo, curAirInfo);
+                            //5.鍥炶皟 绌鸿皟椋庨��
+                            sendAirFeedBackEvent(mHvacAirInfo, new byte[]{(byte) AirCtrlParser.airSpeed, airSpeed});
+                        }
+
+
                         break outter;
                     } else {
                         HDLLog.info("handleHVACStateData 娌℃湁鎵惧埌鍖归厤绫诲瀷");

--
Gitblit v1.8.0