From 9ab5bd54fadd8fc9c542b48c99a117a4e182669b Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期四, 14 十月 2021 16:37:56 +0800
Subject: [PATCH] 智能空开能源界面数据更新

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

diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index b99f909..64bc159 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -146,7 +146,48 @@
         {
             get
             {
-                return spk.Replace(".","");
+                string iconPath = spk.Replace(".", "");
+                switch (spk)
+                {
+                    case SPK.PanelSocket:
+                        iconPath = "electricalsocket";
+                        break;
+                    case SPK.SenesorMegahealth2:
+                        iconPath = "sensormegahealth";
+                        break;
+                    case SPK.SensorEnvironmentHailin:
+                        iconPath = "sensorenvironment";
+                        break;
+                    case SPK.HvacAirFresh:
+                        iconPath = "airFreshstandard";
+                        break;
+                    case SPK.HvacAirFreshJinmao:
+                        iconPath = "airFreshjinmao";
+                        break;
+                    case SPK.HvacAC:
+                        iconPath = "acstandard";
+                        break;
+                    case SPK.HvacFan:
+                        iconPath = "electricalfan";
+                        break;
+                    case SPK.ElectricTuyaFan2:
+                        iconPath = "electricaltyqborgovyzytytz";
+                        break;
+                    case SPK.ElectricTuyaAirCleaner2:
+                        iconPath = "electricalQ1RsefNf91tIXyyQ";
+                        break;
+                    case SPK.ElectricTuyaWaterValve2:
+                        iconPath = "electricalkoiGhMKwLf2ZP81g";
+                        break;
+                    case SPK.ElectricTuyaWeepRobot2:
+                        iconPath = "electricalai6HtccKFIw3dxo3";
+                        break;
+                    case SPK.AvMusic:
+                        iconPath = "musicstandard";
+                        break;
+
+                }
+                return iconPath;
             }
         }
 
@@ -188,24 +229,87 @@
         /// </summary>
         public string spk = "";
 
-        string spk_Prefix;
+        private string _SpkCategory = string.Empty;
         /// <summary>
-        /// spk鍓嶇紑
-        /// 澶х被
-        /// 鍔熻兘绫诲埆
-        /// 濡傦細绌鸿皟绫汇�佺伅鍏夌被銆佺獥甯樼被
+        /// spk  浜у搧鐨勫搧绫�
         /// </summary>
-        public string Spk_Prefix
+        public string SpkCategory
         {
             get
             {
-                if (string.IsNullOrEmpty(spk_Prefix))
+                if (string.IsNullOrEmpty(_SpkCategory))
                 {
-                    spk_Prefix = spk.Split(".")[0];
+                    var arr = spk.Split(".");
+                    if (arr.Length > 0)
+                    {
+                        _SpkCategory = arr[0];
+                    }
                 }
-                return spk_Prefix;
+                return _SpkCategory;
             }
         }
+
+        private string _SpkClassification = string.Empty;
+        /// <summary>
+        /// spk 浜у搧鍝佺被涓嬬殑鍒嗙被
+        /// </summary>
+        public string SpkClassification
+        {
+            get
+            {
+                if (string.IsNullOrEmpty(_SpkClassification))
+                {
+                    var arr = spk.Split(".");
+                    if (arr.Length > 1)
+                    {
+                        _SpkClassification = arr[1];
+                    }
+                }
+                return _SpkClassification;
+            }
+        }
+
+        string _SpkManufacturer = string.Empty;
+        /// <summary>
+        /// spk 浜у搧鐨勫巶鍟�
+        /// </summary>
+        public string SpkManufacturer
+        {
+            get
+            {
+                if (string.IsNullOrEmpty(_SpkManufacturer))
+                {
+                    var arr = spk.Split(".");
+                    if (arr.Length > 2)
+                    {
+                        _SpkManufacturer = arr[2];
+                    }
+                }
+                return _SpkManufacturer;
+            }
+        }
+
+
+        //string spk_Prefix;
+        ///// <summary>
+        ///// spk鍓嶇紑
+        ///// 澶х被
+        ///// 鍔熻兘绫诲埆
+        ///// 濡傦細绌鸿皟绫汇�佺伅鍏夌被銆佺獥甯樼被
+        ///// </summary>
+        //public string Spk_Prefix
+        //{
+        //    get
+        //    {
+        //        if (string.IsNullOrEmpty(spk_Prefix))
+        //        {
+        //            spk_Prefix = spk.Split(".")[0];
+        //        }
+        //        return spk_Prefix;
+        //    }
+        //}
+
+
         /// <summary>
         /// A鍗忚鍔熻兘鐨勭壒鎬�
         /// 濡傦細鏄疉C鍔熻兘锛氱壒鎬э細on_off,mode,fan,temperature
