From 79133766997cb86b2e463671b50137588ded6588 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 08 三月 2021 10:07:55 +0800
Subject: [PATCH] Merge branch 'temp-wxr' into WJC

---
 HDL_ON/Entity/Function/Function.cs |  148 +++++++++++++++++++++++++++++++------------------
 1 files changed, 93 insertions(+), 55 deletions(-)

diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index 848dc4a..3567c12 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -79,7 +79,7 @@
             return attrs;
         }
         /// <summary>
-        /// 鑾峰彇鍒跺畾灞炴��
+        /// 鑾峰彇鎸囧畾灞炴��
         /// </summary>
         /// <returns></returns>
         public FunctionAttributes GetAttribute(string key)
@@ -89,18 +89,18 @@
         }
 
         /// <summary>
-        /// 鑾峰彇灞炴�х姸鎬�
+        /// 鑾峰彇灞炴�у綋鍓嶇姸鎬�
         /// </summary>
         /// <param name="key"></param>
         /// <returns></returns>
         public string GetAttrState(string key)
         {
-            var attrState = status.Find((s) => s.key == key.ToString());
-            if(attrState == null)
+            var attrState = attributes.Find((s) => s.key == key.ToString());
+            if (attrState == null || string.IsNullOrEmpty(attrState.state))
             {
-                return "";
+                return "0";
             }
-            return attrState.value;
+            return attrState.state;
         }
         /// <summary>
         /// 璁剧疆灞炴�х姸鎬�
@@ -108,46 +108,42 @@
         /// <param name="key"></param>
         /// <param name="value"></param>
         /// <returns>淇敼缁撴灉</returns>
-        public bool SetAttrState(string key, string value)
+        public bool SetAttrState(string key, object value)
         {
-            var attrState = status.Find((s) => s.key == key.ToString());
-            if (attrState == null)
+            //var attrState = status.Find((s) => s.key == key.ToString());
+            var attr = attributes.Find((s) => s.key == key);
+            if (attr == null)
             {
                 return false;
             }
             else
             {
-                attrState.value = value;
+                attr.state = value.ToString();
+                attr.curValue = value.ToString();
             }
             return true;
         }
 
+
+
+
+        /// <summary>
+        /// 涓婁竴娆℃墦寮�鐨勪寒搴�
+        /// 鐏厜绉佹湁灞炴��
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public int lastBrightness = 100;
+
+        /// <summary>
+        /// 宸ヤ綔妯″紡瀵瑰簲鐨勫伐浣滄俯搴�
+        /// 鍦扮儹绉佹湁灞炴��
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public Dictionary<string, byte> Fh_Mode_Temp = new Dictionary<string, byte>();
         #endregion
 
 
         #region base info
-        /// <summary>
-        /// HDL缁熶竴鍗忚鏍煎紡锛�14bytes
-        /// 涓句緥锛� 鏉ユ簮   鍘傚晢浠g爜 閫氳鏂瑰紡  浜у搧鏃堕棿鎴�   浜у搧绫诲埆 鐗╂ā鍨嬬被  閫氶亾鍙�   澶у皬绫诲埆
-        ///       1byte	1byte	1byte	  4byte	    1byte	2byte   2byte   2byte
-        /// 鏉ユ簮锛�00	榛樿鍘熺敓鎬佺郴缁熸暟鎹� 銆�01	缃戝叧鎴栬�呭叾浠朅璁惧銆�02	璋冭瘯杞欢銆�03	APP搴旂敤绋嬪簭銆�04	绗笁鏂圭綉鍏虫垨鑰呭钩鍙�
-        /// 鍘傚晢浠g爜锛�01	HDL
-        /// 閫氳鏂瑰紡锛�01	HDL Bus銆�02	Zigbee銆�03 KNX銆�04 Z-Wave
-        /// 浜у搧鏃堕棿鎴筹細4bytes	浠�2020骞�1鏈�1鏃ョ畻鍑虹殑鏃堕棿鎴�0.1s涓哄崟浣� 
-        /// 浜у搧绫诲埆锛�01	璋冨厜鍣ㄣ��02 缁х數鍣ㄣ��03	骞叉帴鐐规ā鍧椼��04	浼犳劅鍣ㄣ��05 闈㈡澘
-        /// 鐗╂ā鍨嬬被鍨嬶細
-        ///     01	寮�鍏崇被锛�01 寮�鍏炽��02 鎻掑骇銆�03	
-        ///     02	鐓ф槑锛� 01 寮�鍏炽��02	璋冨厜銆�03	鑹叉俯銆�04	LED
-        ///     03	閬槼锛� 01	绐楀笜鐢垫満銆�02 鐧惧彾绐椼��03 寮�鍚堝笜銆�04 鍗峰笜
-        ///     04	鎭掓俯鍣細01 绌鸿皟銆�02 鍦版殩銆�03 姣涚粏绌鸿皟
-        ///     05	鏂伴		
-        ///     06	褰遍煶		
-        ///     07	闊充箰		
-        ///     08	鑳芥簮		
-        ///     09	瀹夐槻
-        /// 澶х被鍒�	1bytes	锛堥鐣欙級
-        /// 灏忕被鍒�	1byte	锛堥鐣欙級
-        /// </summary>      鈥�0001021599F98A04050300010000鈥�
         public string sid = "0301011234567801012301230123";
         /// <summary>
         /// 澶囨敞
