From 792ca2a402feb952ef890d653f2e049c1230baf1 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期六, 19 十二月 2020 18:48:33 +0800
Subject: [PATCH] 1111
---
HDL_ON/Entity/Function/Light.cs | 257 ++++++++++++++++++++++++--------------------------
1 files changed, 124 insertions(+), 133 deletions(-)
diff --git a/HDL_ON/Entity/Function/Light.cs b/HDL_ON/Entity/Function/Light.cs
index de3fcc2..c3ae4b8 100644
--- a/HDL_ON/Entity/Function/Light.cs
+++ b/HDL_ON/Entity/Function/Light.cs
@@ -21,7 +21,7 @@
}
[Newtonsoft.Json.JsonIgnore]
- public Trait trait_brightness;
+ FunctionAttributes trait_brightness;
/// <summary>
/// 浜害鍊�
/// </summary>
@@ -32,21 +32,36 @@
{
if (trait_brightness == null)
{
- trait_brightness = propertList.Find((obj) => obj.attri == "brightness");
+ trait_brightness = attributes.Find((obj) => obj.key == "brightness");
//鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
if (trait_brightness == null)
{
- trait_brightness = new Trait()
+ trait_brightness = new FunctionAttributes()
{
- attri = "brightness",
+ key = "brightness",
value = new List<string> { "up", "down" },
max = 100,
min = 0,
+ curValue = 0,
};
}
- trait_brightness.curValues = trait_brightness.min;
+ if (trait_brightness.curValue.ToString() == "{}")
+ trait_brightness.curValue = 0;
}
- return Convert.ToInt32(trait_brightness.curValues);
+ 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
{
@@ -54,22 +69,21 @@
{
if (trait_brightness == null)
{
- trait_brightness = propertList.Find((obj) => obj.attri == "brightness");
+ trait_brightness = attributes.Find((obj) => obj.key == "brightness");
//鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
if (trait_brightness == null)
{
- trait_brightness = new Trait()
+ trait_brightness = new FunctionAttributes()
{
- attri = "brightness",
+ key = "brightness",
value = new List<string> { "up", "down" },
max = 100,
min = 0,
+ curValue = 0
};
}
- trait_brightness.curValues = trait_brightness.min;
}
- trait_brightness.curValues = value;
- MainPage.Log($"brightness 鏁版嵁鍒锋柊{value}.");
+ trait_brightness.curValue = value;
}
catch
{
@@ -77,164 +91,141 @@
}
}
}
-
- [Newtonsoft.Json.JsonIgnore]
- public Trait trait_color;
/// <summary>
- /// RGB棰滆壊
- /// 255255255
+ /// 涓婁竴娆℃墦寮�鐨勪寒搴�
/// </summary>
[Newtonsoft.Json.JsonIgnore]
- public int color
+ public int lastBrightness = 100;
+ [Newtonsoft.Json.JsonIgnore]
+ FunctionAttributes trait_fadeTime;
+ /// <summary>
+ /// 浜害鍊�
+ /// </summary>
+ [Newtonsoft.Json.JsonIgnore]
+ public int fadeTime
{
get
{
- if (trait_color == null)
+ if (trait_fadeTime == null)
{
- trait_color = propertList.Find((obj) => obj.attri == "color");
+ trait_fadeTime = attributes.Find((obj) => obj.key == FunctionAttributeKey.FadeTime);
//鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
- if (trait_color == null)
+ if (trait_fadeTime == null)
{
- trait_color = new Trait()
+ trait_fadeTime = new FunctionAttributes()
{
- attri = "color",
- value = new List<string> { "FFFFFF" },
- max = 0xFFFFFF,
- min = 0x000000,
+ key = FunctionAttributeKey.FadeTime,
+ value = new List<string> { "up", "down" },
+ max = 10,
+ min = 0,
+ curValue = 0
};
}
- trait_color.curValues = trait_color.min;
}
- return Convert.ToInt32(trait_color.curValues);
+ int result = 0;
+ int.TryParse(trait_fadeTime.curValue.ToString(), out result);
+ return result;
}
set
{
try
{
- trait_color.curValues = value;
+ 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 int redColor
+ /// <summary>
+ /// 鑾峰彇rgb棰滆壊
+ /// </summary>
+ /// <returns></returns>
+ public int GetRGBcolor()
{
- get {
- try
- {
- return color >> 16;
- }
- catch (Exception ex)
- {
- MainPage.Log($"Get red color error : {ex.Message}");
- return 0;
- }
- }
- set
+ if (trait_color == null)
{
- try
+ trait_color = attributes.Find((obj) => obj.key == FunctionAttributeKey.RGB);
+ //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
+ if (trait_color == null)
{
- var rc = value << 16;
- color = rc + (color & 0xFFFF);
+ trait_color = new FunctionAttributes()
+ {
+ key = "color",
+ value = new List<string> { "255,255,255" },
+ curValue = "255,255,255"
+ };
}
- catch (Exception ex)
- {
- MainPage.Log($"set red color error : {ex.Message}");
- }
+ 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);
}
- }
- [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}");
- }
- }
- }
+ 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)
- {
+ redColor = color[0];
+ greenColor = color[1];
+ blueColor = color[2];
+ }
- 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)
+ [Newtonsoft.Json.JsonIgnore]
+ public FunctionAttributes trait_color;
+ int redColor = 255;
+ int greenColor = 255;
+ int blueColor = 255;
+
+ public int RedColor {
+ get
{
- sendJob = new JObject { { "vendor_code", vendor_code }, { "Command", command.ToString() }, { "Type", "device" } };
- var data = new JObject {{ "sid", sid } };
- sendJob.Add("objects", data);
+ return redColor;
}
- return sendJob;
+ }
+ public int GreenColor {
+ get
+ {
+ return greenColor;
+ }
+ }
+ public int BlueColor
+ {
+ get
+ {
+ return blueColor;
+ }
}
}
}
--
Gitblit v1.8.0