From c008153a455b2c79ac9087d82bd9abf9f1eea19f Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 11 八月 2021 18:03:14 +0800
Subject: [PATCH] 2021-08-11-1

---
 HDL_ON/Entity/Function/Function.cs |  131 ++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 115 insertions(+), 16 deletions(-)

diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index db891e9..b99f909 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -1,4 +1,4 @@
-锘縰sing System;
+using System;
 using System.Collections.Generic;
 using HDL_ON.Common;
 using HDL_ON.DAL.Server;
@@ -281,6 +281,21 @@
                 return _trait_on_off;
             }
         }
+        /// <summary>
+        /// 鍔熻兘鐨勫睘鎬х姸鎬佸垪琛�
+        /// </summary>
+        public List<AttributesStatus> status = new List<AttributesStatus>();
+        /// <summary>
+        /// 閫氳繃鐘舵�佸垪琛ㄧ粍瑁呭睘鎬ч噷闈㈢殑鐘舵��
+        /// </summary>
+        public void AssembleStatus()
+        {
+            foreach (var sta in status)
+            {
+                SetAttrState(sta.key, sta.value);
+            }
+        }
+
 
         /// <summary>
         /// 浣跨敤娆℃暟
@@ -507,7 +522,25 @@
                             {
                                 attr.curValue = "off";
                             }
-                            else
+                            else if (attr.key == FunctionAttributeKey.Mode )
+                            {
+                                if (DB_ResidenceData.Instance.GatewayType == 0)
+                                {
+                                    attr.curValue = "0";
+                                }
+                                else
+                                {
+                                    if (SPK.AcSpkList().Contains(spk))
+                                    {
+                                        attr.curValue = "cool";
+                                    }
+                                    else if (SPK.FhSpkList().Contains(spk))
+                                    {
+                                        attr.curValue = "day";
+                                    }
+                                }
+                            }
+                            else 
                             {
                                 attr.curValue = "0";
                             }
@@ -516,6 +549,10 @@
                         {
                             double vv = 16;
                             Double.TryParse(attr.curValue.ToString(), out vv);
+                            if (vv == 0)
+                            {
+                                vv = 26;
+                            }
                             sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = Convert.ToInt32(vv).ToString() });
                         }
                         else
@@ -638,7 +675,7 @@
         public List<AttributesStatus> status = new List<AttributesStatus>();
     }
     /// <summary>
-    /// a鍗忚鎺у埗鍔ㄤ綔鏁版嵁
+    /// 鍔熻兘灞炴�х姸鎬�
     /// </summary>
     public class AttributesStatus
     {
@@ -690,6 +727,7 @@
         /// </summary>
         public object curValue = new object();
     }
+
     /// <summary>
     /// 鍔熻兘灞炴�ч敭鍚嶅垪琛�
     /// </summary>
@@ -716,6 +754,10 @@
         /// 妯″紡
         /// </summary>
         public const string Mode = "mode";
+        /// <summary>
+        /// 鎵
+        /// </summary>
+        public const string Swing = "swing";
         /// <summary>
         /// 宸ヤ綔妯″紡
         /// 鍦扮儹/鍦板喎/鍔熺巼鍦扮儹/鍔熺巼鍦板喎
@@ -747,6 +789,7 @@
         /// 绌鸿皟銆佸湴鐑�//app鑷姞
         /// </summary>
         public const string TempType = "temperature_type";
+
         /// <summary>
         /// 鏃堕棿鏍囪
         /// 鍦扮儹//app鑷姞
@@ -776,6 +819,10 @@
         /// 鐘舵��,浼犳劅鍣�
         /// </summary>
         public const string Status = "status";
+        /// <summary>
+        /// 姣背娉紶鎰熷櫒锛屽姩浣滅姸鎬�
+        /// </summary>
+        public const string ActionStatus = "action_state";
         /// <summary>
         /// 鐢甸噺鐘舵��
         /// </summary>
@@ -854,6 +901,10 @@
         /// </summary>
         public const string Humidity = "humidity";
         /// <summary>
+        /// 娓╁害
+        /// </summary>
+        public const string Temperature = "temperature";
+        /// <summary>
         /// 瀹ゅ唴娓╁害
         /// </summary>
         public const string IndoorTemp = "indoor_temp";
@@ -866,7 +917,7 @@
         /// </summary>
         public const string FilterRemain = "filter_remain";
         /// <summary>
-        /// 杩囨护缃戞槸鍚﹁秴鏃惰鍛�
+        /// 杩囨护缃戞槸鍚﹁秴鏃惰鍛� 
         /// </summary>
         public const string FilterTimeout = "filter_timeout";
 
