From 1a0a7f736c6d2e7129e7591d40bed67ec7c0f09a Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期五, 05 二月 2021 10:47:42 +0800 Subject: [PATCH] 2021-02-05 1.编译冲突修改 --- HDL_ON/Entity/Function/Light.cs | 358 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 233 insertions(+), 125 deletions(-) diff --git a/HDL_ON/Entity/Function/Light.cs b/HDL_ON/Entity/Function/Light.cs index e155396..d430811 100644 --- a/HDL_ON/Entity/Function/Light.cs +++ b/HDL_ON/Entity/Function/Light.cs @@ -19,6 +19,9 @@ public Light() { } + + [Newtonsoft.Json.JsonIgnore] + FunctionAttributes trait_brightness; /// <summary> /// 浜害鍊� /// </summary> @@ -27,16 +30,60 @@ { get { - string b = "0"; - dicPropert.TryGetValue("brightness", out b); - return Convert.ToInt32(b == "" ? "0" : b); + if (trait_brightness == null) + { + trait_brightness = attributes.Find((obj) => obj.key == "brightness"); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + if (trait_brightness == null) + { + trait_brightness = new FunctionAttributes() + { + key = "brightness", + value = new List<string> { "up", "down" }, + max = 100, + min = 0, + curValue = 0, + }; + } + if (trait_brightness.curValue.ToString() == "{}") + trait_brightness.curValue = 0; + } + try + { + string textValue = trait_brightness.curValue.ToString(); + if (textValue == string.Empty) + { + trait_brightness.curValue = 0; + } + return Convert.ToInt32(trait_brightness.curValue); + } + catch + { + trait_brightness.curValue = 0; + return 0; + } } set { try { - dicPropert["brightness"] = value.ToString(); - MainPage.Log($"brightness 鏁版嵁鍒锋柊{value}."); + if (trait_brightness == null) + { + trait_brightness = attributes.Find((obj) => obj.key == "brightness"); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + if (trait_brightness == null) + { + trait_brightness = new FunctionAttributes() + { + key = "brightness", + value = new List<string> { "up", "down" }, + max = 100, + min = 0, + curValue = 0 + }; + } + } + trait_brightness.curValue = value; } catch { @@ -44,150 +91,211 @@ } } } - /// <summary> - /// RGB棰滆壊 - /// 255255255 + /// 涓婁竴娆℃墦寮�鐨勪寒搴� /// </summary> [Newtonsoft.Json.JsonIgnore] - public string color + public int lastBrightness = 100; + + int hadFadeTime = 99; + /// <summary> + /// 鏄惁鎷ユ湁娓愬彉鏃堕棿 + /// </summary> + public bool HadFadeTime { get { - string c = "255255255"; - dicPropert.TryGetValue("color", out c); - if (c.Length != 9) + if (hadFadeTime == 99) { - dicPropert["color"] = "255255255"; + var t = attributes.Find((obj) => obj.key == FunctionAttributeKey.FadeTime); + if (t == null) + { + hadFadeTime = 0; + return false; + } + else + { + hadFadeTime = 1; + return true; + } } - return c.Length == 9 ? c : "255255255"; + if (hadFadeTime == 1) + { + return true; + } + else + { + return false; + } + } + } + + [Newtonsoft.Json.JsonIgnore] + FunctionAttributes trait_fadeTime; + /// <summary> + /// 娓愬彉鏃堕棿 + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public int fadeTime + { + get + { + if (trait_fadeTime == null) + { + trait_fadeTime = attributes.Find((obj) => obj.key == FunctionAttributeKey.FadeTime); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + if (trait_fadeTime == null) + { + trait_fadeTime = new FunctionAttributes() + { + key = FunctionAttributeKey.FadeTime, + value = new List<string> { "up", "down" }, + max = 10, + min = 0, + curValue = 0 + }; + } + } + int result = 0; + int.TryParse(trait_fadeTime.curValue.ToString(), out result); + return result; } set { try { - dicPropert["color"] = value.ToString(); + if (trait_fadeTime == null) + { + trait_fadeTime = attributes.Find((obj) => obj.key == FunctionAttributeKey.FadeTime); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + if (trait_fadeTime == null) + { + trait_fadeTime = new FunctionAttributes() + { + key = FunctionAttributeKey.FadeTime, + value = new List<string> { "up", "down" }, + max = 100, + min = 0, + curValue = 0 + }; + } + } + trait_fadeTime.curValue = value; } catch { - MainPage.Log("color 鏁版嵁鍒锋柊澶辫触."); - } - } - } - [Newtonsoft.Json.JsonIgnore] - public byte redColor - { - get { - try - { - return Convert.ToByte(color.Substring(0, 3)); - } - catch (Exception ex) - { - MainPage.Log($"Get red color error : {ex.Message}"); - return 0; - } - } - set - { - try - { - dicPropert["color"] = dicPropert["color"].ToString().Remove(0, 3).Insert(0, value.ToString().PadLeft(3, '0')); - } - catch (Exception ex) - { - MainPage.Log($"set red color error : {ex.Message}"); - } - } - } - [Newtonsoft.Json.JsonIgnore] - public byte greenColor - { - get - { - try - { - return Convert.ToByte(color.Substring(3, 3)); - } - catch (Exception ex) - { - MainPage.Log($"Get green color error : {ex.Message}"); - return 0; - } - } - set - { - try - { - dicPropert["color"] = dicPropert["color"].ToString().Remove(3, 3).Insert(3, value.ToString().PadLeft(3, '0')); - } - catch (Exception ex) - { - MainPage.Log($"set green color error : {ex.Message}"); - } - } - } - [Newtonsoft.Json.JsonIgnore] - public byte blueColor - { - get - { - try - { - return Convert.ToByte(color.Substring(6, 3)); - } - catch (Exception ex) - { - MainPage.Log($"Get blue color error : {ex.Message}"); - return 0; - } - } - set - { - try - { - dicPropert["color"] = dicPropert["color"].ToString().Remove(6, 3).Insert(6, value.ToString().PadLeft(3, '0')); - } - catch (Exception ex) - { - MainPage.Log($"set blue color error : {ex.Message}"); } } } + #region RGB + /// <summary> + /// 鑾峰彇rgb棰滆壊 + /// </summary> + /// <returns></returns> + public int GetRGBcolor() + { + if (trait_color == null) + { + trait_color = attributes.Find((obj) => obj.key == FunctionAttributeKey.RGB); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + if (trait_color == null) + { + trait_color = new FunctionAttributes() + { + key = "color", + value = new List<string> { "255,255,255" }, + curValue = "255,255,255" + }; + } + if (trait_color.curValue.ToString() == "{}") + trait_color.curValue = "255,255,255"; + } + int.TryParse(trait_color.curValue.ToString().Split(",")[0], out redColor); + int.TryParse(trait_color.curValue.ToString().Split(",")[1], out greenColor); + int.TryParse(trait_color.curValue.ToString().Split(",")[2], out blueColor); + + int recolor = redColor * 256 * 256 + greenColor * 256 + blueColor; + + return recolor; + } + /// <summary> + /// 鑾峰彇rgb 鎺у埗瀛楃涓� + /// </summary> + /// <returns></returns> + public string GetRGBcolorString() + { + return redColor + "," + greenColor + "," + blueColor; + } /// <summary> - /// 鎷兼帴銆佽幏鍙朅鍗忚鎿嶄綔鏁版嵁 + /// 璁剧疆rgb棰滆壊 /// </summary> - public override JObject GetSendJObject(CommandType_A command ) + public void SetRGBcolor(byte[] color) { - var sendJob = new JObject(); - if (command == CommandType_A.write) - { - - sendJob = new JObject { { "vendor_code", vendor_code }, { "Command", command.ToString() }, { "Type", "device" } }; - JObject data = null; - switch (functionType) - { - case FunctionType.Relay: - data = new JObject { { "sid", sid }, { "switch", on_off } }; - break; - case FunctionType.Dimmer: - data = new JObject { { "sid", sid }, { "brightness", brightness } }; - break; - case FunctionType.RGB: - data = new JObject { { "sid", sid }, { "brightness", brightness }, { "color", color } }; - break; - } - sendJob.Add("objects", data); - } - else if (command == CommandType_A.read) - { - sendJob = new JObject { { "vendor_code", vendor_code }, { "Command", command.ToString() }, { "Type", "device" } }; - var data = new JObject {{ "sid", sid } }; - sendJob.Add("objects", data); - } - return sendJob; + redColor = color[0]; + greenColor = color[1]; + blueColor = color[2]; + trait_color.curValue = redColor + "," + greenColor + "," + blueColor; } + + [Newtonsoft.Json.JsonIgnore] + public FunctionAttributes trait_color; + int redColor = 255; + int greenColor = 255; + int blueColor = 255; + + public int RedColor { + get + { + return redColor; + } + } + public int GreenColor { + get + { + return greenColor; + } + } + public int BlueColor + { + get + { + return blueColor; + } + } + #endregion + + #region CCT + FunctionAttributes attr_CCT; + /// <summary> + /// 鑹叉俯 + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public FunctionAttributes Attr_CCT + { + get + { + if(attr_CCT == null) + { + attr_CCT = attributes.Find((obj) => obj.key == FunctionAttributeKey.CCT); + if(attr_CCT== null) + { + attr_CCT = new FunctionAttributes() + { + key = FunctionAttributeKey.CCT, + value = new List<string> (), + max = 6500, + min = 2700, + curValue = 2700 + }; + } + } + var result = 2700; + int.TryParse(attr_CCT.curValue.ToString(), out result); + return attr_CCT; + } + } + #endregion } } -- Gitblit v1.8.0