From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 25 七月 2024 17:25:59 +0800
Subject: [PATCH] 2024年07月25日17:24:45

---
 HDL_ON/DAL/DriverLayer/Control_Udp.cs |  115 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 62 insertions(+), 53 deletions(-)

diff --git a/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
index 7fd1e36..5f3e595 100644
--- a/HDL_ON/DAL/DriverLayer/Control_Udp.cs
+++ b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
@@ -393,26 +393,26 @@
                                 }
                             }
                             break;
-                        case SPK.OtherCommon://2024-02-01 15:19:28  鍒氬姞鐨勶紝涓嶅彂甯冿紝瀹㈡湇閬囧埌鐨勯棶棰�
-                            //foreach (var attr in f.status)
-                            //{
-                            //    if (attr.key == FunctionAttributeKey.OnOff)
-                            //    {
-                            //        byte onOffValue = 0;
-                            //        switch (attr.value)
-                            //        {
-                            //            case "on":
-                            //                onOffValue = 0;
-                            //                break;
-                            //            case "off":
-                            //                onOffValue = 255;
-                            //                break;
-                            //        }
-                            //        ControlBytesSend(Command.SetCommonSwitch, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID,
-                            //            new byte[] { f.localFunction.bus.LoopId, onOffValue });
-                            //        break;
-                            //    }
-                            //}
+                        case SPK.OtherCommon://2024-02-01 15:19:28
+                            foreach (var attr in f.status)
+                            {
+                                if (attr.key == FunctionAttributeKey.OnOff)
+                                {
+                                    byte onOffValue = 0;
+                                    switch (attr.value)
+                                    {
+                                        case "on":
+                                            onOffValue = 0;
+                                            break;
+                                        case "off":
+                                            onOffValue = 255;
+                                            break;
+                                    }
+                                    ControlBytesSend(Command.SetCommonSwitch, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID,
+                                        new byte[] { f.localFunction.bus.LoopId, onOffValue });
+                                    break;
+                                }
+                            }
                             break;
                     }
                 }
@@ -464,21 +464,24 @@
                 {
                     case SPK.LightCCT:
                         #region cct light
-                        byte b0 = 100;
-                        if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff))
+                        byte b0 = Convert.ToByte(function.lastBrightness);
+                        if (commandDictionary.ContainsKey(FunctionAttributeKey.Brightness))
                         {
-                            if (function.trait_on_off.curValue.ToString() == "off")
-                            {
-                                b0 = 0;
-                            }
-                            else
-                            {
-                                b0 = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness);
-                            }
+                            b0 = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness));
                         }
                         else
                         {
-                            b0 = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness));
+                            if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff))
+                            {
+                                if (function.trait_on_off.curValue.ToString() == "off")
+                                {
+                                    b0 = 0;
+                                }
+                                else
+                                {
+                                    b0 = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness);
+                                }
+                            }
                         }
                         var bytes0 = new byte[] { function.bus.LoopId,
                                             b0,
@@ -492,21 +495,24 @@
                         break;
                     case SPK.LightRGB:
                         #region rgb light
-                        byte b = 100;
-                        if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff))
+                        byte b = Convert.ToByte(function.lastBrightness);
+                        if (commandDictionary.ContainsKey(FunctionAttributeKey.Brightness))
                         {
-                            if (function.trait_on_off.curValue.ToString() == "off")
-                            {
-                                b = 0;
-                            }
-                            else
-                            {
-                                b = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness);
-                            }
+                            b = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness));
                         }
                         else
                         {
-                            b = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness));
+                            if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff))
+                            {
+                                if (function.trait_on_off.curValue.ToString() == "off")
+                                {
+                                    b = 0;
+                                }
+                                else
+                                {
+                                    b = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness);
+                                }
+                            }
                         }
                         var tempLight = new Light();
                         var bytes = new byte[] { function.bus.LoopId,
@@ -521,21 +527,24 @@
                         break;
                     case SPK.LightDimming:
                         #region dimming light
-                        byte b1 = 100;
-                        if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff))
+                        byte b1 = Convert.ToByte(function.lastBrightness);
+                        if (commandDictionary.ContainsKey(FunctionAttributeKey.Brightness))
                         {
-                            if (function.trait_on_off.curValue.ToString() == "off")
-                            {
-                                b1 = 0;
-                            }
-                            else
-                            {
-                                b1 = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness);
-                            }
+                            b1 = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness));
                         }
                         else
                         {
-                            b1 = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness));
+                            if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff))
+                            {
+                                if (function.trait_on_off.curValue.ToString() == "off")
+                                {
+                                    b1 = 0;
+                                }
+                                else
+                                {
+                                    b1 = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness);
+                                }
+                            }
                         }
                         ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] {
                                             function.bus.LoopId,

--
Gitblit v1.8.0