From a40848272e33822f72a7fe0310f079717bf73f23 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期五, 18 十月 2024 16:21:39 +0800
Subject: [PATCH] 修复金茂科技系统,金茂光伏问题

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

diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index e07df39..13b00c1 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -145,20 +145,34 @@
         /// <summary>
         /// 璁剧疆灞炴�х姸鎬�
         /// </summary>
-        /// <param name="key"></param>
-        /// <param name="value"></param>
+        /// <param name="setKey"></param>
+        /// <param name="setValues"></param>
         /// <returns>淇敼缁撴灉</returns>
-        public bool SetAttrState(string key, object value)
+        public bool SetAttrState(string setKey, object setValues)
         {
-            var attr = attributes.Find((s) => s.key == key);
+            var attr = attributes.Find((s) => s.key == setKey);
             if (attr == null)
             {
+                switch (setKey)
+                {
+                    case FunctionAttributeKey.CoolTemperatrue:
+                    case FunctionAttributeKey.HeatTemperatrue:
+                    case FunctionAttributeKey.AutoTemperatrue:
+                    case FunctionAttributeKey.DehumiTemperatrue:
+                        attributes.Add(new FunctionAttributes()
+                        {
+                            key = setKey,
+                            state = setValues.ToString(),
+                            curValue = setValues.ToString(),
+                        });
+                        return true;
+                }
                 return false;
             }
             else
             {
-                attr.state = value.ToString();
-                attr.curValue = value.ToString();
+                attr.state = setValues.ToString();
+                attr.curValue = setValues.ToString();
             }
             return true;
         }
@@ -173,6 +187,13 @@
                 string iconPath = spk.Replace(".", "");
                 switch (spk)
                 {
+                    case SPK.SensorDryContact2:
+                    case SPK.OtherCommon:
+                        iconPath = "sensordryContact";
+                        break;
+                    //case SPK.SensorLight:
+                    //    iconPath = "lightswitch";
+                    //    break;
                     case SPK.AirSwitchP3:
                         iconPath = "electricalbreaker";
                         break;
@@ -191,13 +212,13 @@
                     case SPK.HvacAirFreshJinmao:
                         iconPath = "airFreshjinmao";
                         break;
-                    case SPK.HvacAC:
+                    case SPK.HvacAC:case SPK.HvacAcPanel:
                         iconPath = "acstandard";
                         break;
                     case SPK.HvacFan:
                         iconPath = "electricalfan";
                         break;
-                    case SPK.HvacFloorHeat:
+                    case SPK.HvacFloorHeat:case SPK.HvacFloorHeatPanel:
                         iconPath = "floorHeatstandard";
                         break;
                     case SPK.ElectricTuyaFan2:
@@ -289,6 +310,11 @@
         /// 璁惧spk
         /// </summary>
         public string spk = "";
+        /// <summary>
+        /// 鎵╁睍淇℃伅
+        /// 瀛楃涓�
+        /// </summary>
+        public string extend = "";
 
         private string _SpkCategory = string.Empty;
         /// <summary>
@@ -657,21 +683,30 @@
                         result = ApiUtlis.Ins.HttpRequest.CancelCollectDevice(deviceId).Code;
                     }
                 }
-                //鎻愮ず閿欒
                 if (result != StateCode.SUCCESS)
                 {
-                    Application.RunOnMainThread(() =>
+                    if (!Common.ApiUtlis.Ins.hadInternet)
                     {
-                        collect = !collect;
-                        IMessageCommon.Current.ShowErrorInfoAlter(result);
-                    });
-                } else
+                        this.SaveFunctionFile();
+                    }
+                    else
+                    {
+                        Application.RunOnMainThread(() =>
+                        {
+                            collect = !collect;
+                            IMessageCommon.Current.ShowErrorInfoAlter(result);
+                        });
+                    }
+                }
+                else
                 {
                     Application.RunOnMainThread(() =>
                     {
+                        this.SaveFunctionFile();
                         UI.HomePage.RefreshFunctionView();
                     });
                 }
+                
             })
             { IsBackground = true }.Start();
         }