@@ -941,6 +992,8 @@
 
     public static class SPK
     {
+       
+
 
         #region 鐏厜
         /// <summary>
@@ -1154,7 +1207,7 @@
         /// <summary>
         /// 瓒呭0娉紶鎰熷櫒
         /// </summary>
-        public const string SensoruUtrasonic = "sensor.ultrasonic";
+        public const string SensorUtrasonic = "sensor.ultrasonic";
         /// <summary>
         /// 锛堝共鎺ョ偣锛�
         /// </summary>
@@ -1163,8 +1216,6 @@
         /// 姣背娉紶鎰熷櫒
         /// </summary>
         public const string SenesorMegahealth = "sensor.megahealth";
-
-
         /// <summary>
         /// 瀹夐槻浼犳劅鍣╯pk鍒楄〃
         /// </summary>
@@ -1172,16 +1223,16 @@
         public static List<string> ArmSensorSpkList()
         {
             var spkList = new List<string>();
-            spkList.Add(SensorLight);
+            //spkList.Add(SensorLight);
             spkList.Add(SensorPir);
             spkList.Add(SensorDoorWindow);
             spkList.Add(SensorSmoke);
             spkList.Add(SensorWater);
-            spkList.Add(SensorGas);
-            spkList.Add(SensorShanLan);
-            spkList.Add(SensorDuiShe);
-            spkList.Add(SensoruUtrasonic);
-            spkList.Add(SensorDryContact);
+            //spkList.Add(SensorGas);
+            //spkList.Add(SensorShanLan);
+            //spkList.Add(SensorDuiShe);
+            //spkList.Add(SensoruUtrasonic);
+            //spkList.Add(SensorDryContact);
             spkList.Add(SenesorMegahealth);
             return spkList;
         }
@@ -1208,6 +1259,21 @@
         /// 婀垮害浼犳劅鍣�
         /// </summary>
         public const string SensorHumidity = "sensor.humidity";
+        /// <summary>
+        /// 鐜浼犳劅鍣�
+        /// 鐜妫�娴嬩紶鎰熷櫒
+        /// 鐗规畩绫籹pk
+        /// 璇pk鍔熻兘鏄幆澧冧紶鎰熷櫒鍔熻兘鐨勯泦鎴�
+        /// </summary>
+        public const string SensorEnvironment = "sensor.environment";
+        /// <summary>
+        /// 闈掕悕浼犳劅鍣�2锛坈o2锛宲m25锛屾俯婀垮害锛岀數閲忥紝tvoc锛�
+        /// </summary>
+        public const string SensorEnvironment2 = "sensor.environment2";
+        /// <summary>
+        /// 闈掕悕浼犳劅鍣�3锛坈o2锛宲m25锛屾俯婀垮害锛�
+        /// </summary>
+        public const string SensorEnvironment3 = "sensor.environment3";
 
         /// <summary>
         /// 鐜浼犳劅鍣╯pk鍒楄〃
@@ -1221,6 +1287,7 @@
             spkList.Add(SensorCO2);
             spkList.Add(SensorTVOC);
             spkList.Add(SensorHumidity);
+            spkList.Add(SensorEnvironment);
             return spkList;
         }
         #endregion
@@ -1239,6 +1306,10 @@
         /// 绾㈠銆佺數瑙�
         /// </summary>
         public const string TvIr = "ir.tv";
+        /// <summary>
+        /// 绾㈠銆佸皬绫崇數瑙�
+        /// </summary>
+        public const string TvXmIr = "ir.tvxm";
         /// <summary>
         /// 瀹剁數銆侀鎵�
         /// </summary>
@@ -1306,7 +1377,9 @@
             spkList.Add(ElectricSocket);
             spkList.Add(ElectricTV);
             spkList.Add(TvIr);
+            spkList.Add(TvXmIr);
             spkList.Add(ElectricFan);
+            spkList.Add(FanIr);
             spkList.Add(ClothesHanger);
             spkList.Add(IrLearn);
             spkList.Add(PjtIr);
@@ -1320,7 +1393,6 @@
 
 
         #endregion
-
 
         #region 璁惧绫�
         /// <summary>
@@ -1340,7 +1412,21 @@
         }
         #endregion
 
-
+        #region 绗笁鏂箂pk鍒楄〃
+        /// <summary>
+        /// 鑾峰彇鎵�鏈夌涓夋柟鍝佺墝鍔熻兘鐨剆pk
+        /// </summary>
+        /// <returns></returns>
+        public static List<string> GetAll3tySPK()
+        {
+            var spkList = new List<string>();
+            spkList.Add(ElectricTuyaAirCleaner);
+            spkList.Add(ElectricTuyaFan);
+            spkList.Add(ElectricTuyaWaterValve);
+            spkList.Add(ElectricTuyaWeepRobot);
+            spkList.Add(SenesorMegahealth);
+            return spkList;
+        }
         /// <summary>
         /// 鑾峰彇绗笁鏂硅澶噑pk
         /// </summary>
@@ -1351,17 +1437,26 @@
 
             switch (brandType)
             {
-                case BrandType.All3tyBrand:
                 case BrandType.Tuya:
                     list.Add(ElectricTuyaAirCleaner);
                     list.Add(ElectricTuyaFan);
                     list.Add(ElectricTuyaWaterValve);
                     list.Add(ElectricTuyaWeepRobot);
                     break;
+                case BrandType.All3tyBrand:
+                    list.Add(SenesorMegahealth);//鍏嗚
+                    break;
             }
             return list;
         }
+        #endregion
 
+        /// <summary>
+        /// 娌℃湁鐘舵�佹樉绀虹殑鍔熻兘spk鍒楄〃
+        /// </summary>
+        public static List<string> NotStatusSpkList = new List<string> {
+            ElectricTV, FanIr, TvIr, TvXmIr, StbIr, PjtIr, IrLearn
+        };
 
         /// <summary>
         /// 绗笁鏂瑰搧鐗屽垪琛�
@@ -1371,6 +1466,10 @@
             All = 0,
             Hdl = 1,
             Tuya = 2,
+            /// <summary>
+            /// 鍏嗚
+            /// </summary>
+            Megahealth = 3,
 
 
             All3tyBrand = 999,

--
Gitblit v1.8.0