From a9d1161b1df96e7ddad566335989a1444e433ef5 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 28 三月 2023 11:54:45 +0800
Subject: [PATCH] 2023年03月28日11:52:02

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

diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index 0096799..3252d44 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -273,6 +273,10 @@
         /// </summary>
         public string deviceId = "0";
         /// <summary>
+        /// 绗笁鏂硅澶囨墿灞昳d
+        /// </summary>
+        public string extDevId = string.Empty;
+        /// <summary>
         /// 璁惧spk
         /// </summary>
         public string spk = "";
@@ -400,16 +404,20 @@
         /// 鏄惁鏀惰棌
         /// </summary>
         public bool collect = false;
+
+        private bool _online = false;
         /// <summary>
         /// 鏄惁鍦ㄧ嚎
         /// </summary>
-        public bool online {
+        public bool online
+        {
             get
             {
                 return true;
             }
-            set {
-
+            set
+            {
+                _online = value;
             }
         }
 
@@ -734,6 +742,18 @@
             var sFunc = new SceneFunction();
             foreach (var attr in attributes)
             {
+                //绐楀笜鍚屾椂鍙戦�佸紑鍏宠窡鐧惧垎姣斾細鏈夐棶棰橈紝
+                if(spk == SPK.CurtainRoller || spk == SPK.CurtainTrietex)
+                {
+                    if (attr.key == FunctionAttributeKey.OnOff)
+                    {
+                        if (attributes.Find((obj) => obj.key == FunctionAttributeKey.Percent) != null)
+                        {
+                            continue;
+                        }
+                    }
+                }
+
                 switch (attr.key)
                 {
                     case FunctionAttributeKey.OnOff:
@@ -745,6 +765,7 @@
                     case FunctionAttributeKey.CCT:
                     case FunctionAttributeKey.RGB:
                     case FunctionAttributeKey.Angle:
+                    case "security":
                         //case FunctionAttributeKey.FadeTime:
                         if (attr.curValue.ToString() == "{}")
                         {
@@ -769,6 +790,10 @@
                                         attr.curValue = "day";
                                     }
                                 }
+                            }
+                            else if(attr.key == "security")
+                            {
+                                attr.curValue = "false";
                             }
                             else
                             {
@@ -970,6 +995,11 @@
         /// </summary>
         public List<string> value = new List<string>();
         /// <summary>
+        /// 姝ヨ繘
+        /// 绌鸿皟娓╁害鎺у埗 0.5 1
+        /// </summary>
+        public string step = "1";
+        /// <summary>
         /// 鏈�澶у��
         /// </summary>
         public int max = 100;
@@ -998,6 +1028,10 @@
     {
         public const string _null = "";
         /// <summary>
+        /// 瀹夐槻甯冮槻鐘舵��
+        /// </summary>
+        public const string Security = "security";
+        /// <summary>
         /// 寮�鍏�
         /// </summary>
         public const string OnOff = "on_off";
@@ -1009,6 +1043,7 @@
         /// 棰滆壊
         /// </summary>
         public const string RGB = "rgb";
+        public const string RGBW = "rgbw";
         /// <summary>
         /// 娓愬彉鏃堕棿
         /// </summary>
@@ -1316,7 +1351,14 @@
         /// 閫氱敤寮�鍏�
         /// </summary>
         public const string OtherCommon = "other.common";
-
+        /// <summary>
+        /// 澶у崕鎽勫儚澶�
+        /// </summary>
+        public const string IpCam_Imou = "security.ipcam.imou";
+        /// <summary>
+        /// 鏈烘鎵�
+        /// </summary>
+        public const string MechanicalArm = "electrical.mechanical_arm";
         /// <summary>
         /// 绌鸿皟绉戞妧绯荤粺锛堢豢寤猴級
         /// 鎬绘帶
@@ -1516,6 +1558,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";
@@ -1609,6 +1655,10 @@
         public const string SenesorMegahealth = "sensor.megahealth";
         public const string SenesorMegahealth2 = "sensor.megahealth.zg";
         /// <summary>
+        /// 姣背娉紶鎰熷櫒锛堝Э鎬佺増锛�
+        /// </summary>
+        public const string SensorMmvPose = "sensor.mmv_pose";
+        /// <summary>
         /// 绱ф�ュ懠鍙�
         /// </summary>
         public const string SensorHelp = "sensor.help";
@@ -1633,6 +1683,7 @@
             spkList.Add(SensorDryContact2);
             spkList.Add(SenesorMegahealth);
             spkList.Add(SenesorMegahealth2);
+            spkList.Add(SensorMmvPose);
             return spkList;
         }
         #endregion
@@ -1651,6 +1702,10 @@
         }
 
         #region 鐜浼犳劅鍣�
+        /// <summary>
+        /// 锛圥M10浼犳劅鍣級
+        /// </summary>
+        public const string SensorPm10 = "sensor.pm10";
         /// <summary>
         /// 锛堟俯搴︿紶鎰熷櫒锛�
         /// </summary>
@@ -1700,11 +1755,12 @@
         {
             var spkList = new List<string>();
             spkList.Add(SensorTemperature);
+            spkList.Add(SensorPm10);
             spkList.Add(SensorPm25);
             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);
@@ -1718,6 +1774,7 @@
         {
             var spkList = new List<string>();
             spkList.Add(SensorTemperature);
+            spkList.Add(SensorPm10);
             spkList.Add(SensorPm25);
             spkList.Add(SensorCO2);
             spkList.Add(SensorTVOC);
@@ -1733,7 +1790,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;
@@ -1904,6 +1961,7 @@
             spkList.Add(ElectricTuyaWaterValve2);
             spkList.Add(ElectricTuyaWeepRobot);
             spkList.Add(ElectricTuyaWeepRobot2);
+            spkList.Add(SensorMmvPose);
             spkList.Add(SenesorMegahealth);
             spkList.Add(SenesorMegahealth2);
             return spkList;
@@ -1929,7 +1987,7 @@
                     list.Add(ElectricTuyaWeepRobot2);
                     break;
                 case BrandType.All3tyBrand:
-                    list.Add(SenesorMegahealth);//鍏嗚
+                    list.Add(SenesorMegahealth2);//鍏嗚
                     break;
             }
             return list;

--
Gitblit v1.8.0