From e71c57108e6dd407c2c6f0361f68150f2ff9aed5 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 15 十二月 2021 13:41:16 +0800
Subject: [PATCH] 版本备份
---
HDL_ON/Entity/Function/Light.cs | 303 ++++++++++++++------------------------------------
1 files changed, 87 insertions(+), 216 deletions(-)
diff --git a/HDL_ON/Entity/Function/Light.cs b/HDL_ON/Entity/Function/Light.cs
index de3fcc2..021d510 100644
--- a/HDL_ON/Entity/Function/Light.cs
+++ b/HDL_ON/Entity/Function/Light.cs
@@ -4,237 +4,108 @@
namespace HDL_ON.Entity
{
- public class Light : Function
+ public class Light
{
- /*
- 鐏厜绫伙細trait: [switch,brightness,color,cct,delay,fadeTime]
- 灞炴�� 鎻忚堪
- switch on/off;
- brightness 0-100;
- color int (red (0-255) green (0-255) blue (0-255))
- cct int (warm light(0-255) cold light (0-255) )
- delay 0-3600s
- fadetime 0-3600s
- */
- public Light()
- {
- }
-
- [Newtonsoft.Json.JsonIgnore]
- public Trait trait_brightness;
+ #region RGB
/// <summary>
- /// 浜害鍊�
+ /// 鑾峰彇rgb棰滆壊
/// </summary>
- [Newtonsoft.Json.JsonIgnore]
- public int brightness
+ /// <returns></returns>
+ public int GetRGBcolor(string rgbString)
{
- get
+ //var color = function.GetAttrState(FunctionAttributeKey.RGB).Split(",");
+ //if(!string.IsNullOrEmpty(rgbString))
+ //{
+ var color = rgbString.Split(",");
+ //}
+ if(color.Length!= 3)
{
- if (trait_brightness == null)
- {
- trait_brightness = propertList.Find((obj) => obj.attri == "brightness");
- //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
- if (trait_brightness == null)
- {
- trait_brightness = new Trait()
- {
- attri = "brightness",
- value = new List<string> { "up", "down" },
- max = 100,
- min = 0,
- };
- }
- trait_brightness.curValues = trait_brightness.min;
- }
- return Convert.ToInt32(trait_brightness.curValues);
+ color = new string[] {"255", "255", "255" };
}
- set
- {
- try
- {
- if (trait_brightness == null)
- {
- trait_brightness = propertList.Find((obj) => obj.attri == "brightness");
- //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
- if (trait_brightness == null)
- {
- trait_brightness = new Trait()
- {
- attri = "brightness",
- value = new List<string> { "up", "down" },
- max = 100,
- min = 0,
- };
- }
- trait_brightness.curValues = trait_brightness.min;
- }
- trait_brightness.curValues = value;
- MainPage.Log($"brightness 鏁版嵁鍒锋柊{value}.");
- }
- catch
- {
- MainPage.Log("brightness 鏁版嵁鍒锋柊澶辫触.");
- }
- }
- }
+ int redColor = 0;
+ int greenColor = 0;
+ int blueColor = 0;
- [Newtonsoft.Json.JsonIgnore]
- public Trait trait_color;
+ int.TryParse(color[0], out redColor);
+ int.TryParse(color[1], out greenColor);
+ int.TryParse(color[2], out blueColor);
+
+ int recolor = redColor * 256 * 256 + greenColor * 256 + blueColor;
+
+ return recolor;
+ }
/// <summary>
- /// RGB棰滆壊
- /// 255255255
+ /// 鑾峰彇rgb棰滆壊鏁扮粍
/// </summary>
- [Newtonsoft.Json.JsonIgnore]
- public int color
+ /// <param name="function"></param>
+ /// <returns></returns>
+ public byte[] GetRGBbytes(Function function)
{
- get
- {
- if (trait_color == null)
- {
- trait_color = propertList.Find((obj) => obj.attri == "color");
- //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
- if (trait_color == null)
- {
- trait_color = new Trait()
- {
- attri = "color",
- value = new List<string> { "FFFFFF" },
- max = 0xFFFFFF,
- min = 0x000000,
- };
- }
- trait_color.curValues = trait_color.min;
- }
- return Convert.ToInt32(trait_color.curValues);
- }
- set
- {
- try
- {
- trait_color.curValues = value;
- }
- catch
- {
- MainPage.Log("color 鏁版嵁鍒锋柊澶辫触.");
- }
- }
- }
- [Newtonsoft.Json.JsonIgnore]
- public int redColor
- {
- get {
- try
- {
- return color >> 16;
- }
- catch (Exception ex)
- {
- MainPage.Log($"Get red color error : {ex.Message}");
- return 0;
- }
- }
- set
- {
- try
- {
- var rc = value << 16;
- color = rc + (color & 0xFFFF);
- }
- catch (Exception ex)
- {
- MainPage.Log($"set red color error : {ex.Message}");
- }
- }
- }
- [Newtonsoft.Json.JsonIgnore]
- public int greenColor
- {
- get
- {
- try
- {
- return (color & 0xFFFF) >> 8;
- }
- catch (Exception ex)
- {
- MainPage.Log($"Get green color error : {ex.Message}");
- return 0;
- }
- }
- set
- {
- try
- {
- var gc = value << 8;
- color = gc + (color & 0xFF00FF);
- }
- catch (Exception ex)
- {
- MainPage.Log($"set green color error : {ex.Message}");
- }
- }
- }
- [Newtonsoft.Json.JsonIgnore]
- public int blueColor
- {
- get
- {
- try
- {
- return color & 0xFF;
- }
- catch (Exception ex)
- {
- MainPage.Log($"Get blue color error : {ex.Message}");
- return 0;
- }
- }
- set
- {
- try
- {
- color = value + (color & 0xFFFF00);
- }
- catch (Exception ex)
- {
- MainPage.Log($"set blue color error : {ex.Message}");
- }
- }
- }
+ var color = function.GetAttrState(FunctionAttributeKey.RGB).Split(",");
+ if (color.Length != 3)
+ {
+ color = new string[] { "100", "100", "100" };
+ }
+ byte redColor = 0;
+ byte greenColor = 0;
+ byte blueColor = 0;
+
+ byte.TryParse(color[0], out redColor);
+ byte.TryParse(color[1], out greenColor);
+ byte.TryParse(color[2], out blueColor);
+
+ return new byte[] { redColor, greenColor, blueColor };
+ }
/// <summary>
- /// 鎷兼帴銆佽幏鍙朅鍗忚鎿嶄綔鏁版嵁
+ /// 鑾峰彇rgb 鎺у埗瀛楃涓�
/// </summary>
- public override JObject GetSendJObject(CommandType_A command )
+ /// <returns></returns>
+ public string GetRGBcolorString(Function function)
{
- 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;
+ var color = function.GetAttrState(FunctionAttributeKey.RGB).Split(",");
+ return color[0] + "," + color[1] + "," + color[2];
}
+
+ /// <summary>
+ /// 鑾峰彇rgb棰滆壊
+ /// </summary>
+ /// <param name="index">0:red 1:green 2:blue</param>
+ /// <returns></returns>
+ public int GetColor( int index,Function function)
+ {
+ int color = 0;
+ if (index <= 2)
+ {
+ try
+ {
+ int.TryParse(function.GetAttrState(FunctionAttributeKey.RGB).Split(",")[index], out color);
+ }
+ catch { }
+ }
+ return color;
+ }
+
+ /// <summary>
+ /// 璁剧疆rgb棰滆壊
+ /// </summary>
+ public void SetRGBcolor(byte[] color,Function function)
+ {
+ function.SetAttrState(FunctionAttributeKey.RGB, color[0] + "," + color[1] + "," + color[2]);
+ }
+
+ /// <summary>
+ /// 璁剧疆鑹叉俯
+ /// </summary>
+ /// <param name="cct"></param>
+ /// <param name="function"></param>
+ public void SetCCT(byte[] cct,Function function)
+ {
+ function.SetAttrState(FunctionAttributeKey.CCT, cct[0] * 256 + cct[1]);
+ }
+
+ #endregion
+
}
}
--
Gitblit v1.8.0