@@ -515,6 +619,8 @@
                     case FunctionAttributeKey.SetTemp:
                     case FunctionAttributeKey.FanSpeed:
                     case FunctionAttributeKey.Percent:
+                    case FunctionAttributeKey.CCT:
+                    case FunctionAttributeKey.RGB:
                     //case FunctionAttributeKey.FadeTime:
                         if (attr.curValue.ToString() == "{}")
                         {
@@ -553,12 +659,13 @@
                             {
                                 vv = 26;
                             }
-                            sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = Convert.ToInt32(vv).ToString() });
+                            sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = Convert.ToInt32(vv).ToString(), max = attr.max, min = attr.min });
                         }
                         else
                         {
-                            sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = attr.curValue.ToString() });
+                            sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = attr.curValue.ToString(), max = attr.max, min = attr.min });
                         }
+
                         break;
                 }
             }
@@ -695,7 +802,7 @@
     /// 鍔熻兘灞炴��
     /// 灞炴�у瓧娈佃В鏋愶細attri :灞炴�у唴瀹癸紝value 灞炴�х殑鍊硷紝max 鏈�澶у�� min 鏈�灏忓��
     /// </summary>
-    [System.Serializable]
+    [Serializable]
     public class FunctionAttributes
     {
         /// <summary>
@@ -815,10 +922,29 @@
         /// value
         /// </summary>
         public const string Value = "value";
+
+        public const string Co2 = "co2";
+        public const string Temperature = "temperature";
+        public const string Hcho = "hcho";
+        public const string Humidity = "humidity";
+        public const string Pm25 = "pm25";
+        public const string Tvoc = "tvoc";
         /// <summary>
         /// 鐘舵��,浼犳劅鍣�
         /// </summary>
         public const string Status = "status";
+        /// <summary>
+        /// 鐘舵��(鏈夋棤浜�)
+        /// </summary>
+        public const string PeopleStatus = "people_status";
+        /// <summary>
+        /// 鐘舵��(鎶ヨ)
+        /// </summary>
+        public const string AlarmStatus = "alarm_status";
+        /// <summary>
+        /// 鐘舵��(闂悎銆佹墦寮�)
+        /// </summary>
+        public const string ContactStatus = "contact_status";
         /// <summary>
         /// 姣背娉紶鎰熷櫒锛屽姩浣滅姸鎬�
         /// </summary>
@@ -896,14 +1022,6 @@
         /// 鑺傝兘
         /// </summary>
         public const string Energy = "energy";
-        /// <summary>
-        /// 婀垮害
-        /// </summary>
-        public const string Humidity = "humidity";
-        /// <summary>
-        /// 娓╁害
-        /// </summary>
-        public const string Temperature = "temperature";
         /// <summary>
         /// 瀹ゅ唴娓╁害
         /// </summary>
@@ -1075,6 +1193,10 @@
         /// 锛堢孩澶栫┖璋冿級
         /// </summary>
         public const string AcIr= "ir.ac";
+        /// <summary>
+        /// 绌鸿皟
+        /// </summary>
+        public const string HvacAC = "hvac.ac";
 
         /// <summary>
         /// 绌鸿皟spk鍒楄〃
@@ -1084,6 +1206,7 @@
         {
             var spkList = new List<string>();
             spkList.Add(AcStandard);
+            spkList.Add(HvacAC);
             spkList.Add(AcIr);
             return spkList;
         }
@@ -1094,6 +1217,10 @@
         /// 锛堝湴鐑級
         /// </summary>
         public const string FloorHeatStandard = "floorHeat.standard";
+        /// <summary>
+        /// 鍦版殩
+        /// </summary>
+        public const string HvacFloorHeat = "hvac.floorHeat";
 
         /// <summary>
         /// 鍦扮儹spk鍒楄〃
@@ -1103,6 +1230,7 @@
         {
             var spkList = new List<string>();
             spkList.Add(FloorHeatStandard);
+            spkList.Add(HvacFloorHeat);
             return spkList;
         }
         #endregion
@@ -1113,9 +1241,17 @@
         /// </summary>
         public const string AirFreshStandard = "airFresh.standard";
         /// <summary>
+        /// 鏂伴
+        /// </summary>
+        public const string HvacAirFresh = "hvac.airFresh";
+        /// <summary>
         /// 鏂伴 鈥斺�旈噾鑼傚畾鍒�
         /// </summary>
         public const string AirFreshJinmao = "airFresh.jinmao";
+        /// <summary>
+        /// 鏂伴 鈥斺�旈噾鑼傚畾鍒�
+        /// </summary>
+        public const string HvacAirFreshJinmao = "hvac.airFresh.jinmao";
 
         /// <summary>
         /// 鏂伴spk鍒楄〃
@@ -1126,6 +1262,8 @@
             var spkList = new List<string>();
             spkList.Add(AirFreshStandard);
             spkList.Add(AirFreshJinmao);
+            spkList.Add(HvacAirFresh);
+            spkList.Add(HvacAirFreshJinmao);
             return spkList;
         }
         #endregion
