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 | 99 ++++++++++++++++++++++++++++++++-----------------
1 files changed, 65 insertions(+), 34 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
index 5dba3fd..5f3e595 100644
--- a/HDL_ON/DAL/DriverLayer/Control_Udp.cs
+++ b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
@@ -302,7 +302,8 @@
break;
case SPK.LightRGB:
break;
- case SPK.HvacFloorHeat:case SPK.FloorHeatStandard:
+ case SPK.HvacFloorHeat:
+ case SPK.FloorHeatStandard:
if (f.status.Find((obj)=>obj.key ==FunctionAttributeKey.Mode) == null)
{
foreach (var dic in f.status)
@@ -392,6 +393,27 @@
}
}
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;
}
}
}
@@ -442,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,
@@ -470,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,
@@ -499,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