From 02498f7744e6fdc413e518f96b25f3635540dc6b Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 15 十一月 2022 11:27:38 +0800
Subject: [PATCH] 金茂科技系统更新

---
 HDL_ON/Entity/Function/Function.cs |  175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 170 insertions(+), 5 deletions(-)

diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index 747df45..8737837 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -109,13 +109,13 @@
         /// </summary>
         /// <param name="key"></param>
         /// <returns></returns>
-        public string GetAttrState(string key)
+        public string GetAttrState(string key , string defaultValue = "0")
         {
             //涓�绾ф煡璇eyValue鍊�
             var attrState = attributes.Find((s) => s.key == key.ToString());
             if (attrState == null)
             {
-                return "0";
+                return defaultValue;
             }
             if (string.IsNullOrEmpty(attrState.state))
             {
@@ -243,7 +243,30 @@
         /// <summary>
         /// 澶囨敞
         /// </summary>
-        public string name;
+        public string name = "";
+        /// <summary>
+        /// 璁惧缁戝畾鐨刪omeId
+        /// </summary>
+        private string _homeId = "";
+        public string homeId
+        {
+            get
+            {
+                if (string.IsNullOrEmpty(_homeId))
+                {
+                    return DB_ResidenceData.Instance.CurrentRegion.id;
+                }
+                else
+                {
+                    return _homeId;
+                }
+            }
+            set
+            {
+                _homeId = value;
+            }
+        }
+
         /// <summary>
         /// 璁惧ID
         /// 浜戠璐熻矗鐢熸垚
@@ -377,10 +400,22 @@
         /// 鏄惁鏀惰棌
         /// </summary>
         public bool collect = false;
+
+        private bool _online = false;
         /// <summary>
         /// 鏄惁鍦ㄧ嚎
         /// </summary>
-        public bool online = true;
+        public bool online
+        {
+            get
+            {
+                return true;
+            }
+            set
+            {
+                _online = value;
+            }
+        }
 
         /// <summary>
         /// 鐜闈㈡澘 缁戝畾鐨� 璁惧鐩爣sid鍒楄〃
@@ -395,7 +430,17 @@
         /// </summary>
         public string modifyTime = "";
 
+        /// <summary>
+        /// 鎵╁睍淇℃伅
+        /// </summary>
+        public ExtSet extSet = new ExtSet();
+
         #endregion
+
+
+        //public void 
+
+
         /// <summary>
         /// 寤舵椂
         /// </summary>
@@ -405,6 +450,31 @@
         /// </summary>
         [Newtonsoft.Json.JsonIgnore]
         public string lastState = "";
+        /// <summary>
+        /// 鑾峰彇鐘舵�佹樉绀烘枃鏈�
+        /// </summary>
+        /// <returns></returns>
+        public string GetLastStateText()
+        {
+            var text = "";
+            switch (spk)
+            {
+                case SPK.HvacCac:
+                    switch (GetAttrState(FunctionAttributeKey.Mode))
+                    {
+                        case "cool":
+                            text = Language.StringByID(StringId.Cool);
+                            break;
+                        case "heat":
+                            text = Language.StringByID(StringId.Heat);
+                            break;
+                    }
+
+                    break;
+                    
+            }
+            return text;
+        }
 
         FunctionAttributes _trait_on_off;
         [Newtonsoft.Json.JsonIgnore]
@@ -678,6 +748,7 @@
                     case FunctionAttributeKey.Percent:
                     case FunctionAttributeKey.CCT:
                     case FunctionAttributeKey.RGB:
+                    case FunctionAttributeKey.Angle:
                         //case FunctionAttributeKey.FadeTime:
                         if (attr.curValue.ToString() == "{}")
                         {
@@ -942,6 +1013,7 @@
         /// 棰滆壊
         /// </summary>
         public const string RGB = "rgb";
+        public const string RGBW = "rgbw";
         /// <summary>
         /// 娓愬彉鏃堕棿
         /// </summary>
@@ -1004,9 +1076,42 @@
         /// </summary>
         public const string Percent = "percent";
         /// <summary>
+        /// 瑙掑害
+        /// </summary>
+        public const string Angle = "angle";
+        /// <summary>
         /// 瀹ゅ唴娓╁害
         /// </summary>
         public const string RoomTemp = "room_temp";
+        /// <summary>
+        /// 瀹ゅ唴婀垮害
+        /// </summary>
+        public const string RoomHumidity = "room_humidity";
+        /// <summary>
+        /// 闇茬偣娓╁害
+        /// </summary>
+        public const string dew_point_temp = "dew_point_temp";
+        /// <summary>
+        /// 琛ㄩ潰娓╁害
+        /// </summary>
+        public const string surface_temp = "surface_temp";
+        /// <summary>
+        /// 瀹ゅ唴婀垮害琛ュ伩鍊�
+        /// </summary>
+        public const string room_humidity_cc = "room_humidity_cc";
+        /// <summary>
+        /// 瀹ゅ唴娓╁害琛ュ伩鍊�
+        /// </summary>
+        public const string room_temp_cc = "room_temp_cc";
+        /// <summary>
+        /// 姣涚粏闃�闂�
+        /// </summary>
+        public const string cac_valve = "cac_valve";
+        /// <summary>
+        /// 鍦版殩闃�闂�
+        /// </summary>
+        public const string fh_valve = "fh_valve";
+
         /// <summary>
         /// value
         /// </summary>
@@ -1038,6 +1143,16 @@
         /// 姣背娉紶鎰熷櫒锛屽姩浣滅姸鎬�
         /// </summary>
         public const string ActionStatus = "action_state";
+        /// <summary>
+        /// 
+        /// </summary>
+        public const string PeopleNum = "people_num";
+        public const string PeopleId = "people_id";
+        /// <summary>
+        /// 姣背娉紶鎰熷櫒 浜虹墿鍔ㄤ綔
+        /// </summary>
+        public const string TargetStatus = "target_status";//0绌猴紝1璧帮紝2璺戯紝3鍧愶紝4璺屽�掞紝5绔�
+
         /// <summary>
         /// 鐢甸噺鐘舵��
         /// </summary>
@@ -1102,6 +1217,7 @@
         /// 鎵撳紑绛夌骇(椋庢墖)
         /// </summary>
         public const string OpenLevel = "openLevel";
+        public const string fan_speed_percent = "fan_speed_percent";
         /// <summary>
         /// 绾㈠鎸夐敭
         /// </summary>
@@ -1202,6 +1318,25 @@
     public static class SPK
     {
         /// <summary>
+        /// 閫氱敤寮�鍏�
+        /// </summary>
+        public const string OtherCommon = "other.common";
+        /// <summary>
+        /// 鏈烘鎵�
+        /// </summary>
+        public const string MechanicalArm = "electrical.mechanical_arm";
+        /// <summary>
+        /// 绌鸿皟绉戞妧绯荤粺锛堢豢寤猴級
+        /// 鎬绘帶
+        /// </summary>
+        public const string AcstParent = "acst.parent";
+        /// <summary>
+        /// 绌鸿皟绉戞妧绯荤粺锛堢豢寤猴級
+        /// 瀛愭帶
+        /// </summary>
+        public const string AcstSub = "acst.sub";
+
+        /// <summary>
         /// 闂ㄩ攣
         /// </summary>
         public const string DoorLock = "security.door";
@@ -1215,6 +1350,7 @@
             list.Add(DoorLock);
             return list;
         }
+
 
 
         #region 鐏厜
@@ -1384,6 +1520,10 @@
 
         #region 鑳芥簮
         /// <summary>
+        /// 閫嗗彉鍣�
+        /// </summary>
+        public const string Inverter = "energy.inverter";
+        /// <summary>
         /// 鑳芥簮妯″潡
         /// </summary>
         public const string EnergyStandard = "energy.standard";
@@ -1477,6 +1617,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";
@@ -1489,6 +1633,7 @@
             var spkList = new List<string>();
             //spkList.Add(SensorLight);
             spkList.Add(SensorPir);
+            spkList.Add(SensorHelp);
             spkList.Add(SensorDoorWindow);
             spkList.Add(SensorSmoke);
             spkList.Add(SensorWater);
@@ -1500,6 +1645,7 @@
             spkList.Add(SensorDryContact2);
             spkList.Add(SenesorMegahealth);
             spkList.Add(SenesorMegahealth2);
+            spkList.Add(SensorMmvPose);
             return spkList;
         }
         #endregion
@@ -1748,6 +1894,13 @@
         }
         #endregion
 
+        #region 鍙瀵硅
+        /// <summary>
+        /// HDL鍙瀵硅
+        /// </summary>
+        public const string doorgate="door.gate";
+        #endregion
+
         #region 绗笁鏂箂pk鍒楄〃
         /// <summary>
         /// 鑾峰彇鎵�鏈夌涓夋柟鍝佺墝鍔熻兘鐨剆pk
@@ -1764,6 +1917,7 @@
             spkList.Add(ElectricTuyaWaterValve2);
             spkList.Add(ElectricTuyaWeepRobot);
             spkList.Add(ElectricTuyaWeepRobot2);
+            spkList.Add(SensorMmvPose);
             spkList.Add(SenesorMegahealth);
             spkList.Add(SenesorMegahealth2);
             return spkList;
@@ -1789,7 +1943,7 @@
                     list.Add(ElectricTuyaWeepRobot2);
                     break;
                 case BrandType.All3tyBrand:
-                    list.Add(SenesorMegahealth);//鍏嗚
+                    list.Add(SenesorMegahealth2);//鍏嗚
                     break;
             }
             return list;
@@ -1921,4 +2075,15 @@
         /// </summary>
         public string desc = string.Empty;
     }
+
+    /// <summary>
+    /// 鎵╁睍淇℃伅璁剧疆
+    /// </summary>
+    public class ExtSet
+    {
+        /// <summary>
+        /// 鏄惁寮�鍚疄楠屽妯″紡
+        /// </summary>
+        public bool labModel = false;
+    }
 }

--
Gitblit v1.8.0