@@ -1157,6 +1295,10 @@
         /// 锛堥煶涔愶級
         /// </summary>
         public const string MusicStandard = "music.standard";
+        /// <summary>
+        /// 闊充箰
+        /// </summary>
+        public const string AvMusic = "av.music";
 
         /// <summary>
         /// 闊充箰spk鍒楄〃
@@ -1166,11 +1308,13 @@
         {
             var spkList = new List<string>();
             spkList.Add(MusicStandard);
+            spkList.Add(AvMusic);
             return spkList;
         }
         #endregion
 
         #region 浼犳劅鍣�
+
         #region 瀹夐槻浼犳劅鍣�
         /// <summary>
         /// 锛堜寒搴︿紶鎰熷櫒锛�
@@ -1212,10 +1356,12 @@
         /// 锛堝共鎺ョ偣锛�
         /// </summary>
         public const string SensorDryContact = "sensor.dryContact";
+        public const string SensorDryContact2 = "dryContact.standard";
         /// <summary>
         /// 姣背娉紶鎰熷櫒
         /// </summary>
         public const string SenesorMegahealth = "sensor.megahealth";
+        public const string SenesorMegahealth2 = "sensor.megahealth.zg";
         /// <summary>
         /// 瀹夐槻浼犳劅鍣╯pk鍒楄〃
         /// </summary>
@@ -1228,12 +1374,14 @@
             spkList.Add(SensorDoorWindow);
             spkList.Add(SensorSmoke);
             spkList.Add(SensorWater);
-            //spkList.Add(SensorGas);
+            spkList.Add(SensorGas);
             //spkList.Add(SensorShanLan);
             //spkList.Add(SensorDuiShe);
             //spkList.Add(SensoruUtrasonic);
-            //spkList.Add(SensorDryContact);
+            spkList.Add(SensorDryContact);
+            spkList.Add(SensorDryContact2);
             spkList.Add(SenesorMegahealth);
+            spkList.Add(SenesorMegahealth2);
             return spkList;
         }
         #endregion
@@ -1267,14 +1415,37 @@
         /// </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";
+        public const string SensorEnvironmentHailin = "sensor.environment.hailin";
+        /// <summary>
+        /// 鐢查啗
+        /// </summary>
+        public const string SensorHcho = "sensor.hcho";
 
+        /// <summary>
+        /// 鐜浼犳劅鍣ㄨ澶噑pk鍒楄〃
+        /// </summary>
+        /// <returns></returns>
+        public static List<string> EnvironDeviceSpkList()
+        {
+            var spkList = new List<string>();
+            spkList.Add(SensorTemperature);
+            spkList.Add(SensorPm25);
+            spkList.Add(SensorCO2);
+            spkList.Add(SensorTVOC);
+            spkList.Add(SensorHumidity);
+            spkList.Add(SensorEnvironment);
+            spkList.Add(SensorEnvironment2);
+            spkList.Add(SensorEnvironment3);
+            spkList.Add(SensorHcho);
+            return spkList;
+        }
         /// <summary>
         /// 鐜浼犳劅鍣╯pk鍒楄〃
         /// </summary>
