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