From e4ab7ba15864d2adb882646d8e09bd00effa4d1b Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 21 八月 2023 17:12:11 +0800
Subject: [PATCH] 2023年08月21日17:12:02

---
 HDL_ON/Entity/Function/Function.cs |   63 +++++++++++++++++++++++++++++--
 1 files changed, 59 insertions(+), 4 deletions(-)

diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index 8b52231..6e0f81f 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -100,7 +100,7 @@
         /// <returns></returns>
         public FunctionAttributes GetAttribute(string key)
         {
-            var attr = attributes.Find((a) => a.key == key);
+            var attr = GetFunctionAttributes().Find((a) => a.key == key);
             return attr;
         }
 
@@ -799,11 +799,38 @@
         public SceneFunction ConvertSceneFunction()
         {
             var sFunc = new SceneFunction();
-            if(spk == SPK.GroupControl)
-            {
 
+            var list = new List<FunctionAttributes>();
+            if (spk == SPK.GroupControl)
+            {
+                lock (list)
+                {
+                    var gc = FunctionList.List.groupControls.Find((obj) => obj.sid == sid);
+                    if (gc != null)
+                    {
+                        foreach (var temp in gc.sids)
+                        {
+                            var light = FunctionList.List.GetLightList().Find((obj) => obj.sid == temp.sid);
+                            if (light != null)
+                            {
+                                foreach (var attr in light.attributes)
+                                {
+                                    if (list.Find((obj) => obj.key == attr.key) == null)
+                                    {
+                                        list.Add(attr);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
             }
-            foreach (var attr in attributes)
+            else
+            {
+                list.AddRange(attributes);
+            }
+
+            foreach (var attr in list)
             {
                 //绐楀笜鍚屾椂鍙戦�佸紑鍏宠窡鐧惧垎姣斾細鏈夐棶棰橈紝
                 if(spk == SPK.CurtainRoller || spk == SPK.CurtainTrietex || spk == SPK.CurtainDream)
@@ -1117,6 +1144,10 @@
         /// 褰撳墠鍊�
         /// </summary>
         public object curValue = new object();
+        /// <summary>
+        /// 灞炴�у崟浣�
+        /// </summary>
+        public string unit=string.Empty;
     }
 
     /// <summary>
@@ -1527,6 +1558,11 @@
         /// </summary>
         public const string Ev_Ipcam = "security.ipcam.ez";
         /// <summary>
+        /// 褰遍煶涓帶
+        /// </summary>
+        public const string AvZkAiks = "av.zk.aiks";
+       
+        /// <summary>
         /// 钀ょ煶瑙嗛闂ㄩ攣spk鍒楄〃
         /// </summary>
         /// <returns></returns>
@@ -1534,6 +1570,20 @@
         {
             var list = new List<string>();
             list.Add(VideoDoorLock);
+            return list;
+        }
+
+      
+        /// <summary>
+        /// 褰遍煶涓帶spk鍒楄〃
+        /// </summary>
+        /// <returns></returns>
+        public static List<string> GetVideoControlsSPKList()
+        {
+            var list = new List<string>
+            {
+                AvZkAiks
+            };
             return list;
         }
 
@@ -1967,6 +2017,10 @@
 
         #region 瀹剁數
         /// <summary>
+        /// 娴蜂俊鐢佃
+        /// </summary>
+        public const string ElectricalTvHisense = "electrical.tv.hisense";
+        /// <summary>
         /// 瀹剁數銆佹彃搴�
         /// </summary>
         public const string ElectricSocket = "electrical.socket";
@@ -2080,6 +2134,7 @@
             spkList.Add(ElectricTuyaWaterValve);
             spkList.Add(ElectricTuyaWaterValve2);
             spkList.Add(AirSwitch);
+            spkList.Add(ElectricalTvHisense);
             return spkList;
         }
 

--
Gitblit v1.8.0