@@ -1287,9 +1458,23 @@
             spkList.Add(SensorCO2);
             spkList.Add(SensorTVOC);
             spkList.Add(SensorHumidity);
-            spkList.Add(SensorEnvironment);
+            spkList.Add(SensorHcho);
             return spkList;
         }
+
+        /// <summary>
+        /// 鐜浼犳劅鍣ㄨ澶囧垪琛�
+        /// </summary>
+        /// <returns></returns>
+        public static List<string> EvironmentSensorList()
+        {
+            var spkList = new List<string>();
+            spkList.Add(SensorEnvironment);
+            spkList.Add(SensorEnvironment2);
+            spkList.Add(SensorEnvironment3);
+            return spkList;
+        }
+
         #endregion
         #endregion
 
@@ -1298,6 +1483,10 @@
         /// 瀹剁數銆佹彃搴�
         /// </summary>
         public const string ElectricSocket = "electrical.socket";
+        /// <summary>
+        /// 闈㈡澘銆佹彃搴с�侀潰鏉�
+        /// </summary>
+        public const string PanelSocket = "panel.socket";
         /// <summary>
         /// 瀹剁數銆佺數瑙�
         /// </summary>
@@ -1314,6 +1503,7 @@
         /// 瀹剁數銆侀鎵�
         /// </summary>
         public const string ElectricFan = "electrical.fan";
+        public const string HvacFan = "hvac.fan";
         /// <summary>
         /// 鍑夐湼
         /// </summary>
@@ -1346,24 +1536,32 @@
         /// 绾㈠椋庢墖
         /// </summary>
         public const string FanIr = "ir.fan";
+        /// <summary>
+        /// 鏅鸿兘绌哄紑
+        /// </summary>
+        public const string AirSwitch = "electrical.breaker";
 
         #region 娑傞甫
         /// <summary>
         /// 瀹剁數銆佹秱楦︾┖姘斿噣鍖栧櫒
         /// </summary>
         public const string ElectricTuyaAirCleaner = "electrical.Q1RsefNf91tIXyyQ";
+        public const string ElectricTuyaAirCleaner2 = "hvac.air.tuya_epi345";
         /// <summary>
         /// 瀹剁數銆佹秱楦︾數椋庢墖
         /// </summary>
         public const string ElectricTuyaFan = "electrical.tyqborgovyzytytz";
+        public const string ElectricTuyaFan2 = "hvac.fan.tuya_ef101";
         /// <summary>
         /// 瀹剁數銆佹秱楦︽壂鍦版満鍣ㄤ汉
         /// </summary>
         public const string ElectricTuyaWeepRobot = "electrical.ai6HtccKFIw3dxo3";
+        public const string ElectricTuyaWeepRobot2 = "electrical.sweep.tuya";
         /// <summary>
         /// 瀹剁數銆佹秱楦︽按闃�
         /// </summary>
         public const string ElectricTuyaWaterValve = "electrical.koiGhMKwLf2ZP81g";
+        public const string ElectricTuyaWaterValve2 = "electrical.watervalve.tuya_aw713";
         #endregion
 
 
@@ -1375,19 +1573,26 @@
         {
             var spkList = new List<string>();
             spkList.Add(ElectricSocket);
+            spkList.Add(PanelSocket);
             spkList.Add(ElectricTV);
             spkList.Add(TvIr);
             spkList.Add(TvXmIr);
             spkList.Add(ElectricFan);
+            spkList.Add(HvacFan);
             spkList.Add(FanIr);
             spkList.Add(ClothesHanger);
             spkList.Add(IrLearn);
             spkList.Add(PjtIr);
             spkList.Add(StbIr);
             spkList.Add(ElectricTuyaAirCleaner);
+            spkList.Add(ElectricTuyaAirCleaner2);
             spkList.Add(ElectricTuyaFan);
+            spkList.Add(ElectricTuyaFan2);
             spkList.Add(ElectricTuyaWeepRobot);
+            spkList.Add(ElectricTuyaWeepRobot2);
             spkList.Add(ElectricTuyaWaterValve);
+            spkList.Add(ElectricTuyaWaterValve2);
+            spkList.Add(AirSwitch);
             return spkList;
         }
 
