From e6a26ee148587327478d9a82624a820c907b6e16 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 04 十一月 2020 14:58:15 +0800
Subject: [PATCH] 20201104

---
 HDL_ON/Entity/Function/Light.cs |  143 ++++++++++++++++++++---------------------------
 1 files changed, 62 insertions(+), 81 deletions(-)

diff --git a/HDL_ON/Entity/Function/Light.cs b/HDL_ON/Entity/Function/Light.cs
index 86e7065..2dfa921 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;
+        Trait trait_brightness;
         /// <summary>
         /// 浜害鍊�
         /// </summary>
@@ -79,6 +79,66 @@
         }
 
         [Newtonsoft.Json.JsonIgnore]
+        Trait trait_fadeTime;
+        /// <summary>
+        /// 浜害鍊�
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public int fadeTime
+        {
+            get
+            {
+                if (trait_fadeTime == null)
+                {
+                    trait_fadeTime = function.Find((obj) => obj.name == "fade_time");
+                    //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
+                    if (trait_fadeTime == null)
+                    {
+                        trait_fadeTime = new Trait()
+                        {
+                            name = "fade_time",
+                            value_key = new List<string> { "up", "down" },
+                            max = 10,
+                            min = 0,
+                        };
+                        trait_fadeTime.value = 0;
+                        function.Add(trait_fadeTime);
+                    }
+                }
+                int result = 0;
+                int.TryParse(trait_fadeTime.value.ToString(), out result);
+                return result;
+            }
+            set
+            {
+                try
+                {
+                    if (trait_fadeTime == null)
+                    {
+                        trait_fadeTime = function.Find((obj) => obj.name == "fade_time");
+                        //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
+                        if (trait_fadeTime == null)
+                        {
+                            trait_fadeTime = new Trait()
+                            {
+                                name = "fade_time",
+                                value_key = new List<string> { "up", "down" },
+                                max = 100,
+                                min = 0,
+                            };
+                            trait_fadeTime.value = 0;
+                            function.Add(trait_fadeTime);
+                        }
+                    }
+                    trait_fadeTime.value = value;
+                }
+                catch
+                {
+                }
+            }
+        }
+
+        [Newtonsoft.Json.JsonIgnore]
         public Trait trait_color;
         /// <summary>
         /// RGB棰滆壊
@@ -100,7 +160,7 @@
                             name = "color",
                             value_key = new List<string> { "FFFFFF" },
                             max = 0xFFFFFF,
-                            min = 0x000000,
+                            min = 0x00000F,
                         };
                     }
                     trait_color.value = trait_color.min;
@@ -201,84 +261,5 @@
                 }
             }
         }
-
-
-        /// <summary>
-        /// 鎷兼帴銆佽幏鍙朅鍗忚鎿嶄綔鏁版嵁
-        /// </summary>
-        public override JObject GetSendJObject(CommandType_A command )
-        {
-            var sendJob = new JObject();
-            if (command == CommandType_A.write)
-            {
-                sendJob = new JObject { { "vendor_code", vendor_code }, { "command", command.ToString() }, { "type", "device" } };
-                JObject data = new JObject { { "sid", sid } };
-                sendJob.Add("objects", data);
-                List<ControlData> controlData = new List<ControlData>();
-                switch (functionType)
-                {
-                    case FunctionType.Relay:
-                        controlData.Add(new ControlData()
-                        {
-                            name = "on_off",
-                            data_type = "Bool",
-                            value = trait_on_off.value.ToString()
-                        });
-                        break;
-                    case FunctionType.Dimmer:
-                        controlData.Add(new ControlData()
-                        {
-                            name = "on_off",
-                            data_type = "Bool",
-                            value = trait_on_off.value.ToString()
-                        });
-                        controlData.Add(new ControlData()
-                        {
-                            name = "brightness",
-                            data_type = "int",
-                            value = brightness.ToString(),
-                        });
-                        break;
-                    case FunctionType.RGB:
-                        controlData.Add(new ControlData()
-                        {
-                            name = "on_off",
-                            data_type = "Bool",
-                            value = trait_on_off.value.ToString()
-                        });
-                        controlData.Add(new ControlData()
-                        {
-                            name = "brightness",
-                            data_type = "int",
-                            value = brightness.ToString(),
-                        });
-                        controlData.Add(new ControlData()
-                        {
-                            name = "color",
-                            data_type = "int",
-                            value = color.ToString(),
-                        });
-                        break;
-                }
-
-                AProtocolEntity ape = new AProtocolEntity()
-                {
-                    command = command.ToString(),
-                    vendor_code = vendor_code,
-                    type = "device_sid",
-                };
-                ape.ControlFunction(sid, controlData);
-                sendJob = JObject.FromObject(ape);
-
-            }
-            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;
-        }
     }
-
 }

--
Gitblit v1.8.0