From 9523ea8fc874c27ad1369c076de59c00bbc5d470 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 15 十月 2024 16:06:11 +0800
Subject: [PATCH] 空调功能更新

---
 HDL_ON/DAL/DriverLayer/Control_Udp.cs |   68 ++++++++++++----------------------
 1 files changed, 24 insertions(+), 44 deletions(-)

diff --git a/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
index bc21d64..3dceeb3 100644
--- a/HDL_ON/DAL/DriverLayer/Control_Udp.cs
+++ b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
@@ -611,7 +611,6 @@
                     case SPK.AcStandard:
                     case SPK.HvacAC:case SPK.HvacAcPanel:
                         var ac = new AC();
-
                         byte onoff = 0;
                         onoff = function.trait_on_off.curValue.ToString() == "on" ? (byte)1 : (byte)0;
                         byte mode = 0;
@@ -621,28 +620,34 @@
                         byte sanfan = 0;
                         byte temp = 16;
                         temp = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.SetTemp));
+                        byte coolTemp = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.CoolTemperatrue));
+                        byte heatTemp = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.HeatTemperatrue));
+                        byte autoTemp = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.AutoTemperatrue));
+                        byte dehumiTemp = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.DehumiTemperatrue));
                         foreach (var dic in commandDictionary)
                         {
                             switch (dic.Key)
                             {
                                 case FunctionAttributeKey.OnOff:
                                     onoff = dic.Value == "on" ? (byte)1 : (byte)0;
-                                    //ControlBytesSend(Command.InstructionPanelKey, function.bus.SubnetID, function.bus.DeviceID,
-                                    //    new byte[] { 3, onoff, function.bus.LoopId });
                                     break;
                                 case "mode":
                                     switch (dic.Value)
                                     {
                                         case "auto":
                                             mode = 3;
+                                            temp = autoTemp;
                                             break;
                                         case "cool":
                                             mode = 0;
+                                            temp = coolTemp;
                                             break;
                                         case "heat":
                                             mode = 1;
+                                            temp = heatTemp;
                                             break;
                                         case "dry":
+                                            temp = dehumiTemp;
                                             mode = 4;
                                             break;
                                         case "fan":
@@ -652,8 +657,6 @@
                                             mode = 0;
                                             break;
                                     }
-                                    //ControlBytesSend(Command.InstructionPanelKey, function.bus.SubnetID, function.bus.DeviceID,
-                                    //    new byte[] { 6, mode, function.bus.LoopId });
                                     break;
                                 case "fan":
                                     switch (dic.Value)
@@ -674,8 +677,6 @@
                                             fan = 0;
                                             break;
                                     }
-                                    //ControlBytesSend(Command.InstructionPanelKey, function.bus.SubnetID, function.bus.DeviceID,
-                                    //    new byte[] { 5, fan, function.bus.LoopId });
                                     break;
                                 case FunctionAttributeKey.SetTemp:
                                     try
@@ -686,28 +687,6 @@
                                     {
                                         temp = 16;
                                     }
-                                    //byte modeKey = 4;
-                                    //switch (ac.GetModeIndex(function))
-                                    //{
-                                    //    case 3:
-                                    //        modeKey = 8;
-                                    //        break;
-                                    //    case 0:
-                                    //        modeKey = 4;
-                                    //        break;
-                                    //    case 1:
-                                    //        modeKey = 7;
-                                    //        break;
-                                    //    case 4:
-                                    //        modeKey = 19;
-                                    //        break;
-                                    //    case 2:
-                                    //        modeKey = 2;
-                                    //        break;
-                                    //}
-                                    
-                                    //ControlBytesSend(Command.InstructionPanelKey, function.bus.SubnetID, function.bus.DeviceID, new byte[] {
-                                    //            modeKey, temp, function.bus.LoopId });
                                     break;
                                 case FunctionAttributeKey.Swing:
                                     //sanfan
@@ -717,22 +696,23 @@
                                     break;
                             }
                         }
-                        /// 璁剧疆绌鸿皟妯″潡鍛戒护
-                        /// 1绌鸿皟鍙�(1-128) 
-                        ///2娓╁害妯″紡(鎽勬皬Celsius:0锛屽崕姘廎ahrenheit:1)                                     
-                        ///3鐜娓╁害 (鎽勬皬0-40锛屽崕姘�32-99)    
-                        ///4鍒跺喎鎺у埗娓╁害(鎽勬皬0-30锛屽崕姘�32-86)    
-                        ///5鍒剁儹鎺у埗娓╁害(鎽勬皬0-30锛屽崕姘�32-86)
-                        ///6鑷姩鎺у埗娓╁害(鎽勬皬0-30锛屽崕姘�32-86)                                                                                           
-                        ///7闄ゆ箍鎺у埗娓╁害(鎽勬皬0-30锛屽崕姘�32-86)
-                        ///8妞掔饥鍋堝浣裤伔楂?  楂�4bit妯″紡(0 鍒跺喎锛�1鍒剁儹锛�2閫氶)  浣�4bit椋庨��(0 鑷姩锛�1楂橀?椋庯紝3浣庨)
-                        ///9绌鸿皟寮�鍏�                 (1寮�0鍏�)           
-                        ///10璁剧疆妯″紡               0 鍒跺喎1鍒剁儹锛�2閫氶锛�3鑷姩锛�4闄ゆ箍
-                        ///11璁剧疆椋庨��                0 鑷姩锛�1楂橀2涓锛�3浣庨          
-                        ///12宸ヤ綔妯℃帶鍒舵俯鑲氭幃鎽勬皬0-30锛屽崕姘�32-86)         
-                        ///13鎵妯″紡锛氶珮4bit(瀹為檯鎵鐘舵�侊細0涓嶆壂椋庯紝1鎵)锛屼綆4bit(璁剧疆鎵妯″紡锛�0涓嶆壂椋庯紝1鎵)
+                        switch (mode)
+                        {
+                            case 0:
+                                coolTemp = temp;
+                                break;
+                            case 1:
+                                heatTemp = temp;
+                                break;
+                            case 3:
+                                autoTemp = temp;
+                                break;
+                            case 4:
+                                dehumiTemp = temp;
+                                break;
+                        }
                         ControlBytesSend(Command.SetACMode, function.bus.SubnetID, function.bus.DeviceID, new byte[] { function.bus.LoopId,
-                        0,0,0,0,0,0,0,onoff,mode,fan,temp,sanfan});
+                        0,0,coolTemp,heatTemp,autoTemp,dehumiTemp,0,onoff,mode,fan,temp,sanfan});
 
                         break;
                     case SPK.HvacFloorHeat:case SPK.FloorHeatStandard:case SPK.HvacFloorHeatPanel:

--
Gitblit v1.8.0