From 54c202bd4867092fca2bc6f96bec0cfd1056a46a Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期一, 06 十一月 2023 11:24:20 +0800
Subject: [PATCH] 2023年11月06日11:23:46

---
 HDL_ON/DAL/DriverLayer/Control_Udp.cs |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/HDL_ON/DAL/DriverLayer/Control_Udp.cs
index 2791215..a98ad05 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)
@@ -391,6 +392,9 @@
                                     break;
                                 }
                             }
+                            break;
+                        case SPK.OtherCommon:
+
                             break;
                     }
                 }
@@ -552,7 +556,28 @@
                         }
                         else
                         {
-                            ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { (byte)(((int)function.bus.LoopId) + 16), 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