From 96e9ff2e5a54f54cdbb6b8b2f049fdf6a837de3c Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 23 八月 2023 14:28:22 +0800 Subject: [PATCH] 备份1 --- OnPro/HDL_ON/DAL/DriverLayer/Control_Udp.cs | 984 --------------------------------------------------------- 1 files changed, 0 insertions(+), 984 deletions(-) diff --git a/OnPro/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/OnPro/HDL_ON/DAL/DriverLayer/Control_Udp.cs index 5dba3fd..963039f 100644 --- a/OnPro/HDL_ON/DAL/DriverLayer/Control_Udp.cs +++ b/OnPro/HDL_ON/DAL/DriverLayer/Control_Udp.cs @@ -1,7 +1,6 @@ 锘縰sing System; using System.Collections.Generic; using System.Text; -using HDL_ON.DriverLayer; using HDL_ON.Entity; using Newtonsoft.Json; using Newtonsoft.Json.Linq; @@ -11,10 +10,6 @@ { public class Control_Udp { - //public Control_Udp() - //{ - // MainPage.Log($"control bus udp 琚垱寤猴紝鏃堕棿锛歿DateTime.Now}"); - //} /// <summary> /// 閫氳绔彛 /// </summary> @@ -46,33 +41,6 @@ } } } - - /// <summary> - /// 鍙戦�佹暟鎹紝涓嶉渶瑕佺瓑寰呭洖澶� - /// </summary> - public void ControlBytesSend(Command command, byte subnetID, byte deviceID, byte[] gatewayBytes, int sendCount = 3,bool reSend = false) - { -#if DEBUG - string ddd = ""; - foreach (var bb in gatewayBytes) - { - ddd += bb + ","; - } - MainPage.Log($"鍙戦�乥us鍛戒护:" + ((int)command).ToString("X").PadLeft(4,'0') + " : 鏁版嵁:" + ddd); -#endif - - var control = new Control_Udp(); - control.Send(new Target() - { - IPEndPoint = EndPoint , - Command = command, - SubnetID = subnetID, - DeviceID = deviceID, - AddData = gatewayBytes, - //}, 3, true); - }, sendCount, reSend); - } - /// <summary> /// 閲嶅彂楠岃瘉 /// </summary> @@ -95,878 +63,6 @@ } } } - - /// <summary> - /// 000E 鎼滅储鍥炲 - /// </summary> - public void ReceiveReadRemark(byte[] usefullBytes) - { - try - { - //璐﹀彿娌$櫥褰曚笉鍥炲 - if ( UserInfo.Current == null || ! UserInfo.Current.IsLogin) - { - return; - } - - Control.Ins.OpenTcpServer(); - var sendStr = UserInfo.Current.AccountString; - if (usefullBytes.Length == 0) - { - SendRemark(sendStr); - } - else - { - bool isExit = false; - for (int i = 0, len = usefullBytes.Length; i < len; i++) - { - if (i % 2 == 0) - { - if ((usefullBytes[i] & 0xFF) == 252 && (usefullBytes[i + 1] & 0xFF) == 252) - { - isExit = true; - break; - } - } - } - if (!isExit) - { - //涓嶅瓨鍦紝浠h〃娌℃敹鍒版湰鏈虹殑鍙戦�侊紝缁х画鍥炲 - SendRemark(sendStr); - } - } - } - catch (Exception ex) { - Console.WriteLine($"鍥炲bus鎼滅储寮傚父 : {ex.Message}"); - } - } - /// <summary> - /// 000F鍥炲澶囨敞 - /// </summary> - void SendRemark(string sendStr) - { - byte[] sendBytes = new byte[20]; - byte[] b1 = Encoding.GetEncoding("gb2312").GetBytes(sendStr); - Array.Copy(b1, 0, sendBytes, 0, 20 < b1.Length ? 20 : b1.Length); - - var control = new Control_Udp(); - control.Send(new Target() - { - IPEndPoint = EndPoint, - Command = Command.ReadRemarkACK, - SubnetID = 0xFF, - DeviceID = 0xFF, - AddData = sendBytes, - }, 0, false); //璁剧疆褰撳墠鍙戦�佹寚浠ゆ柟寮忎负锛氫换浣曟儏鍐典笅鏈湴鍙戦�併�佷笉闄愬埗銆佷笉鍔犲瘑鏄庢枃鍙戦�� - } - - /// <summary> - /// 鎺у埗bus鍦烘櫙 - /// </summary> - public void ControlBusScenes(Scene scene) - { - if(Control.Ins.GatewayOnline_Local) - { - foreach (var f in scene.functions) - { - if (f.localFunction == null) - { - continue; - } - switch (f.localFunction.spk) - { - case SPK.CurtainSwitch: - foreach (var attr in f.status) - { - if (attr.key == FunctionAttributeKey.OnOff) - { - byte curtainState = 0; - switch (attr.value) - { - case "on": - curtainState = 1; - break; - case "off": - curtainState = 2; - break; - } - ControlBytesSend(Command.SetCurtainModelStutas, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, - new byte[] { f.localFunction.bus.LoopId, curtainState },0); - break; - } - } - break; - case SPK.AcStandard: - case SPK.HvacAC: - AC acTemp = new AC(); - byte onoff = 0; - byte mode = 0; - byte fan = 0; - foreach (var attr in f.status) - { - byte modeKey = 4; - switch (attr.key) - { - case FunctionAttributeKey.OnOff: - if(attr.value == "on") - { - onoff = 1; - } - else - { - onoff = 0; - } - break; - case FunctionAttributeKey.Mode: - switch (attr.value) - { - case "auto": - mode = 3; - modeKey = 8; - break; - case "cool": - mode = 0; - modeKey = 4; - break; - case "heat": - mode = 1; - modeKey = 7; - break; - case "dry": - mode = 4; - modeKey = 19; - break; - case "fan": - mode = 2; - modeKey = 2; - break; - } - break; - case FunctionAttributeKey.FanSpeed: - switch (attr.value) - { - case "high": - fan = 1; - break; - case "medium": - fan = 2; - break; - case "low": - fan = 3; - break; - case "auto": - fan = 0; - break; - default: - fan = 0; - break; - } - break; - case FunctionAttributeKey.SetTemp: - ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { - modeKey, Convert.ToByte(attr.value), f.localFunction.bus.LoopId }); - break; - } - ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { 3, onoff, f.localFunction.bus.LoopId }); - ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { 6, mode, f.localFunction.bus.LoopId }); - ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { 5, fan, f.localFunction.bus.LoopId }); - ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { modeKey, modeKey, f.localFunction.bus.LoopId }); - - } - break; - case SPK.LightSwitch: - case SPK.LightDimming: - byte brightness = 0; - foreach (var attr in f.status) - { - switch (attr.key) - { - case FunctionAttributeKey.OnOff: - switch (attr.value) - { - case "on": - brightness = 100; - break; - case "off": - brightness = 0; - break; - } - break; - case FunctionAttributeKey.Brightness: - brightness = Convert.ToByte(attr.value); - break; - } - } - ControlBytesSend(Command.SetSingleLight, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, - new byte[] { f.localFunction.bus.LoopId, brightness, (byte)(f.localFunction.delay / 255), (byte)(f.localFunction.delay % 255) }); - break; - case SPK.LightRGB: - break; - case SPK.HvacFloorHeat:case SPK.FloorHeatStandard: - if (f.status.Find((obj)=>obj.key ==FunctionAttributeKey.Mode) == null) - { - foreach (var dic in f.status) - { - switch (dic.key) - { - case FunctionAttributeKey.OnOff: - ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { 20, dic.value.ToString() == "on" ? (byte)1 : (byte)0, f.localFunction.bus.LoopId }); - break; - case "mode": - ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { 21, Convert.ToByte(dic.value), f.localFunction.bus.LoopId }); - break; - case FunctionAttributeKey.SetTemp: - ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { - 25, Convert.ToByte(dic.value), f.localFunction.bus.LoopId }); - break; - } - } - } - else - { - byte onoff_1 = 0; - byte setTemp_1 = 0; - byte mode_1 = 0; - foreach (var attr in f.status) - { - switch (attr.key) - { - case FunctionAttributeKey.OnOff: - if (attr.value == "on") - { - onoff_1 = 1; - } - else - { - onoff_1 = 0; - } - break; - case FunctionAttributeKey.SetTemp: - setTemp_1 = Convert.ToByte(attr.value); - break; - case FunctionAttributeKey.Mode: - switch (attr.value) - { - case "day": - mode_1 = 2; - break; - case "night": - mode_1 = 3; - break; - case "away": - mode_1 = 4; - break; - case "normal": - mode_1 = 1; - break; - case "timer": - mode_1 = 5; - break; - } - break; - } - } - ControlBytesSend(Command.SetFloorHeat, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { - f. localFunction.bus.LoopId, onoff_1, 0, setTemp_1, mode_1, setTemp_1, setTemp_1, setTemp_1, 0, 0 }); - } - break; - case SPK.ElectricSocket: - case SPK.PanelSocket: - foreach (var attr in f.status) - { - if (attr.key == FunctionAttributeKey.OnOff) - { - byte onOffValue = 0; - switch (attr.value) - { - case "on": - onOffValue = 1; - break; - case "off": - onOffValue = 2; - break; - } - ControlBytesSend(Command.SetSingleLight, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, - new byte[] { f.localFunction.bus.LoopId, onOffValue }); - break; - } - } - break; - } - } - } - else - { - foreach (var f in scene.functions) - { - var count = 0; - List<ApiAlinkControlActionObj> actionObjs = new List<ApiAlinkControlActionObj>(); - Dictionary<string, string> d = new Dictionary<string, string>(); - var pm = new DAL.Server.HttpServerRequest(); - foreach (var temp in f.status) - { - if (f.localFunction == null) - { - continue; - } - d.Add(temp.key, temp.value); - var apiControlData = f.localFunction.GetApiControlData(d); - actionObjs.Add(apiControlData); - count++; - if (count > 9) - { - var result = pm.ControlDevice(actionObjs); - actionObjs = new List<ApiAlinkControlActionObj>(); - count = 0; - } - } - var pack = pm.ControlDevice(actionObjs); - } - } - } - - /// <summary> - /// 鎺у埗bus璁惧 - /// </summary> - /// <param name="commandString"></param> - /// <returns></returns> - public void WriteBusData(Function function, Dictionary<string, string> commandDictionary, bool reSend = false) - { - try - { - var subnetId = function.bus.SubnetID; - var deviceId = function.bus.DeviceID; - var loopId = function.bus.LoopId; - - switch (function.spk) - { - case SPK.LightCCT: - #region cct light - byte b0 = 100; - if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff)) - { - if (function.trait_on_off.curValue.ToString() == "off") - { - b0 = 0; - } - else - { - b0 = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness); - } - } - else - { - b0 = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness)); - } - var bytes0 = new byte[] { function.bus.LoopId, - b0, - 254, 0,Convert.ToByte(function.GetAttrState(FunctionAttributeKey.FadeTime)) ,2, - (byte)(Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.CCT))/256), - (byte)(Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.CCT))%256), - 0, - 0,0}; - ControlBytesSend(Command.SetLogicLoopColor, subnetId, deviceId, bytes0, 1); - #endregion - break; - case SPK.LightRGB: - #region rgb light - byte b = 100; - if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff)) - { - if (function.trait_on_off.curValue.ToString() == "off") - { - b = 0; - } - else - { - b = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness); - } - } - else - { - b = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness)); - } - var tempLight = new Light(); - var bytes = new byte[] { function.bus.LoopId, - b, - 254, 0,Convert.ToByte(function.GetAttrState(FunctionAttributeKey.FadeTime)) ,3, - (byte)tempLight.GetColor(0,function), - (byte)tempLight.GetColor(1,function), - (byte)tempLight.GetColor(2,function), - 0,0}; - ControlBytesSend(Command.SetLogicLoopColor, subnetId, deviceId, bytes, 1); - #endregion - break; - case SPK.LightDimming: - #region dimming light - byte b1 = 100; - if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff)) - { - if (function.trait_on_off.curValue.ToString() == "off") - { - b1 = 0; - } - else - { - b1 = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness); - } - } - else - { - b1 = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness)); - } - ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { - function.bus.LoopId, - b1, - 0, Convert.ToByte(function.GetAttrState(FunctionAttributeKey.FadeTime)) }); - #endregion - break; - case SPK.LightSwitch: - #region LightSwitch - ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus.LoopId, function.trait_on_off.curValue.ToString() == "on" ? (byte)100 : (byte)0, 0, 0 }); - #endregion - break; - case SPK.CurtainSwitch: - #region switch curtain - byte switchCurtain = 0; - if (function.trait_on_off.curValue.ToString() == "stop") - { - switchCurtain = 0; - } - else if (function.trait_on_off.curValue.ToString() == "on") - { - switchCurtain = 1; - } - else - { - switchCurtain = 2; - } - ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { function.bus.LoopId, switchCurtain }); - #endregion - break; - case SPK.CurtainTrietex: - case SPK.CurtainRoller: - if (function.trait_on_off.curValue.ToString() == "stop") - { - ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { function.bus.LoopId, 0 }); - } - else - { - if (commandDictionary.ContainsKey(FunctionAttributeKey.Percent)) - { - ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { (byte)(((int)function.bus.LoopId) + 16), Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Percent)) }); - } - else - { - - byte tempCurtainState = 0; - if (function.trait_on_off.curValue.ToString() == "stop") - { - tempCurtainState = 0; - } - else if (function.trait_on_off.curValue.ToString() == "on") - { - tempCurtainState = 1; - } - else - { - tempCurtainState = 2; - } - ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { function.bus.LoopId, tempCurtainState }); - } - - } - break; - case SPK.AcStandard: - case SPK.HvacAC: - var ac = new AC(); - - byte onoff = 0; - onoff = function.trait_on_off.curValue.ToString() == "on" ? (byte)1 : (byte)0; - byte mode = 0; - mode = ac.GetModeIndex(function); - byte fan = 0; - fan = ac.GetFanIndex(function); - byte sanfan = 0; - byte temp = 16; - temp = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.SetTemp)); - 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; - break; - case "cool": - mode = 0; - break; - case "heat": - mode = 1; - break; - case "dry": - mode = 4; - break; - case "fan": - mode = 2; - break; - default: - 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) - { - case "high": - fan = 1; - break; - case "medium": - fan = 2; - break; - case "low": - fan = 3; - break; - case "auto": - fan = 0; - break; - default: - fan = 0; - break; - } - //ControlBytesSend(Command.InstructionPanelKey, function.bus.SubnetID, function.bus.DeviceID, - // new byte[] { 5, fan, function.bus.LoopId }); - break; - case FunctionAttributeKey.SetTemp: - try - { - temp = Convert.ToByte(dic.Value); - } - catch - { - 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 - break; - default: - MainPage.Log($"鍔熻兘鏈敮鎸� : {dic.Key}"); - 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鎵) - 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}); - - break; - case SPK.HvacFloorHeat:case SPK.FloorHeatStandard: - var fhTemp = new FloorHeating(); - if (function.Fh_Mode_Temp.Count == 4) - { - if (function.GetAttribute(FunctionAttributeKey.Mode) == null) - { - foreach (var dic in commandDictionary) - { - switch (dic.Key) - { - case FunctionAttributeKey.OnOff: - ControlBytesSend(Command.InstructionPanelKey, function.bus.SubnetID, function.bus.DeviceID, new byte[] { 20, function.trait_on_off.curValue.ToString() == "on" ? (byte)1 : (byte)0, function.bus.LoopId }); - break; - case "mode": - ControlBytesSend(Command.InstructionPanelKey, function.bus.SubnetID, function.bus.DeviceID, new byte[] { 21, fhTemp.GetModeIndex(function), function.bus.LoopId }); - break; - case FunctionAttributeKey.SetTemp: - byte modeKey = 25; - switch (fhTemp.GetModeIndex(function)) - { - case 1: - modeKey = 25; - break; - case 2: - modeKey = 26; - break; - case 3: - modeKey = 27; - break; - case 4: - modeKey = 28; - break; - } - ControlBytesSend(Command.InstructionPanelKey, function.bus.SubnetID, function.bus.DeviceID, new byte[] { - modeKey, Convert.ToByte(function.GetAttrState(FunctionAttributeKey.SetTemp)), function.bus.LoopId }); - break; - default: - MainPage.Log($"鍔熻兘鏈敮鎸� : {dic.Key}"); - break; - } - } - } - else - { - var onoffString = function.trait_on_off.curValue.ToString(); - byte b12 = 1; - if (onoffString == "off") - { - b12 = 0; - } - var wm = fhTemp.GetWorkModeIndex(function); - if (wm > 0) - { - b12 += (byte)(16 + wm); - } - if (commandDictionary.ContainsKey("set_temp")) - { - var dicTempString = ""; - commandDictionary.TryGetValue("set_temp", out dicTempString); - var dicTemp = Convert.ToByte(dicTempString); - var mode22 = function.GetAttrState(FunctionAttributeKey.Mode); - switch (mode22) - { - case "day": - function.Fh_Mode_Temp["day"] = dicTemp; - break; - case "night": - function.Fh_Mode_Temp["night"] = dicTemp; - break; - case "away": - function.Fh_Mode_Temp["away"] = dicTemp; - break; - case "normal": - function.Fh_Mode_Temp["normal"] = dicTemp; - break; - } - } - var tt = fhTemp.GetTempUintIndex(function); - ControlBytesSend(Command.SetFloorHeat, subnetId, deviceId, new byte[] { function.bus.LoopId, b12, - (byte)tt,fhTemp.GetModeIndex(function), function.Fh_Mode_Temp["normal"], function.Fh_Mode_Temp["day"], function.Fh_Mode_Temp["night"], function.Fh_Mode_Temp["away"], 0, 0 }); - } - } - break; - case SPK.HvacFan: - case SPK.ElectricFan: - #region ElectricFan - if (function.trait_on_off.curValue.ToString() == "on") - { - ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus.LoopId, Convert.ToByte(function.GetAttrState(FunctionAttributeKey.OpenLevel)) }); - } - { - ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus.LoopId, 0 }); - } - #endregion - break; - case SPK.ElectricSocket: - case SPK.PanelSocket: - ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus.LoopId, function.trait_on_off.curValue.ToString() == "on" ? (byte)100 : (byte)0 }); - break; - case SPK.AirFreshJinmao:case SPK.HvacAirFreshJinmao: - #region AirFresh - //1 鏂伴缂栧彿 1~200 - //2 绫诲瀷 绗笁鏂圭被鍨� 0锛氶噾鑼傛柊椋� - - //3 寮�鍏� 0 - 鍏虫満锛�1 - 寮�鏈� - byte switchValue = 0; - if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff) == true - && commandDictionary[FunctionAttributeKey.OnOff] == "on") - { - switchValue = 1; - } - - //4 杩愯妯″紡 1 - 閫氶锛�2 - 鍔犳箍 - byte airFreshMode = 1; - if (commandDictionary.ContainsKey(FunctionAttributeKey.Mode) == true - && commandDictionary[FunctionAttributeKey.Mode] == "humidification") - { - airFreshMode = 2; - } - //5 鑺傝兘鑸掗�傞�夋嫨 1 - 鑸掗�傦紝2 - 鑺傝兘 - byte airFreshEnergy = 1; - if (commandDictionary.ContainsKey(FunctionAttributeKey.Energy) == true - && commandDictionary[FunctionAttributeKey.Energy] == "true") - { - airFreshEnergy = 2; - } - //6 椋庨�熸。浣� 0 - 鑷姩锛�1 - 1妗o紝2 - 2妗o紝3 - 3妗� - byte airFreshFan = 0; - if (commandDictionary.ContainsKey(FunctionAttributeKey.FanSpeed) == true) - { - switch (commandDictionary[FunctionAttributeKey.FanSpeed]) - { - case "auto": - airFreshFan = 0; - break; - case "level_1": - airFreshFan = 1; - break; - case "level_2": - airFreshFan = 2; - break; - case "level_3": - airFreshFan = 3; - break; - } - } - //7 婀垮害璁惧畾 % - byte hum = 0; - if (commandDictionary.ContainsKey(FunctionAttributeKey.Humidity) == true) - { - hum = Convert.ToByte(commandDictionary[FunctionAttributeKey.Humidity]); - } - //8 瀹ゅ唴娓╁害鍊� 鈩� - byte indoorTemp_airFrsh = 0; - if (commandDictionary.ContainsKey(FunctionAttributeKey.IndoorTemp) == true) - { - indoorTemp_airFrsh = Convert.ToByte(commandDictionary[FunctionAttributeKey.IndoorTemp]); - } - byte indoorHumidity_airFrsh = 0; - if (commandDictionary.ContainsKey(FunctionAttributeKey.IndoorHumidity) == true) - { - indoorHumidity_airFrsh = Convert.ToByte(commandDictionary[FunctionAttributeKey.IndoorHumidity]); - } - //9 瀹ゅ唴婀垮害鍊� 鈩� - //10 杩囨护缃戝墿浣� % - //11 杩囨护缃戜娇鐢ㄨ秴鏃� 1 瓒呮椂 0 鏃� - ControlBytesSend(Command.FreshAirControl_JinMao, subnetId, deviceId, new byte[] { - function.bus.LoopId,0, switchValue , - airFreshMode,airFreshEnergy, - airFreshFan, - hum, - indoorTemp_airFrsh, - indoorHumidity_airFrsh, - //Convert.ToByte( function.GetAttrState(FunctionAttributeKey.FilterRemain)), - //function.GetAttrState(FunctionAttributeKey.FilterTimeout) =="true"?1:0, - 0,0 - }); - #endregion - break; - } - #region 鍙戦�佸懡浠ょ珛鍗虫洿鏂癠I - //HomePage.UpdataFunctionStates(function); - //RoomPage.UpdataStates(function); - //FunctionPage.UpdataStates(function); - //ClassificationPage.UpdataInfo(function); - #endregion - } - catch (Exception ex) - { - MainPage.Log($"DataConversion_Bus Erorr : {ex.Message}"); - } - } - - /// <summary> - /// 璇诲彇bus璁惧鏁版嵁 - /// </summary> - public void ReadBusData(Function function) - { - try - { - var subnetId = function.bus.SubnetID; - var deviceId = function.bus.DeviceID; - var loopId = function.bus.LoopId; - - switch (function.spk) - { - case SPK.LightSwitch: - case SPK.LightDimming: - ControlBytesSend(Command.ReadLightAllLoopBrightness, subnetId, deviceId, new byte[] { }); - break; - case SPK.LightRGB: - ControlBytesSend(Command.ReadLogicLoopColor, subnetId, deviceId, new byte[] { function.bus.LoopId }); - break; - case SPK.LightCCT: - ControlBytesSend(Command.ReadLogicLoopColor, subnetId, deviceId, new byte[] { function.bus.LoopId }); - break; - case SPK.CurtainSwitch: - case SPK.CurtainTrietex: - case SPK.CurtainRoller: - ControlBytesSend(Command.ReadCurtainStatus, subnetId, deviceId, new byte[] { function.bus.LoopId }); - break; - case SPK.AcStandard: - case SPK.HvacAC: - ControlBytesSend(Command.ReadACMode, subnetId, deviceId, new byte[] { function.bus.LoopId }); - break; - case SPK.HvacFloorHeat:case SPK.FloorHeatStandard: - ControlBytesSend(Command.ReadFloorHeat, subnetId, deviceId, new byte[] { function.bus.LoopId }); - break; - case SPK.HvacFan: - case SPK.ElectricFan: - ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus.LoopId }); - break; - case SPK.ElectricSocket: - case SPK.PanelSocket: - ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus.LoopId }); - break; - case SPK.SensorTemperature: - ControlBytesSend(Command.ReadDeviceLoopInfo, subnetId, deviceId, new byte[] { 5, 2, function.bus.LoopId }); - break; - case SPK.SensorHumidity: - ControlBytesSend(Command.ReadDeviceLoopInfo, subnetId, deviceId, new byte[] { 5, 3, function.bus.LoopId }); - break; - case SPK.SensorTVOC: - ControlBytesSend(Command.ReadDeviceLoopInfo, subnetId, deviceId, new byte[] { 5, 5, function.bus.LoopId }); - break; - case SPK.SensorPm25: - ControlBytesSend(Command.ReadDeviceLoopInfo, subnetId, deviceId, new byte[] { 5, 6, function.bus.LoopId }); - break; - case SPK.SensorCO2: - ControlBytesSend(Command.ReadDeviceLoopInfo, subnetId, deviceId, new byte[] { 5, 7, function.bus.LoopId }); - break; - case SPK.AirFreshJinmao: - case SPK.HvacAirFreshJinmao: - ControlBytesSend(Command.FreshAirRead_JinMao, subnetId, deviceId, new byte[] { function.bus.LoopId }); - break; - } - } - catch (Exception ex) - { - MainPage.Log($"Read DataConversion_Bus Erorr : {ex.Message}"); - } - } - /// <summary> /// 娣诲姞鍒板唴瀛樻暟缁勯噷闈� /// </summary> @@ -1102,86 +198,6 @@ /// 褰撳墠鏁版嵁鍖� /// </summary> Packet packet; - /// <summary> - /// 璁板綍鍙戦�佹暟鎹寘 - /// </summary> - /// <param name="target"></param> - private void signPacket(Target target) - { - this.SendFlag = string.Format("{0},{1},{2},", target.SubnetID, target.DeviceID, (int)target.Command + 1); - - switch (target.Command) - { - case Command.SetSingleLight: - case Command.ReadLogicLoopColor: - case Command.ReadACMode: - case Command.SetACMode: - case Command.ReadFloorHeat: - case Command.SetFloorHeat: - case Command.FreshAirRead: - case Command.FreshAirControl: - case Command.FreshAirRead_JinMao: - case Command.FreshAirControl_JinMao: - this.sendFlag += string.Format("{0}", target.AddData[0]); - break; - case Command.SetLogicLoopColor: - this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); - break; - case Command.ReadLightAllLoopBrightness: - this.SendFlag += ""; - break; - case Command.ReadGateway: - this.SendFlag = string.Format("{0},{1}", target.AddData[0], target.AddData[1]); - break; - case Command.ReadDeviceLoopInfo: - if (target.AddData[0] == 1)//鐗规畩澶勭悊鐏厜绫伙紝DMX妯″潡姣忎竴涓洖璺笉鍥哄畾灏忕被锛屾牴鎹叿浣撹缃潵鍥炲 - this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[2]); - else - this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); - break; - case Command.InstructionPanelKey: - case Command.ReadInstructionPanelKey: - this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[1]); - break; - default: - break; - } - - } - - //private void signAlinkPacket() - //{ - //} - - /// <summary> - /// 鍙戦�佹暟鎹� - /// </summary> - /// <param name="target">鍙戦�佸璞�</param> - /// <param name="sendCount">閲嶅彂娆℃暟</param> - private void Send(Target target, int sendCount, bool isWait) - { - try - { - packet = new Packet(target.SendBytes, target.IPEndPoint); - packet.HaveSendCount = 3 - sendCount; - - signPacket(target); - - System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(managerSendCount)); - thread.IsBackground = true; - thread.Start(packet); - - if (isWait) - { - this.wait(); - } - } - catch(Exception ex) - { - MainPage.Log($"Send bus data error {ex.Message}"); - } - } - /// <summary> /// 璇诲彇缃戝叧IP /// </summary> -- Gitblit v1.8.0