From 2bec9c838d2d688025698de8ec1de401ffd7dd1f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 11 八月 2020 14:13:55 +0800 Subject: [PATCH] 20200811 --- HDL_ON/Entity/Function/AC.cs | 199 ++++++++++++++++++++++++++++++++----------------- 1 files changed, 129 insertions(+), 70 deletions(-) diff --git a/HDL_ON/Entity/Function/AC.cs b/HDL_ON/Entity/Function/AC.cs index c9e5daa..d9afb33 100644 --- a/HDL_ON/Entity/Function/AC.cs +++ b/HDL_ON/Entity/Function/AC.cs @@ -27,17 +27,35 @@ /// </summary> [Newtonsoft.Json.JsonIgnore] public int curTempType = 0; - /// <summary> - /// 褰撳墠绌鸿皟妯″紡 + /// 褰撳墠娓╁害妯″紡瀛楃 /// </summary> - [Newtonsoft.Json.JsonIgnore] - public string curMode = "cool"; + public string curTempTypeString + { + get + { + if (curTempType == 0) + { + return "掳C"; + } + else + { + return "掳F"; + } + } + } + + ///// <summary> + ///// 褰撳墠绌鸿皟妯″紡 + ///// </summary> + //[Newtonsoft.Json.JsonIgnore] + //public string curMode = "cool"; /// <summary> /// 褰撳墠妯″紡绱㈠紩 /// bus鎺у埗鍛戒护浣跨敤 /// </summary> + [Newtonsoft.Json.JsonIgnore] public byte curModeIndex { get @@ -45,7 +63,7 @@ try { byte index = 0; - switch (curMode) + switch (trait_mode.curValues.ToString()) { case "auto": index = 3; @@ -79,22 +97,22 @@ switch (value) { case 0: - curMode = "cool"; + trait_mode.curValues = "cool"; break; case 1: - curMode = "heat"; + trait_mode.curValues = "heat"; break; case 2: - curMode = "fan"; + trait_mode.curValues = "fan"; break; case 3: - curMode = "auto"; + trait_mode.curValues = "auto"; break; case 4: - curMode = "dry"; + trait_mode.curValues = "dry"; break; default: - curMode = "cool"; + trait_mode.curValues = "cool"; break; } @@ -112,7 +130,7 @@ try { byte index = 0; - switch (curFan) + switch (trait_fan.curValues.ToString()) { case "high": index = 1; @@ -143,44 +161,63 @@ switch (value) { case 0: - curFan = "auto"; + trait_fan.curValues = "auto"; break; case 1: - curFan = "high"; + trait_fan.curValues = "high"; break; case 2: - curFan = "medium"; + trait_fan.curValues = "medium"; break; case 3: - curFan = "low"; + trait_fan.curValues = "low"; break; default: - curFan = "high"; + trait_fan.curValues = "high"; break; } } } + Trait _trait_mode; + /// <summary> + /// 妯″紡灞炴�� + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public Trait trait_mode + { + get + { + if (_trait_mode == null) + { + _trait_mode = function.Find((obj) => obj.attri == "mode"); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + if (_trait_mode == null) + { + _trait_mode = new Trait() + { + attri = "mode", + value = new List<string> { "auto", "cool", "heat", "dry", "fan" }, + max = 4, + min = 0, + }; + } + _trait_mode.curValues = _trait_mode.value.Count > 0 ? _trait_mode.value[0] : ""; + } + return _trait_mode; + } + } /// <summary> /// 绌鸿皟妯″紡 /// </summary> [Newtonsoft.Json.JsonIgnore] - public List<string> mode + public List<string> modeList { get { try { -//#if DEBUG -// return new List<string> { "cool", "heat", "dry", "fan", "auto"}; -//#endif - string b = ""; - dicPropert.TryGetValue("mode", out b); - if (b == "") - { - return new List<string> { "auto", "cool", "heat", "dry", "fan" }; - } - return new List<string>(b.Split(",")); + return trait_mode.value; } catch (Exception ex) { @@ -188,45 +225,43 @@ return new List<string> { "auto", "cool", "heat", "dry", "fan" }; } } - set - { - try - { - dicPropert["mode"] = value.ToString(); - } - catch - { - MainPage.Log("mode 鏁版嵁鍒锋柊澶辫触."); - } - } } - /// <summary> - /// 褰撳墠绌鸿皟椋庨�� - /// </summary> + Trait _trait_fan; [Newtonsoft.Json.JsonIgnore] - public string curFan = "high"; - + public Trait trait_fan { + get + { + if (_trait_fan == null) + { + _trait_fan = function.Find((obj) => obj.attri == "fan"); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + if (_trait_fan == null) + { + _trait_fan = new Trait() + { + attri = "fan", + value = new List<string> { "high", "medium", "low", "auto" }, + max = 3, + min = 0, + }; + } + _trait_fan.curValues = _trait_fan.value.Count > 0 ? _trait_fan.value[0] : ""; + } + return _trait_fan; + } + } /// <summary> /// 绌鸿皟椋庨�熸ā寮� /// </summary> [Newtonsoft.Json.JsonIgnore] - public List<string> fan + public List<string> fan_List { get { try { -//#if DEBUG -// return new List<string> { "high", "medium", "low", "auto" }; -//#endif - string b = ""; - dicPropert.TryGetValue("fan", out b); - if (b == "") - { - return new List<string> { "high", "medium", "low", "auto" }; - } - return new List<string>(b.Split(",")); + return trait_fan.value; } catch (Exception ex) { @@ -242,10 +277,34 @@ public int curTemp = 20; // temperature up, down, value // swing up/down/left/right + + Trait _trait_swting; [Newtonsoft.Json.JsonIgnore] - public string curSwting; + public Trait trait_swting + { + get + { + if (_trait_swting == null) + { + _trait_swting = function.Find((obj) => obj.attri == "swting"); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + if (_trait_swting == null) + { + _trait_swting = new Trait() + { + attri = "swting", + value = new List<string> { "up", "down", "left", "right" }, + max = 3, + min = 0, + }; + } + _trait_swting.curValues = _trait_swting.value.Count > 0 ? _trait_swting.value[trait_mode.min] : ""; + } + return _trait_swting; + } + } /// <summary> - /// 绌鸿皟鎵妯″紡 + /// 绌鸿皟鎵妯″紡鍒楄〃 /// </summary> [Newtonsoft.Json.JsonIgnore] public List<string> swting @@ -254,16 +313,7 @@ { try { -#if DEBUG - return new List<string> { "up", "down", "left", "right" }; -#endif - string b = ""; - dicPropert.TryGetValue("swting", out b); - if (b == "") - { - return new List<string> { "up", "down", "left", "right" }; - } - return new List<string>(b.Split(",")); + return trait_swting.value; } catch (Exception ex) { @@ -289,7 +339,7 @@ try { var imagePath = "FunctionIcon/AC/CoolIcon.png"; - switch (curMode) + switch (trait_mode.curValues.ToString()) { case "auto": imagePath = "FunctionIcon/AC/AutoIcon.png"; @@ -330,7 +380,7 @@ try { var imagePath = "FunctionIcon/AC/WindHighIcon.png"; - switch (curFan) + switch (trait_fan.curValues.ToString()) { case "high": imagePath = "FunctionIcon/AC/WindHighIcon.png"; @@ -365,8 +415,17 @@ if (command == CommandType_A.write) { sendJob = new JObject { { "Namespace", vendor_code }, { "Command", command.ToString() }, { "Type", "device" } }; - JObject data = new JObject { { "openLevel", dicPropert["openLevel"] }, { "sid", sid } }; + JObject data = new JObject { { "sid", sid } }; sendJob.Add("objects", data); + List<ControlData> controlData = new List<ControlData>(); + controlData.Add(new ControlData() + { + name = "on_off", + data_type = "Bool", + value = on_off + }); + + } else if (command == CommandType_A.read) { -- Gitblit v1.8.0