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