From 4b38e2265a83b173efd498366590e77c2d4d90f5 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 15 五月 2024 10:37:27 +0800 Subject: [PATCH] 修复一端口控制百分比无效的问题 --- HDL_ON/DAL/DriverLayer/Control_Udp.cs | 75 +++++++++++++++++++++---------------- 1 files changed, 42 insertions(+), 33 deletions(-) diff --git a/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/HDL_ON/DAL/DriverLayer/Control_Udp.cs index 7fd1e36..421b4c4 100644 --- a/HDL_ON/DAL/DriverLayer/Control_Udp.cs +++ b/HDL_ON/DAL/DriverLayer/Control_Udp.cs @@ -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