From efcffde735fa65ae34bae0bcc86313b74ed0e36c Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期一, 20 五月 2024 13:47:38 +0800
Subject: [PATCH] 优化离线数据
---
HDL_ON/DAL/DriverLayer/Control_Udp.cs | 122 +++++++++++++++++++++++++++++-----------
1 files changed, 87 insertions(+), 35 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
index ce7be67..421b4c4 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,
@@ -552,7 +583,28 @@
}
else
{
- ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { 17, Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Percent)) });
+ if (commandDictionary.ContainsKey(FunctionAttributeKey.Percent))
+ {
+ ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { (byte)(((int)function.bus.LoopId) + 16), Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Percent)) });
+ }
+ else
+ {
+
+ byte tempCurtainState = 0;
+ if (function.trait_on_off.curValue.ToString() == "stop")
+ {
+ tempCurtainState = 0;
+ }
+ else if (function.trait_on_off.curValue.ToString() == "on")
+ {
+ tempCurtainState = 1;
+ }
+ else
+ {
+ tempCurtainState = 2;
+ }
+ ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { function.bus.LoopId, tempCurtainState });
+ }
}
break;
--
Gitblit v1.8.0