From a40848272e33822f72a7fe0310f079717bf73f23 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期五, 18 十月 2024 16:21:39 +0800 Subject: [PATCH] 修复金茂科技系统,金茂光伏问题 --- HDL_ON/DAL/DriverLayer/Control_Udp.cs | 83 ++++++++++++++++------------------------- 1 files changed, 32 insertions(+), 51 deletions(-) diff --git a/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/HDL_ON/DAL/DriverLayer/Control_Udp.cs index 5f3e595..3dceeb3 100644 --- a/HDL_ON/DAL/DriverLayer/Control_Udp.cs +++ b/HDL_ON/DAL/DriverLayer/Control_Udp.cs @@ -104,7 +104,7 @@ try { //璐﹀彿娌$櫥褰曚笉鍥炲 - if ( UserInfo.Current == null || ! UserInfo.Current.IsLogin) + if ( UserInfo.Current == null )///|| ! UserInfo.Current.IsLogin) { return; } @@ -197,7 +197,7 @@ } break; case SPK.AcStandard: - case SPK.HvacAC: + case SPK.HvacAC:case SPK.HvacAcPanel: AC acTemp = new AC(); byte onoff = 0; byte mode = 0; @@ -302,7 +302,7 @@ break; case SPK.LightRGB: break; - case SPK.HvacFloorHeat: + case SPK.HvacFloorHeat:case SPK.HvacFloorHeatPanel: case SPK.FloorHeatStandard: if (f.status.Find((obj)=>obj.key ==FunctionAttributeKey.Mode) == null) { @@ -609,9 +609,8 @@ } break; case SPK.AcStandard: - case SPK.HvacAC: + 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,25 +696,26 @@ 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.HvacFloorHeat:case SPK.FloorHeatStandard:case SPK.HvacFloorHeatPanel: var fhTemp = new FloorHeating(); if (function.Fh_Mode_Temp.Count == 4) { @@ -957,10 +937,10 @@ ControlBytesSend(Command.ReadCurtainStatus, subnetId, deviceId, new byte[] { function.bus.LoopId }); break; case SPK.AcStandard: - case SPK.HvacAC: + case SPK.HvacAC:case SPK.HvacAcPanel: ControlBytesSend(Command.ReadACMode, subnetId, deviceId, new byte[] { function.bus.LoopId }); break; - case SPK.HvacFloorHeat:case SPK.FloorHeatStandard: + case SPK.HvacFloorHeat:case SPK.FloorHeatStandard:case SPK.HvacFloorHeatPanel: ControlBytesSend(Command.ReadFloorHeat, subnetId, deviceId, new byte[] { function.bus.LoopId }); break; case SPK.HvacFan: @@ -1218,6 +1198,7 @@ /// </summary> public void SearchLocalGateway(bool broadcast = false) { + //MainPage.Log("SearchLocalGateway"); try { var sendJob = new JObject { { "id", Control.Ins.msg_id.ToString() }, { "time_stamp", Utlis.GetTimestamp ()} }; -- Gitblit v1.8.0