@@ -187,23 +183,6 @@
         /// attri
         /// </summary>
         public List<FunctionAttributes> attributes = new List<FunctionAttributes>();
-        /// <summary>
-        /// 鍔熻兘鐘舵�佸垪琛�
-        /// </summary>
-        public List<AttributesStatus> status = new List<AttributesStatus>();
-        /// <summary>
-        /// 鑾峰彇鐘舵�佸��
-        /// </summary>
-        /// <returns></returns>
-        public string GetStatusValus(string key)
-        {
-            var d = status.Find((obj) => obj.key == key);
-            if(d==null)
-            {
-                return null;
-            }
-            return d.value;
-        }
 
         /// <summary>
         /// 鎴块棿ID鍒楄〃
@@ -299,7 +278,6 @@
         public void CollectFunction()
         {
             var result = "";
-            //var waitPage = new Loading();
 
             new System.Threading.Thread(() =>
             {
@@ -318,6 +296,12 @@
                     {
                         collect = !collect;
                         IMessageCommon.Current.ShowErrorInfoAlter(result);
+                    });
+                }else
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        UI.HomePage.RefreshFunctionView();
                     });
                 }
             })
@@ -531,7 +515,7 @@
             sendDataObj.time_stamp = Control.Ins.Get_TimeStamp();
 
 
-            var acd = new AlinkControlData();
+            var acd = new AlinkStatusData();
             acd.sid = sid;
             foreach (var dic in commandDictionary)
             {
@@ -593,7 +577,7 @@
     /// </summary>
     public class AlinkFunctionStatusObj
     {
-        public List<AlinkControlData> objects = new List<AlinkControlData>();
+        public List<AlinkStatusData> objects = new List<AlinkStatusData>();
 
         public string time_stamp = "";
         public string id = "";
@@ -609,11 +593,23 @@
         public string time_stamp = "";
     }
     /// <summary>
-    /// A鍗忚鎺у埗鏁版嵁
+    /// A鍗忚鐘舵�佹暟鎹�
     /// </summary>
-    public class AlinkControlData
+    public class AlinkStatusData
     {
+        /*
+         mqtt鎺ユ敹鐨勭姸鎬佹暟鎹病鏈塪eviceId
+        鎺ュ彛鍙嶉鐨勬暟鎹湁
+         */
+        /// <summary>
+        /// 
+        /// </summary>
         public string sid = "";
+        /// <summary>
+        /// 璁惧ID
+        /// 浜戠璐熻矗鐢熸垚
+        /// </summary>
+        public string deviceId = "0";
         public List<AttributesStatus> status = new List<AttributesStatus>();
     }
     /// <summary>
@@ -661,6 +657,10 @@
         /// </summary>
         public string data_type = "";
         /// <summary>
+        /// 褰撳墠鐘舵��
+        /// </summary>
+        public string state = "";
+        /// <summary>
         /// 褰撳墠鍊�
         /// </summary>
         public object curValue = new object();
@@ -692,6 +692,11 @@
         /// </summary>
         public const string Mode = "mode";
         /// <summary>
+        /// 宸ヤ綔妯″紡
+        /// 鍦扮儹/鍦板喎/鍔熺巼鍦扮儹/鍔熺巼鍦板喎
+        /// </summary>
+        public const string WorkMode = "mode_work";
+        /// <summary>
         /// 椋庨��
         /// </summary>
         public const string FanSpeed = "fan";
@@ -699,6 +704,16 @@
         /// 璁剧疆娓╁害
         /// </summary>
         public const string SetTemp = "set_temp";
+        /// <summary>
+        /// 娓╁害妯″紡
+        /// 绌鸿皟銆佸湴鐑�//app鑷姞
+        /// </summary>
+        public const string TempType = "temperature_type";
+        /// <summary>
+        /// 鏃堕棿鏍囪
+        /// 鍦扮儹//app鑷姞
+        /// </summary>
+        public const string TimeFlag = "time_flag";
         /// <summary>
         /// 寤舵椂
         /// </summary>
@@ -771,7 +786,22 @@
         /// 娑堟瘨鍓╀綑鏃堕棿
         /// </summary>
         public const string DisinfectTimeLeft = "disinfect_time_surplus";
-
+        /// <summary>
+        /// 璐熺瀛�
+        /// </summary>
+        public const string Anion = "anion";
+        /// <summary>
+        /// 璐熺瀛愭椂闂�
+        /// </summary>
+        public const string AnionTime = "anion_time";
+        /// <summary>
+        /// 璐熺瀛愬墿浣欐椂闂�
+        /// </summary>
+        public const string AnionTimeLeft = "anion_time_surplus";
+        /// <summary>
+        /// 鎵撳紑鐧昏(椋庢墖)
+        /// </summary>
+        public const string OpenLevel = "openLevel";
 
 
         #region tuya
@@ -981,6 +1011,14 @@
         /// 鍑夐湼
         /// </summary>
         public const string ClothesHanger = "electrical.racks";
+        /// <summary>
+        /// 绾㈠瀹�
+        /// </summary>
+        public const string IrModule = "ir.module";
+        /// <summary>
+        /// 绾㈠绌鸿皟
+        /// </summary>
+        public const string IrAC = "ir.ac";
 
 
         /// <summary>

--
Gitblit v1.8.0