From 5eeafe3af80bfd88306bd8ad9e76c8f4b51ca35f Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 14:16:20 +0800 Subject: [PATCH] 增加本地发送的重发机制 --- HDL_ON/Entity/Function/AC.cs | 133 ++++++++++++++++++++++++++++--------------- 1 files changed, 86 insertions(+), 47 deletions(-) diff --git a/HDL_ON/Entity/Function/AC.cs b/HDL_ON/Entity/Function/AC.cs index 952b8b2..a24c624 100644 --- a/HDL_ON/Entity/Function/AC.cs +++ b/HDL_ON/Entity/Function/AC.cs @@ -6,12 +6,12 @@ public class AC : Function { /* - * 绌鸿皟锛歵rait: [switch, mode, fan, temperature, swing, lock] + * 绌鸿皟锛歵rait: [switch, mode, fan, set_temp, swing, lock] * 灞炴�� 鎻忚堪 * on_off on/off * mode mode: auto, cool, heat, dry, fan * fan high, medium, low, auto - * temperature up,down,value + * set_temp up,down,value * swing up/down/left/right * lock boolean (Lock閿佸畾鎺у埗) */ @@ -55,7 +55,7 @@ try { byte index = 0; - switch (trait_mode.value.ToString()) + switch (trait_mode.curValue.ToString()) { case "auto": index = 3; @@ -89,22 +89,22 @@ switch (value) { case 0: - trait_mode.value = "cool"; + trait_mode.curValue = "cool"; break; case 1: - trait_mode.value = "heat"; + trait_mode.curValue = "heat"; break; case 2: - trait_mode.value = "fan"; + trait_mode.curValue = "fan"; break; case 3: - trait_mode.value = "auto"; + trait_mode.curValue = "auto"; break; case 4: - trait_mode.value = "dry"; + trait_mode.curValue = "dry"; break; default: - trait_mode.value = "cool"; + trait_mode.curValue = "cool"; break; } @@ -122,7 +122,7 @@ try { byte index = 0; - switch (trait_fan.value.ToString()) + switch (trait_fan.curValue.ToString()) { case "high": index = 1; @@ -153,129 +153,139 @@ switch (value) { case 0: - trait_fan.value = "auto"; + trait_fan.curValue = "auto"; break; case 1: - trait_fan.value = "high"; + trait_fan.curValue = "high"; break; case 2: - trait_fan.value = "medium"; + trait_fan.curValue = "medium"; break; case 3: - trait_fan.value = "low"; + trait_fan.curValue = "low"; break; default: - trait_fan.value = "high"; + trait_fan.curValue = "high"; break; } } } - Trait _trait_mode; + FunctionAttributes _trait_mode; /// <summary> /// 妯″紡灞炴�� /// </summary> [Newtonsoft.Json.JsonIgnore] - public Trait trait_mode + public FunctionAttributes trait_mode { get { if (_trait_mode == null) { - _trait_mode = function.Find((obj) => obj.name == "mode"); + _trait_mode = attributes.Find((obj) => obj.key == "mode"); //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� if (_trait_mode == null) { - _trait_mode = new Trait() + _trait_mode = new FunctionAttributes() { - name = "mode", - value_key = new List<string> { "auto", "cool", "heat", "dry", "fan" }, + key = "mode", + value = new List<string> { "auto", "cool", "heat", "dry", "fan" }, max = 4, min = 0, }; } - _trait_mode.value = _trait_mode.value_key.Count > 0 ? _trait_mode.value_key[0] : ""; + if (_trait_mode.curValue.ToString() == "{}") + _trait_mode.curValue = "cool"; } return _trait_mode; } } - Trait _trait_fan; + FunctionAttributes _trait_fan; [Newtonsoft.Json.JsonIgnore] - public Trait trait_fan + public FunctionAttributes trait_fan { get { if (_trait_fan == null) { - _trait_fan = function.Find((obj) => obj.name == "fan"); + _trait_fan = attributes.Find((obj) => obj.key == "fan"); //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� if (_trait_fan == null) { - _trait_fan = new Trait() + _trait_fan = new FunctionAttributes() { - name = "fan", - value_key = new List<string> { "high", "medium", "low", "auto" }, + key = "fan", + value = new List<string> { "high", "medium", "low", "auto" }, max = 3, min = 0, + curValue = "high" }; } - _trait_fan.value = _trait_fan.value_key.Count > 0 ? _trait_fan.value_key[0] : ""; + if (_trait_fan.curValue.ToString() == "{}") + _trait_fan.curValue = "high"; } return _trait_fan; } } - Trait _trait_temp; + FunctionAttributes _trait_temp; /// <summary> /// 褰撳墠绌鸿皟娓╁害 /// </summary> [Newtonsoft.Json.JsonIgnore] - public Trait trait_temp + public FunctionAttributes trait_temp { get { if (_trait_temp == null) { - _trait_temp = function.Find((obj) => obj.name == "temperature"); + _trait_temp = attributes.Find((obj) => obj.key == "set_temp"); //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� if (_trait_temp == null) { - _trait_temp = new Trait() + _trait_temp = new FunctionAttributes() { - name = "temperature", - value_key = new List<string> { }, + key = "set_temp", + value = new List<string> { }, max = 32, min = 16, }; } - _trait_temp.value = 16; + if (_trait_temp.curValue.ToString() == "{}") + _trait_temp.curValue = 16; + } + //if (_trait_temp.curValue.ToString().Length > 3) + { + var vv = Convert.ToDouble(_trait_temp.curValue); + _trait_temp.curValue = Convert.ToInt32(vv); } return _trait_temp; } } - Trait _trait_swting; + FunctionAttributes _trait_swting; [Newtonsoft.Json.JsonIgnore] - public Trait trait_swting + public FunctionAttributes trait_swting { get { if (_trait_swting == null) { - _trait_swting = function.Find((obj) => obj.name == "swting"); + _trait_swting = attributes.Find((obj) => obj.key == "swting"); //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� if (_trait_swting == null) { - _trait_swting = new Trait() + _trait_swting = new FunctionAttributes() { - name = "swting", - value_key = new List<string> { "up", "down", "left", "right" }, + key = "swting", + value = new List<string> { "up", "down", "left", "right" }, max = 3, min = 0, }; } - _trait_swting.value = _trait_swting.value_key.Count > 0 ? _trait_swting.value_key[trait_mode.min] : ""; + if (_trait_swting.curValue.ToString() == "{}") + _trait_swting.curValue = "up"; } return _trait_swting; } @@ -290,7 +300,7 @@ { try { - return trait_swting.value_key; + return trait_swting.value; } catch (Exception ex) { @@ -299,11 +309,40 @@ } } } + FunctionAttributes _trait_IndoorTemp; /// <summary> /// 瀹ゅ唴娓╁害 /// </summary> [Newtonsoft.Json.JsonIgnore] - public int indoorTemp = 20; + public FunctionAttributes trait_IndoorTemp + { + get + { + if (_trait_IndoorTemp == null) + { + _trait_IndoorTemp = attributes.Find((obj) => obj.key == FunctionAttributeKey.IndoorTemp); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + if (_trait_IndoorTemp == null) + { + _trait_IndoorTemp = new FunctionAttributes() + { + key = FunctionAttributeKey.IndoorTemp, + value = new List<string> { }, + max = 30, + min = 0, + }; + } + if (_trait_IndoorTemp.curValue.ToString() == "{}") + _trait_IndoorTemp.curValue = 0; + } + //if (_trait_IndoorTemp.curValue.ToString().Length > 3) + { + var vv = Convert.ToDouble(_trait_IndoorTemp.curValue); + _trait_IndoorTemp.curValue = Convert.ToInt32(vv); + } + return _trait_IndoorTemp; + } + } /// <summary> /// 褰撳墠妯″紡鐨刬con璺緞 @@ -316,7 +355,7 @@ try { var imagePath = "FunctionIcon/AC/CoolIcon.png"; - switch (trait_mode.value.ToString()) + switch (trait_mode.curValue.ToString()) { case "auto": imagePath = "FunctionIcon/AC/AutoIcon.png"; @@ -357,7 +396,7 @@ try { var imagePath = "FunctionIcon/AC/WindHighIcon.png"; - switch (trait_fan.value.ToString()) + switch (trait_fan.curValue.ToString()) { case "high": imagePath = "FunctionIcon/AC/WindHighIcon.png"; -- Gitblit v1.8.0