From 592974441a4df95fffd9167c90192da1a390b1c2 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 06 六月 2023 11:51:12 +0800
Subject: [PATCH] Merge branch 'Dev-Branch'

---
 HDL_ON/Entity/Function/Function.cs |  104 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 97 insertions(+), 7 deletions(-)

diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index 64034ec..171de78 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -277,6 +277,10 @@
         /// </summary>
         public string extDevId = string.Empty;
         /// <summary>
+        /// 鐗╃悊璁惧(妯″潡)鍨嬪彿
+        /// </summary>
+        public string omodel =string.Empty;
+        /// <summary>
         /// 璁惧spk
         /// </summary>
         public string spk = "";
@@ -523,6 +527,14 @@
                 SetAttrState(sta.key, sta.value);
             }
         }
+        /// <summary>
+        /// 鍔熻兘鍒楄〃鎺掑簭
+        /// </summary>
+        public int FunctionOrderNumber = 9999;
+        /// <summary>
+        /// 鎴块棿鍒楄〃鎺掑簭
+        /// </summary>
+        public int RoomOrderNumber = 9999;
 
 
         /// <summary>
@@ -553,13 +565,27 @@
 
             new System.Threading.Thread(() =>
             {
-                if (collect)
-                {
-                    result = ApiUtlis.Ins.HttpRequest.CollectDevice(deviceId).Code;
+                if (spk == SPK.GroupControl) {
+                    var groupControl = FunctionList.List.groupControls.Find((obj) => obj.sid == sid);
+                    if (collect)
+                    {
+                        result = ApiUtlis.Ins.HttpRequest.CollectGroupControl(groupControl.userDeviceGroupControlId).Code;
+                    }
+                    else
+                    {
+                        result = ApiUtlis.Ins.HttpRequest.CancelCollectGroupControl(groupControl.userDeviceGroupControlId).Code;
+                    }
                 }
                 else
                 {
-                    result = ApiUtlis.Ins.HttpRequest.CancelCollectDevice(deviceId).Code;
+                    if (collect)
+                    {
+                        result = ApiUtlis.Ins.HttpRequest.CollectDevice(deviceId).Code;
+                    }
+                    else
+                    {
+                        result = ApiUtlis.Ins.HttpRequest.CancelCollectDevice(deviceId).Code;
+                    }
                 }
                 //鎻愮ず閿欒
                 if (result != StateCode.SUCCESS)
@@ -742,6 +768,18 @@
             var sFunc = new SceneFunction();
             foreach (var attr in attributes)
             {
+                //绐楀笜鍚屾椂鍙戦�佸紑鍏宠窡鐧惧垎姣斾細鏈夐棶棰橈紝
+                if(spk == SPK.CurtainRoller || spk == SPK.CurtainTrietex || spk == SPK.CurtainDream)
+                {
+                    if (attr.key == FunctionAttributeKey.OnOff)
+                    {
+                        if (attributes.Find((obj) => obj.key == FunctionAttributeKey.Percent) != null)
+                        {
+                            continue;
+                        }
+                    }
+                }
+
                 switch (attr.key)
                 {
                     case FunctionAttributeKey.OnOff:
@@ -982,6 +1020,11 @@
         /// 灞炴�х殑鍊煎垪琛�
         /// </summary>
         public List<string> value = new List<string>();
+        /// <summary>
+        /// 姝ヨ繘
+        /// 绌鸿皟娓╁害鎺у埗 0.5 1
+        /// </summary>
+        public string step = "1";
         /// <summary>
         /// 鏈�澶у��
         /// </summary>
@@ -1331,6 +1374,10 @@
     public static class SPK
     {
         /// <summary>
+        /// 缇ゆ帶锛堣嚜瀹氫箟锛�
+        /// </summary>
+        public const string GroupControl = "GroupControl";
+        /// <summary>
         /// 閫氱敤寮�鍏�
         /// </summary>
         public const string OtherCommon = "other.common";
@@ -1357,6 +1404,7 @@
         /// 闂ㄩ攣
         /// </summary>
         public const string DoorLock = "security.door";
+        
         /// <summary>
         /// 闂ㄩ攣spk鍒楄〃
         /// </summary>
@@ -1367,8 +1415,41 @@
             list.Add(DoorLock);
             return list;
         }
+        
 
+        /// <summary>
+        /// 鐚溂
+        /// </summary>
+        public const string Peephole = "peephole";
+        /// <summary>
+        /// 钀ょ煶瑙嗛闂ㄩ攣
+        /// </summary>
+        public const string VideoDoorLock="security.door.ezviz";
+        /// <summary>
+        /// 钀ょ煶鎽勫儚澶�
+        /// </summary>
+        public const string Ev_Ipcam = "security.ipcam.ez";
+        /// <summary>
+        /// 钀ょ煶瑙嗛闂ㄩ攣spk鍒楄〃
+        /// </summary>
+        /// <returns></returns>
+        public static List<string> GetVideoDoorLockSPKList()
+        {
+            var list = new List<string>();
+            list.Add(VideoDoorLock);
+            return list;
+        }
 
+        /// <summary>
+        /// 钀ょ煶鎽勫儚澶磗pk鍒楄〃
+        /// </summary>
+        /// <returns></returns>
+        public static List<string> GetEvIpcamSPKList()
+        {
+            var list = new List<string>();
+            list.Add(Ev_Ipcam);
+            return list;
+        }
 
         #region 鐏厜
         /// <summary>
@@ -1461,7 +1542,7 @@
         public const string HvacAC = "hvac.ac";
         /// <summary>
         /// 姣涚粏绠$┖璋�
-        /// </summary>
+        /// </summaryc
         public const string HvacCac = "hvac.cac";
 
         /// <summary>
@@ -1541,6 +1622,10 @@
         /// </summary>
         public const string Inverter = "energy.inverter";
         /// <summary>
+        /// 涓夌浉閫嗗彉鍣�
+        /// </summary>
+        public const string InverterRst = "energy.inverter_rst";
+        /// <summary>
         /// 鑳芥簮妯″潡
         /// </summary>
         public const string EnergyStandard = "energy.standard";
@@ -1596,6 +1681,10 @@
         /// </summary>
         public const string SensorPir = "sensor.pir";
         /// <summary>
+        /// 浜轰綋瀛樺湪浼犳劅鍣�
+        /// </summary>
+        public const string SensorPirHold = "sensor.pir_hold";
+        /// <summary>
         /// 锛堥棬绐椾紶鎰熷櫒锛�
         /// </summary>
         public const string SensorDoorWindow = "sensor.doorwindow";
@@ -1650,6 +1739,7 @@
             var spkList = new List<string>();
             //spkList.Add(SensorLight);
             spkList.Add(SensorPir);
+            spkList.Add(SensorPirHold);
             spkList.Add(SensorHelp);
             spkList.Add(SensorDoorWindow);
             spkList.Add(SensorSmoke);
@@ -1739,7 +1829,7 @@
             spkList.Add(SensorCO2);
             spkList.Add(SensorTVOC);
             spkList.Add(SensorHumidity);
-            spkList.Add(SensorEnvironment);
+            spkList.Add(SensorEnvironment); spkList.Add(SensorEnvironmentHailin);
             spkList.Add(SensorEnvironment2);
             spkList.Add(SensorEnvironment3);
             spkList.Add(SensorHcho);
@@ -1769,7 +1859,7 @@
         public static List<string> EvironmentSensorList()
         {
             var spkList = new List<string>();
-            spkList.Add(SensorEnvironment);
+            spkList.Add(SensorEnvironment); spkList.Add(SensorEnvironmentHailin);
             spkList.Add(SensorEnvironment2);
             spkList.Add(SensorEnvironment3);
             return spkList;

--
Gitblit v1.8.0