@@ -1421,10 +1626,15 @@
         {
             var spkList = new List<string>();
             spkList.Add(ElectricTuyaAirCleaner);
+            spkList.Add(ElectricTuyaAirCleaner2);
             spkList.Add(ElectricTuyaFan);
+            spkList.Add(ElectricTuyaFan2);
             spkList.Add(ElectricTuyaWaterValve);
+            spkList.Add(ElectricTuyaWaterValve2);
             spkList.Add(ElectricTuyaWeepRobot);
+            spkList.Add(ElectricTuyaWeepRobot2);
             spkList.Add(SenesorMegahealth);
+            spkList.Add(SenesorMegahealth2);
             return spkList;
         }
         /// <summary>
@@ -1442,6 +1652,10 @@
                     list.Add(ElectricTuyaFan);
                     list.Add(ElectricTuyaWaterValve);
                     list.Add(ElectricTuyaWeepRobot);
+                    list.Add(ElectricTuyaAirCleaner2);
+                    list.Add(ElectricTuyaFan2);
+                    list.Add(ElectricTuyaWaterValve2);
+                    list.Add(ElectricTuyaWeepRobot2);
                     break;
                 case BrandType.All3tyBrand:
                     list.Add(SenesorMegahealth);//鍏嗚
@@ -1479,56 +1693,56 @@
     }
 
 
-    /// <summary>
-    /// 鍔熻兘绫诲埆
-    /// </summary>
-    public static class FunctionCategory
-    {
-        /// <summary>
-        ///锛堢伅锛�
-        /// </summary>
-        public const string Light = "light";
-        /// <summary>
-        /// 锛堢獥甯橈級
-        /// </summary>
-        public const string Curtain = "curtain";
-        /// <summary>
-        /// 锛堢┖璋冿級
-        /// </summary>
-        public const string AC = "ac";
-        /// <summary>
-        /// 锛堝湴鐑級
-        /// </summary>
-        public const string FloorHeat = "floorHeat";
-        /// <summary>
-        /// 锛堟柊椋庯級
-        /// </summary>
-        public const string AirFresh = "airFresh";
-        /// <summary>
-        /// 锛堥煶涔愶級
-        /// </summary>
-        public const string Music = "music";
-        /// <summary>
-        /// 锛堜紶鎰熷櫒锛�
-        /// </summary>
-        public const string Sensor = "sensor";
-        /// <summary>
-        /// 锛堝共鎺ョ偣锛�
-        /// </summary>
-        public const string DryContact = "dryContact";
-        /// <summary>
-        /// 瀹剁數
-        /// </summary>
-        public const string Electric = "electrical";
-        /// <summary>
-        /// 绾㈠璁惧
-        /// </summary>
-        public const string IR = "ir";
+    ///// <summary>
+    ///// 鍔熻兘绫诲埆
+    ///// </summary>
+    //public static class FunctionCategory
+    //{
+    //    /// <summary>
+    //    ///锛堢伅锛�
+    //    /// </summary>
+    //    public const string Light = "light";
+    //    /// <summary>
+    //    /// 锛堢獥甯橈級
+    //    /// </summary>
+    //    public const string Curtain = "curtain";
+    //    /// <summary>
+    //    /// 锛堢┖璋冿級
+    //    /// </summary>
+    //    public const string AC = "ac";
+    //    /// <summary>
+    //    /// 锛堝湴鐑級
+    //    /// </summary>
+    //    public const string FloorHeat = "floorHeat";
+    //    /// <summary>
+    //    /// 锛堟柊椋庯級
+    //    /// </summary>
+    //    public const string AirFresh = "airFresh";
+    //    /// <summary>
+    //    /// 锛堥煶涔愶級
+    //    /// </summary>
+    //    public const string Music = "music";
+    //    /// <summary>
+    //    /// 锛堜紶鎰熷櫒锛�
+    //    /// </summary>
+    //    public const string Sensor = "sensor";
+    //    /// <summary>
+    //    /// 锛堝共鎺ョ偣锛�
+    //    /// </summary>
+    //    public const string DryContact = "dryContact";
+    //    /// <summary>
+    //    /// 瀹剁數
+    //    /// </summary>
+    //    public const string Electric = "electrical";
+    //    /// <summary>
+    //    /// 绾㈠璁惧
+    //    /// </summary>
+    //    public const string IR = "ir";
 
 
 
 
-    }
+    //}
 
 
 public class VersionInfo

--
Gitblit v1.8.0