@@ -1273,7 +1308,45 @@
     /// </summary>
     public static class FunctionAttributeKey
     {
+        #region 绌鸿皟bus灞炴��
+        /// <summary>
+        /// 鍒跺喎妯″紡娓╁害
+        /// </summary>
+        public const string CoolTemperatrue = "CoolTemperatrue";
+        /// <summary>
+        /// 鍒剁儹妯″紡娓╁害
+        /// </summary>
+        public const string HeatTemperatrue = "HeatTemperatrue";
+        /// <summary>
+        /// 鑷姩妯″紡娓╁害
+        /// </summary>
+        public const string AutoTemperatrue = "AutoTemperatrue";
+        /// <summary>
+        /// 闄ゆ箍妯″紡娓╁害
+        /// </summary>
+        public const string DehumiTemperatrue = "DehumiTemperatrue";
+        #endregion
+
+        #region 绌鸿皟bus灞炴��
+        /// <summary>
+        /// [4]鏅�氾細璁剧疆娓╁害(鎽勬皬0-100锛屽崕姘�32-212)/鍔熺巼鍊�(0-10) (1byte)  
+        /// </summary>
+        public const string NormalTemperatrue = "NormalTemperatrue";
+        /// <summary>
+        /// [5]鐧藉ぉ锛氳缃俯搴�(鎽勬皬0-100锛屽崕姘�32-212)/鍔熺巼鍊�(0-10) (1byte) 
+        /// </summary>
+        public const string DayTemperatrue = "DayTemperatrue";
+        /// <summary>
+        /// [6]澶滄櫄锛氳缃俯搴�(鎽勬皬0-100锛屽崕姘�32-212)/鍔熺巼鍊�(0-10) (1byte)
+        /// </summary>
+        public const string NightTemperatrue = "NightTemperatrue";
+        /// <summary>
+        /// [7]绂诲紑锛氳缃俯搴�(鎽勬皬0-100锛屽崕姘�32-212)/鍔熺巼鍊�(0-10) (1byte)
+        /// </summary>
+        public const string AwayTemperatrue = "AwayTemperatrue";
         #region 涓夌浉绌哄紑灞炴��
+
+
         /// <summary>
         /// A鐩稿姛鐜�
         /// </summary>
@@ -1343,6 +1416,7 @@
         /// </summary>
         public const string ElectricityC = "electricity_c";
 
+        #endregion
         #endregion
 
 
@@ -1487,7 +1561,12 @@
         public const string Temperature = "temperature";
         public const string Hcho = "hcho";
         public const string Humidity = "humidity";
+        /// <summary>
+        /// 鐓у害
+        /// </summary>
+        public const string Illuminance = "illuminance";
         public const string Pm25 = "pm25";
+        public const string Pm10 = "pm10";
         public const string Tvoc = "tvoc";
         /// <summary>
         /// 鐘舵��,浼犳劅鍣�
@@ -1710,6 +1789,16 @@
     public static class SPK
     {
         /// <summary>
+        /// 鏈煡SPK
+        /// (鑷畾涔�)
+        /// </summary>
+        public const string NULL = "NULL";
+        /// <summary>
+        /// 瑗垮ⅷ鍙瀵硅闂ㄥ彛鏈�
+        /// (鑷畾涔�)
+        /// </summary>
+        public const string LinphoneXiMo = "door.gate";
+        /// <summary>
         /// 缇ゆ帶锛堣嚜瀹氫箟锛�
         /// </summary>
         public const string GroupControl = "groupControl";
@@ -1739,6 +1828,16 @@
         /// 瀛愭帶
         /// </summary>
         public const string AcstSub = "acst.sub";
+        /// <summary>
+        /// 鐑按鍣�
+        /// 閲戣寕
+        /// </summary>
+        public const string WaterHeaterJinmao = "electrical.water_heater.jinmao";
+        /// <summary>
+        /// 閫嗗彉鍣�/鏂拌兘婧�
+        /// 閲戣寕
+        /// </summary>
+        public const string InverterJinmao = "energy.inverter.jinmao";
 
         /// <summary>
         /// 闂ㄩ攣
@@ -1905,6 +2004,10 @@
         /// </summary>
         public const string HvacAC = "hvac.ac";
         /// <summary>
+        /// 闈㈡澘绌鸿皟
+        /// </summary>
+        public const string HvacAcPanel = "hvac.ac_panel";
+        /// <summary>
         /// 姣涚粏绠$┖璋�
         /// </summaryc
         public const string HvacCac = "hvac.cac";
@@ -1918,6 +2021,7 @@
             var spkList = new List<string>();
             spkList.Add(AcStandard);
             spkList.Add(HvacAC);
+            spkList.Add(HvacAcPanel);
             spkList.Add(AcIr);
             spkList.Add(HvacCac);
             return spkList;
@@ -1933,6 +2037,10 @@
         /// 鍦版殩
         /// </summary>
         public const string HvacFloorHeat = "hvac.floorHeat";
+        /// <summary>
+        /// 闈㈡澘鍦版殩
+        /// </summary>
+        public const string HvacFloorHeatPanel = "hvac.floorHeat_panel";
 
         /// <summary>
         /// 鍦扮儹spk鍒楄〃
@@ -1942,7 +2050,7 @@
         {
             var spkList = new List<string>();
             spkList.Add(FloorHeatStandard);
-            spkList.Add(HvacFloorHeat);
+            spkList.Add(HvacFloorHeat); spkList.Add(HvacFloorHeatPanel);
             return spkList;
         }
         #endregion
@@ -2294,7 +2402,7 @@
         /// <summary>
         /// 绾㈠鐑按鍣�
         /// </summary>
-        public const string HeaterIr = " ir.water_heater";
+        public const string HeaterIr = "ir.water_heater";
         /// <summary>
         /// 绾㈠椋庢墖
         /// </summary>

--
Gitblit v1.8.0