From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 七月 2020 10:52:13 +0800
Subject: [PATCH] 2020-07-10-01

---
 ZigbeeApp/Shared/Phone/ZigBee/Device/Scene.cs |  575 ++++++---------------------------------------------------
 1 files changed, 61 insertions(+), 514 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/Scene.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/Scene.cs
index 267baa4..2e985f5 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/Scene.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/Scene.cs
@@ -36,35 +36,6 @@
         }
 
         /// <summary>
-        /// 缃戝叧涓満鏅澶囧垪琛�
-        /// </summary>
-        //[Newtonsoft.Json.JsonIgnore]
-        //public List<GetSceneDeviceListInfo> SceneDeviceList = new List<GetSceneDeviceListInfo>();
-
-        /// <summary>
-        /// 缃戝叧淇℃伅閿欒鍙嶉
-        /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-        /// </summary>
-        ErrorResponData errResponData;
-        /// <summary>
-        /// 缃戝叧淇℃伅閿欒鍙嶉
-        /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-        /// </summary>
-        [System.Serializable]
-        public class ErrorResponData
-        {
-            /// <summary>
-            /// Error鍙傛暟鍚箟
-            ///<para>1锛氱綉鍏虫棤娉曡В鏋愬懡浠ゆ暟鎹��</para>
-            ///<para>2锛氬崗璋冨櫒姝e湪鍗囩骇鎴栧浠�/鎭㈠鏁版嵁
-            ///<para>3锛氭搷浣滆澶�/缁�/鍦烘櫙涓嶅瓨鍦�</para>
-            ///<para>4锛氬叾浠栭敊璇�</para>
-            ///<para>5锛氭暟鎹紶杈撻敊璇紙鍦ㄦ煇娆″鎴风鍚戠綉鍏冲彂閫佹暟鎹殑杩囩▼涓紝缃戝叧鍦ㄥ悎鐞嗘椂闂磋寖鍥村唴鎺ユ敹瀹㈡埛绔暟鎹笉瀹屾暣瀵艰嚧璇ラ敊璇彂鐢熴�傚瀹㈡埛绔悜缃戝叧涓�娆″彂閫�100涓瓧鑺傜殑鏁版嵁锛屼絾缃戝叧绛夊緟鎺ユ敹浜嗕竴绉掑彧鎺ユ敹浜�80涓瓧鑺傘�傚彂鐢熻閿欒锛岀綉鍏冲皢涓诲姩鍏抽棴瀹㈡埛绔繛鎺ワ級</para>
-            /// </summary>
-            public int Error;
-        }
-
-        /// <summary>
         /// 绛夊緟浠庣綉鍏虫帴鏀舵暟鎹殑鏃堕棿
         /// </summary>
         /// <value>The wait receive data time.</value>
@@ -160,8 +131,7 @@
 
                     if (topic == gatewayID + "/" + "Error_Respon")
                     {
-                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
-                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
+                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
 
                         if (temp == null)
                         {
@@ -175,16 +145,15 @@
 
                     if (topic == gatewayID + "/" + "Scene/GetNewId_Respon")
                     {
-                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
-                        scene.getSceneIdData = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene.GetSceneIdData>(jobject["Data"].ToString());
-                        if (scene.getSceneIdData == null)
+                        var getSceneIdData = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene.GetSceneIdData>(jobject["Data"].ToString());
+                        if (getSceneIdData == null)
                         {
                             d = new GetSceneIdAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
                         }
                         else
                         {
                             GetSceneAllInfoAsync();
-                            d = new GetSceneIdAllData { getSceneIdData = scene.getSceneIdData };
+                            d = new GetSceneIdAllData { getSceneIdData = getSceneIdData };
                             System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
 
                         }
@@ -239,17 +208,8 @@
         /// 鍒涘缓涓�涓┖鍦烘櫙杩斿洖鐨勬暟鎹�,缃戝叧鍙嶉淇℃伅
         /// </summary>
         [System.Serializable]
-        public class GetSceneIdAllData
+        public class GetSceneIdAllData:CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鍒涘缓涓�涓┖鍦烘櫙杩斿洖鐨勬暟鎹�
             /// </summary>
@@ -291,7 +251,7 @@
                     d = new GetSceneAllData { errorMessageBase = "褰撳墠娌℃湁涓荤綉鍏�" };
                     return d;
                 }
-                ZbGateway.AllSceneList.Clear();
+
                 var dateTime = DateTime.Now;
                 Action<string, string> action = (topic, message) => {
                      var gatewayID = topic.Split('/')[0];
@@ -299,8 +259,7 @@
 
                     if (topic == gatewayID + "/" + "Error_Respon")
                     {
-                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
-                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
+                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
 
                         if (temp == null)
                         {
@@ -315,31 +274,15 @@
                     if (topic == gatewayID + "/" + "Scene/GetAllInfo_Respon")
                     {
                         dateTime = DateTime.Now;
-                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
-                        scene.sceneGetAllInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<GetSceneAllInfo>(jobject["Data"].ToString());
+                        var sceneGetAllInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<GetSceneAllInfo>(jobject["Data"].ToString());
 
-                        if (scene.sceneGetAllInfo == null)
+                        if (sceneGetAllInfo == null)
                         {
                             d = new GetSceneAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
                         }
                         else
                         {
-                            var info = ZbGateway.AllSceneList.Find(obj => obj.ScenesId == scene.sceneGetAllInfo.ScenesId);
-                            if (info == null)
-                            {
-                                ZbGateway.AllSceneList.Add(scene.sceneGetAllInfo);
-                            }
-                            else
-                            {
-                                info.DeviceList = scene.sceneGetAllInfo.DeviceList;
-                                info.DeviceSum = scene.sceneGetAllInfo.DeviceSum;
-                                info.IsOpen = scene.sceneGetAllInfo.IsOpen;
-                                info.ScenesId = scene.sceneGetAllInfo.ScenesId;
-                                info.ScenesName = scene.sceneGetAllInfo.ScenesName;
-                                info.ScenesNum = scene.sceneGetAllInfo.ScenesNum;
-                                info.ScenesSum = scene.sceneGetAllInfo.ScenesSum;
-                            }
-                            d = new GetSceneAllData { getSceneAllInfo = scene.sceneGetAllInfo };
+                            d = new GetSceneAllData { getSceneAllInfo = sceneGetAllInfo };
                             System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
 
                         }
@@ -372,17 +315,8 @@
         /// 鑾峰彇鎵�鏈夊満鏅殑鎵�鏈変俊鎭�,缃戝叧鍙嶉淇℃伅
         /// </summary>
         [System.Serializable]
-        public class GetSceneAllData
+        public class GetSceneAllData:CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鑾峰彇鎵�鏈夊満鏅殑鎵�鏈変俊鎭�
             /// </summary>
@@ -396,7 +330,7 @@
         /// 鑾峰彇鎵�鏈夊満鏅殑鎵�鏈変俊鎭�
         /// </summary>
         [System.Serializable]
-        public class GetSceneAllInfo:CommonDevice
+        public class GetSceneAllInfo
         {
             /// <summary>
             ///鍦烘櫙鎬绘暟
@@ -448,7 +382,6 @@
             ///<para>2锛氬欢鏃舵垚鍛�</para>
             /// </summary>
             public int Type;
-
             /// <summary>
             /// 璁惧mac鍦板潃 锛�
             ///<para>褰揟ype=0鏃跺瓨鍦ㄣ��</para>
@@ -460,21 +393,15 @@
             /// </summary>
             public int Epoint;
             /// <summary>
-            /// 璁惧鍚嶇О
-            /// </summary>
-            public string DeviceName;
-            /// <summary>
             /// 璁惧鍒楄〃
             /// 褰揟ype=0鏃跺瓨鍦�
             /// </summary>
-            public List<TaskListInfo> TaskList = new List<TaskListInfo>();
-
+            public List<Safeguard.TaskListInfo> TaskList = new List<Safeguard.TaskListInfo>();
             /// <summary>
             /// 鍦烘櫙鎴愬憳鐨勫満鏅痠d
             /// <para>褰揟ype=1鏃跺瓨鍦�</para>
             /// </summary>
             public int ElseScenesId;
-
             /// <summary>
             ///寤舵椂鎵ц鏃堕棿锛屽崟浣嶇銆�
             /// </summary>
@@ -483,130 +410,8 @@
             /// 鍦烘櫙鍔ㄤ綔搴忓彿锛岃〃绀虹鍑犱釜鍔ㄤ綔
             /// </summary>
             public int MemberNumber;
-
-
-
-
-
         }
-        /// <summary>
-        /// 浠诲姟鍒楄〃涓殑鏁版嵁
-        /// </summary>
-        [System.Serializable]
-        public class TaskListInfo
-        {
-            /// <summary>
-            /// 浠诲姟绫诲瀷銆�
-            ///<para>1锛氬紑鍏� 锛堣澶囧叿鏈夊紑鍏冲姛鑳芥椂鍙敤锛�</para>
-            ///<para>3锛氫寒搴﹁皟鏁达紙璁惧鍏锋湁浜害璋冭妭鍔熻兘鏃跺彲鐢級</para>
-            ///<para>4锛氶鑹茶皟鏁� 锛堣澶囧叿鏈夐鑹茶皟鑺傚姛鑳芥椂鍙敤锛�</para>
-            ///<para>5锛氭亽娓╁櫒锛堣澶囧叿鏈夋亽娓╁櫒鍔熻兘鏃跺彲鐢級</para>
-            ///<para>6: 绐楀笜璁惧锛堣澶囧叿鏈夌獥甯樺姛鑳芥椂鍙敤锛�</para>
-            ///<para>7锛氳澶噄dentify璇嗗埆銆�</para>
-            ///<para>8锛氬紑鍏虫姤璀︽ā寮�  </para>
-            ///<para>9锛歴quawk command</para>
-            ///</summary>
-            public int TaskType;
-            /// <summary>
-            /// Data1鍙栧��
-            /// <para>寮�鍏� :Data1锛堟暟鍊硷級: 0鍏�/1寮�</para>
-            ///<para>浜害璋冩暣 Data1锛堟暟鍊硷級锛氫寒搴﹀��</para>
-            ///<para>棰滆壊璋冩暣 Data1锛堟暟鍊硷級:鑹茶皟</para>
-            /// <para>鎭掓俯鍣� Data1锛堟暟鍊硷級: 0鍔犵儹/1鍒跺喎/2鑷姩璋冭妭/3 璁剧疆宸ヤ綔妯″紡/4 璁剧疆鍔犵儹搴︽暟 5/璁剧疆鍒跺喎搴︽暟 6/璁剧疆椋庢墖妯″紡</para>
-            /// <para>绐楀笜璁惧 Data1锛堟暟鍊硷級: 0 鎵撳紑/ 1鍏抽棴/ 2 鍋滄杞姩/ 4 璋冩暣鍒版寚瀹氶珮搴�/ 5 璋冩暣鍒版寚瀹氱殑鐧惧垎姣斿浣嶇疆 / 7 璋冩暣鍒版寚瀹氬�炬枩瑙�/ 8 璋冩暣鍒版寚瀹氱殑鐧惧垎姣斿�炬枩搴�</para>
-            /// <para>璁惧identify璇嗗埆銆侱ata1涓篿dentify闂儊闂儊鏃堕棿锛�0-65535绉掞級銆�</para>
-            /// <para>寮�鍏虫姤璀︽ā寮� Data1锛堟暟鍊硷紝4瀛楄妭鏁村瀷锛夌1瀛楄妭锛坆it0-bit7锛夎〃绀烘姤璀︽ā寮忥紝瀛楄妭鍊�0锛氬仠姝㈣渹楦e櫒1锛氱洍绐冩姤璀� 2锛氱伀鐏炬姤璀� 3锛氱揣鎬ユ儏鍐垫姤璀� 4锛氳杞﹀彂鍑虹殑鎶ヨ 5锛氭秷闃茶溅鍙戝嚭鐨勬姤璀� 6锛氬鐢ㄧ殑鎶ヨ銆傜2瀛楄妭锛坆it8-bit15锛夎〃绀烘槸鍚﹀惎鐢ㄦ姤璀︾伅锛屽瓧鑺傚�� 0锛氫笉鍚敤 1锛氬惎鐢ㄣ�傜3瀛楄妭锛坆it16-bit23锛夎〃绀烘姤璀﹂煶閲忥紝瀛楄妭鍊�0锛歀ow锛�1锛歁edium锛�2锛歨igh锛�3锛歷ery high銆�</para>
-            /// <para>squawk command Data1锛堟暟鍊硷紝4瀛楄妭鏁村瀷锛夌1瀛楄妭锛坆it0-bit7锛夎〃绀烘姤璀︽ā寮忥紝瀛楄妭鍊�0锛氬畨闃茬郴缁熲�滃竷闃测�濋煶鏁堚�� 锛�1锛氬畨闃茬郴缁熲�滄挙闃测�濋煶鏁堛�傜2瀛楄妭锛坆it8-bit15锛夎〃绀烘槸鍚﹀惎鍔ㄦ姤璀︾伅锛屽瓧鑺傚��0锛氫笉鍚姩锛�1锛氬惎鍔ㄣ�傜3瀛楄妭锛坆it16-bit23锛夎〃绀烘姤璀﹂煶閲忥紝瀛楄妭鍊�0锛歀ow 锛�1锛歁edium 锛�2锛歨igh 锛�3: very high銆�</para>
-            /// </summary>
-            public int Data1;
-            /// <summary>
-            /// Data2鍙栧��
-            /// <para>寮�鍏� Data2锛堟暟鍊硷級: 0</para>
-            /// <para>浜害璋冩暣 Data2锛堟暟鍊硷級: 0</para>
-            /// <para>棰滆壊璋冩暣 Data2锛堟暟鍊硷級锛氶ケ鍜屽害 </para>
-            ///<para> 鎭掓俯鍣―ata2鏁板�煎涓嬶細
-            /// 銆愬綋Data1=0|1|2鏃讹紝Data2涓鸿鍙樺寲鐨勫害鏁帮紝鍗曚綅锛�0.1鈩� 銆傘��
-            ///銆愯嫢Data1=3锛孌ata2涓鸿璁惧畾鐨勭┖璋冩ā寮忥紙0-9锛夛紝0锛歰ff锛�1锛歛uto锛�3锛歝ool锛� 4锛歨eat 锛�5锛歟mergency heating, 6锛歱recooling锛�7锛歠an only 锛�8锛歞ry锛�9锛歴leep銆傘��
-            ///銆愯嫢Data1=4|5锛孌ata2涓哄姞鐑垨鍒跺喎搴︽暟锛屽崟浣�0.01鎽勬皬搴︺�傘��
-            ///銆愯嫢Data1=6锛孌ata2涓鸿璁惧畾鐨勯鎵囨ā寮忥紙0-6锛夛紝0锛歰ff锛�1锛歭ow锛�2锛歮edium锛�3锛歨igh锛�4锛歰n锛�5锛歛uto锛�6锛歴mart銆� </para>
-            ///<para>绐楀笜璁惧锛孌ata2鏁板�煎涓�
-            ///銆愬綋Data1=4鎴�7锛孌ata2涓鸿皟鏁寸殑楂樺害鎴栧�炬枩瑙掑害 鍊炬枩瑙掑害鍗曚綅涓�0.1掳銆戙��
-            ///銆愬綋Data1=5 鎴� 8锛孌ata2涓虹櫨鍒嗘瘮锛�0-100琛ㄧず0%-100%銆�</para>
-            ///<para>璁惧identify璇嗗埆銆侱ata2锛堟暟鍊硷級: 0 </para>
-            ///<para>寮�鍏虫姤璀︽ā寮� Data2锛堟暟鍊硷紝4瀛楄妭鏁村瀷锛夌1銆�2瀛楄妭锛坆it0-bit15锛夎〃绀烘姤璀︽椂闀匡紝瀛楄妭鍊� 0-65535锛屽崟浣嶏細绉掋�傜3瀛楄妭锛坆it16-bit23锛夎〃绀洪棯鐑佸崰绌烘瘮锛屽瓧鑺傚��0-100銆傜4瀛楄妭锛坆it16-bit23锛夎〃绀烘姤璀︾伅浜害锛屽瓧鑺傚��0锛歀ow 锛�1锛歁edium 锛�2锛歨igh 锛�3: very high銆�</para>
-            ///<para>squawk command锛欴ata2锛堟暟鍊硷級: 0 </para>
-            /// </summary>
-            /// <value>The type of the task.</value>
-            public int Data2;
 
-        }
-        #endregion
-
-        #region 鑾峰彇鍦烘櫙鍒楄〃
-        ///<summary >
-        ///鑾峰彇鍦烘櫙鍒楄〃
-        ///</summary>
-        public static async System.Threading.Tasks.Task<List<GetSceneAllInfo>> GetSceneListAsync()
-        {
-            ZbGateway.AllSceneList.Clear();
-            return await System.Threading.Tasks.Task.Run(async () => {
-                var dateTime = DateTime.Now;
-                GetSceneAllData d = null;
-                var mainGateway = ZbGateway.MainGateWay;
-                if (mainGateway == null)
-                {
-                    d = new GetSceneAllData { errorMessageBase = "褰撳墠娌℃湁涓荤綉鍏�" };
-                    return null;
-                }
-                Action<string, string> action = (topic, message) =>
-                {
-                    var gatewayID = topic.Split('/')[0];
-                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
-
-                    if (topic == gatewayID + "/" + "Scene/GetAllInfo_Respon")
-                    {
-                        dateTime = DateTime.Now;
-                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
-                        scene.sceneGetAllInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<GetSceneAllInfo>(jobject["Data"].ToString());
-
-                        var info = ZbGateway.AllSceneList.Find(obj => obj.ScenesId == scene.sceneGetAllInfo.ScenesId);
-                        if (info == null)
-                        {
-                            ZbGateway.AllSceneList.Add(scene.sceneGetAllInfo);
-                        }
-                        else
-                        {
-                            info.DeviceList = scene.sceneGetAllInfo.DeviceList;
-                            info.DeviceSum = scene.sceneGetAllInfo.DeviceSum;
-                            info.IsOpen = scene.sceneGetAllInfo.IsOpen;
-                            info.ScenesId = scene.sceneGetAllInfo.ScenesId;
-                            info.ScenesName = scene.sceneGetAllInfo.ScenesName;
-                            info.ScenesNum = scene.sceneGetAllInfo.ScenesNum;
-                            info.ScenesSum = scene.sceneGetAllInfo.ScenesSum;
-                        }
-                        System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
-                    }
-                };
-                mainGateway.Actions += action;
-                System.Console.WriteLine("Scene/GetAllInfo_Actions 鍚姩" + System.DateTime.Now.ToString());
-                try
-                {
-                    var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 807 } };
-                    mainGateway.Send(("Scene/GetAllInfo"),System.Text.Encoding.UTF8.GetBytes(jObject.ToString()));
-                }
-                catch { }
-
-                while ((DateTime.Now - dateTime).TotalMilliseconds < 1000)
-                {
-                    await System.Threading.Tasks.Task.Delay(10);
-                }
-
-                mainGateway.Actions -= action;
-                System.Console.WriteLine("Scene/GetAllInfo_Actions 閫�鍑�" + System.DateTime.Now.ToString());
-
-                return ZbGateway.AllSceneList;
-            });
-        }
         #endregion
 
         #region 鍙兘鑾峰彇鍦烘櫙淇℃伅锛屾病鏈夊満鏅腑鐨勮澶囦俊鎭�
@@ -630,7 +435,7 @@
 
         //if (topic == gatewayID + "/" + "Error_Respon")
         //{
-        //    var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = ZbGateway.MainGateWay.getGatewayBaseInfo.gwID };
+        //    var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = ZbGateway.MainGateWay.GwId };
         //    var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
 
         //    if (temp == null)
@@ -699,22 +504,9 @@
         /// <summary>
         ///鑾峰彇鍦烘櫙淇℃伅,缃戝叧鍙嶉淇℃伅
         /// </summary>
-        GetOnlySceneAllData getOnlySceneAllData;
-        /// <summary>
-        ///鑾峰彇鍦烘櫙淇℃伅,缃戝叧鍙嶉淇℃伅
-        /// </summary>
         [System.Serializable]
-        class GetOnlySceneAllData
+        class GetOnlySceneAllData:CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鑾峰彇鍦烘櫙淇℃伅
             /// </summary>
@@ -789,8 +581,7 @@
 
                     if (topic == gatewayID + "/" + "Error_Respon")
                     {
-                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
-                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
+                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
 
                         if (temp == null)
                         {
@@ -804,26 +595,15 @@
 
                     if (topic == gatewayID + "/" + "Scene/GetDeviceList_Respon")
                     {
-                        var sceneTemp = new Scene() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.getGatewayBaseInfo.gwID };
-                        sceneTemp.sceneGetDeviceListObj = Newtonsoft.Json.JsonConvert.DeserializeObject<GetSceneDeviceListInfo>(jobject["Data"].ToString());
+                        var sceneGetDeviceListObj = Newtonsoft.Json.JsonConvert.DeserializeObject<GetSceneDeviceListInfo>(jobject["Data"].ToString());
 
-                        if (sceneTemp.sceneGetDeviceListObj == null)
+                        if (sceneGetDeviceListObj == null)
                         {
                             d = new GetSceneDeviceListAllInfo { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
                          }
                         else
                         {
-                            var sDev = mainGateway.SceneDeviceList.Find(obj => obj.ScenesId == sceneTemp.sceneGetDeviceListObj.ScenesId);
-                            if (sDev == null)
-                            {
-                                ZbGateway.MainGateWay.SceneDeviceList.Add(sceneTemp.sceneGetDeviceListObj);
-                            }
-                            else
-                            {
-                                sDev.DeviceList = sceneTemp.sceneGetDeviceListObj.DeviceList;
-                            }
-
-                            d = new GetSceneDeviceListAllInfo { getSceneDeviceListInfo = sceneTemp.sceneGetDeviceListObj };
+                            d = new GetSceneDeviceListAllInfo { getSceneDeviceListInfo = sceneGetDeviceListObj };
                             System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
 
                         }
@@ -870,17 +650,8 @@
         ///鑾峰彇鍦烘櫙鐨勮澶囧垪琛ㄤ俊鎭�,缃戝叧鍙嶉淇℃伅
         /// </summary>
         [System.Serializable]
-        public class GetSceneDeviceListAllInfo
+        public class GetSceneDeviceListAllInfo : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鑾峰彇鍦烘櫙鐨勮澶囧垪琛ㄤ俊鎭�
             /// </summary>
@@ -948,8 +719,7 @@
 
                     if (topic == gatewayID + "/" + "Error_Respon")
                     {
-                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
-                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
+                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
 
                         if (temp == null)
                         {
@@ -963,16 +733,15 @@
 
                     if (topic == gatewayID + "/" + "Scene/AddMember_Respon")
                     {
-                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
-                        scene.addSceneMemberData = Newtonsoft.Json.JsonConvert.DeserializeObject<AddSceneMemberResponseData>(jobject["Data"].ToString());
+                        var addSceneMemberData = Newtonsoft.Json.JsonConvert.DeserializeObject<AddSceneMemberResponseData>(jobject["Data"].ToString());
 
-                        if (scene.addSceneMemberData == null)
+                        if (addSceneMemberData == null)
                         {
                             d = new AddSceneMemberResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
                         }
                         else
                         {
-                            d = new AddSceneMemberResponseAllData { addSceneMemberResponseData = scene.addSceneMemberData };
+                            d = new AddSceneMemberResponseAllData { addSceneMemberResponseData = addSceneMemberData };
                             System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
 
                         }
@@ -1065,17 +834,8 @@
         /// 鑾峰彇鍦烘櫙涓坊鍔犵殑鎴愬憳,缃戝叧鍙嶉淇℃伅
         /// </summary>
         [System.Serializable]
-        public class AddSceneMemberResponseAllData
+        public class AddSceneMemberResponseAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鑾峰彇鍦烘櫙涓坊鍔犵殑鎴愬憳
             /// </summary>
@@ -1192,7 +952,7 @@
             /// 璁惧鍒楄〃
             /// <para>Type=0鏃跺瓨鍦�</para>
             /// </summary>
-            public List<TaskListInfo> TaskList = new List<TaskListInfo>();
+            public List<Safeguard.TaskListInfo> TaskList = new List<Safeguard.TaskListInfo>();
         }
         #endregion
 
@@ -1221,8 +981,7 @@
                     var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
                     if (topic == gatewayID + "/" + "Error_Respon")
                     {
-                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
-                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
+                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
 
                         if (temp == null)
                         {
@@ -1235,23 +994,22 @@
                     }
                     if (topic == gatewayID + "/" + "Scene/RemoveMember_Respon")
                     {
-                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
-                        scene.removeSceneMemberResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<RemoveSceneMemberResponseData>(jobject["Data"].ToString());
+                        var removeSceneMemberResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<RemoveSceneMemberResponseData>(jobject["Data"].ToString());
 
-                        if (scene.removeSceneMemberResponseData == null)
+                        if (removeSceneMemberResponseData == null)
                         {
                             d = new RemoveSceneMemberResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
                         }
                         else
                         {
-                            d = new RemoveSceneMemberResponseAllData { removeSceneMemberResponseData = scene.removeSceneMemberResponseData };
+                            d = new RemoveSceneMemberResponseAllData { removeSceneMemberResponseData = removeSceneMemberResponseData };
                             System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
 
                         }
                     }
                 };
                 mainGateway.Actions += action;
-                System.Console.WriteLine("Scene/RemoveMember_Actions 鍚姩" + "_" + mainGateway.getGatewayBaseInfo.gwID + System.DateTime.Now.ToString());
+                System.Console.WriteLine("Scene/RemoveMember_Actions 鍚姩" + "_" + mainGateway.GwId + System.DateTime.Now.ToString());
 
                 try{
                     if (sceneRemoveMemberData != null)
@@ -1318,7 +1076,7 @@
                     d = new RemoveSceneMemberResponseAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
                 }
                 mainGateway.Actions -= action;
-                System.Console.WriteLine("Scene/RemoveMember_Actions 閫�鍑�" + "_" + mainGateway.getGatewayBaseInfo.gwID + System.DateTime.Now.ToString());
+                System.Console.WriteLine("Scene/RemoveMember_Actions 閫�鍑�" + "_" + mainGateway.GwId + System.DateTime.Now.ToString());
 
                 return d;
             });
@@ -1396,17 +1154,8 @@
         ///  绉婚櫎鍦烘櫙鎴愬憳淇℃伅鍙嶉,缃戝叧鍙嶉淇℃伅
         /// </summary>
         [System.Serializable]
-        public class RemoveSceneMemberResponseAllData
+        public class RemoveSceneMemberResponseAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 绉婚櫎鍦烘櫙鎴愬憳淇℃伅鍙嶉
             /// </summary>
@@ -1497,8 +1246,7 @@
 
                     if (topic == gatewayID + "/" + "Error_Respon")
                     {
-                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
-                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
+                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
 
                         if (temp == null)
                         {
@@ -1512,23 +1260,22 @@
 
                     if (topic == gatewayID + "/" + "Scene/Rename_Respon")
                     {
-                        var scene = new Scene() { DataID = jobject.Value<int>("DataID"), GateWayId = mainGateway.CurrentGateWayId };
-                        scene.sceneRenameResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<SceneRenameResponseData>(jobject["Data"].ToString());
+                        var sceneRenameResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<SceneRenameResponseData>(jobject["Data"].ToString());
 
-                        if (scene.sceneRenameResponseData == null)
+                        if (sceneRenameResponseData == null)
                         {
                             d = new SceneRenameResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
                         }
                         else
                         {
-                            d = new SceneRenameResponseAllData { sceneRenameResponseData = scene.sceneRenameResponseData };
+                            d = new SceneRenameResponseAllData { sceneRenameResponseData = sceneRenameResponseData };
                             System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
 
                         }
                     }
                 };
                 mainGateway.Actions += action;
-                System.Console.WriteLine("Scene/Rename_Actions 鍚姩" + "_" + mainGateway.getGatewayBaseInfo.gwID + System.DateTime.Now.ToString());
+                System.Console.WriteLine("Scene/Rename_Actions 鍚姩" + "_" + mainGateway.GwId + System.DateTime.Now.ToString());
                 try{
                     var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 804 } };
                     var data = new JObject { { "ScenesId", scenesId }, { "ScenesName", scenesName } };
@@ -1551,7 +1298,7 @@
                     d = new SceneRenameResponseAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
                 }
                 mainGateway.Actions -= action;
-                System.Console.WriteLine("Scene/Rename_Actions 閫�鍑�" + "_" + mainGateway.getGatewayBaseInfo.gwID + System.DateTime.Now.ToString());
+                System.Console.WriteLine("Scene/Rename_Actions 閫�鍑�" + "_" + mainGateway.GwId + System.DateTime.Now.ToString());
 
                 return d;
             });
@@ -1565,17 +1312,8 @@
         /// 淇敼鍦烘櫙鍚嶇О
         /// </summary>
         [System.Serializable]
-        public class SceneRenameResponseAllData
+        public class SceneRenameResponseAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 淇敼鍦烘櫙鍚嶇О
             /// </summary>
@@ -1637,8 +1375,7 @@
 
                     if (topic == gatewayID + "/" + "Error_Respon")
                     {
-                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
-                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
+                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
 
                         if (temp == null)
                         {
@@ -1652,33 +1389,22 @@
 
                     if (topic == gatewayID + "/" + "Scene/Remove_Respon")
                     {
-                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
-                        scene.removeSceneData = Newtonsoft.Json.JsonConvert.DeserializeObject<RemoveSceneData>(jobject["Data"].ToString());
-                        if (scene.removeSceneData == null)
+                        var removeSceneData = Newtonsoft.Json.JsonConvert.DeserializeObject<RemoveSceneData>(jobject["Data"].ToString());
+                        if (removeSceneData == null)
                         {
                             d = new RemoveSceneAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
                             return;
                         }
                         else
                         {
-                            for (int listCount = 0; listCount < ZigBee.Device.ZbGateway.AllSceneList.Count; listCount++)
-                            {
-                                var sc = ZbGateway.AllSceneList[listCount];
-
-                                if (scene.removeSceneData.ScenesId == sc.ScenesId)
-                                {
-                                    ZigBee.Device.ZbGateway.AllSceneList.RemoveAt(listCount);
-                                    listCount--;
-                                }
-                            }
-                            d = new RemoveSceneAllData { removeSceneData = scene.removeSceneData };
+                            d = new RemoveSceneAllData { removeSceneData = removeSceneData };
                             System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
 
                         }
                     }
                 };
                 mainGateway.Actions += action;
-                System.Console.WriteLine("Scene/Remove_Actions 鍚姩" + "_" + mainGateway.getGatewayBaseInfo.gwID + System.DateTime.Now.ToString());
+                System.Console.WriteLine("Scene/Remove_Actions 鍚姩" + "_" + mainGateway.GwId + System.DateTime.Now.ToString());
                 try{
                     var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 803 } };
                     var data = new JObject { { "ScenesId", scenesId } };
@@ -1701,7 +1427,7 @@
                     d = new RemoveSceneAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
                 }
                 mainGateway.Actions -= action;
-                System.Console.WriteLine("Scene/Remove_Actions 閫�鍑�" + "_" + mainGateway.getGatewayBaseInfo.gwID + System.DateTime.Now.ToString());
+                System.Console.WriteLine("Scene/Remove_Actions 閫�鍑�" + "_" + mainGateway.GwId + System.DateTime.Now.ToString());
 
                 return d;
             });
@@ -1715,17 +1441,8 @@
         /// 绉婚櫎鍦烘櫙,缃戝叧鍙嶉淇℃伅
         /// </summary>
         [System.Serializable]
-        public class RemoveSceneAllData
+        public class RemoveSceneAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 绉婚櫎鍦烘櫙
             /// </summary>
@@ -1779,8 +1496,7 @@
 
                     if (topic == gatewayID + "/" + "Error_Respon")
                     {
-                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
-                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
+                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
 
                         if (temp == null)
                         {
@@ -1794,22 +1510,21 @@
 
                     if (topic == gatewayID + "/" + "Scene/Open_Respon")
                     {
-                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
-                        scene.sceneOpen = Newtonsoft.Json.JsonConvert.DeserializeObject<SceneOpenData>(jobject["Data"].ToString());
-                        if (scene.sceneOpen == null)
+                        var sceneOpen = Newtonsoft.Json.JsonConvert.DeserializeObject<SceneOpenData>(jobject["Data"].ToString());
+                        if (sceneOpen == null)
                         {
                             d = new SceneOpenAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
                         }
                         else
                         {
-                            d = new SceneOpenAllData { sceneOpenData = scene.sceneOpen };
+                            d = new SceneOpenAllData { sceneOpenData = sceneOpen };
                             System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
 
                         }
                     }
                 };
                 mainGateway.Actions += action;
-                System.Console.WriteLine("Scene/Open_Actions 鍚姩" + "_" + mainGateway.getGatewayBaseInfo.gwID + System.DateTime.Now.ToString());
+                System.Console.WriteLine("Scene/Open_Actions 鍚姩" + "_" + mainGateway.GwId + System.DateTime.Now.ToString());
                 try{
                     var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 821 } };
                     var data = new JObject { { "ScenesId", ScenesId }, { "DelayTime", delayTime } };
@@ -1832,7 +1547,7 @@
                     d = new SceneOpenAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
                 }
                 mainGateway.Actions -= action;
-                System.Console.WriteLine("Scene/Open_Actions閫�鍑�" + "_" + mainGateway.getGatewayBaseInfo.gwID + System.DateTime.Now.ToString());
+                System.Console.WriteLine("Scene/Open_Actions閫�鍑�" + "_" + mainGateway.GwId + System.DateTime.Now.ToString());
 
                 return d;
             });
@@ -1848,17 +1563,8 @@
         /// 璋冪敤鍦烘櫙,缃戝叧鍙嶉淇℃伅
         /// </summary>
         [System.Serializable]
-        public class SceneOpenAllData
+        public class SceneOpenAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 璋冪敤鍦烘櫙
             /// </summary>
@@ -1916,8 +1622,7 @@
                     var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
                     if (topic == gatewayID + "/" + "Error_Respon")
                     {
-                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
-                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
+                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
 
                         if (temp == null)
                         {
@@ -1930,22 +1635,21 @@
                     }
                     if (topic == gatewayID + "/" + "Scene/CatDelayScene_Respon")
                     {
-                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
-                        scene.catDelaySceneResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<CatDelaySceneResponseData>(jobject["Data"].ToString());
+                        var catDelaySceneResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<CatDelaySceneResponseData>(jobject["Data"].ToString());
 
-                        if (scene.catDelaySceneResponseData == null)
+                        if (catDelaySceneResponseData == null)
                         {
                             d = new CatDelaySceneResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
                         }
                         else
                         {
-                            d = new CatDelaySceneResponseAllData { catDelaySceneResponseData = scene.catDelaySceneResponseData };
+                            d = new CatDelaySceneResponseAllData { catDelaySceneResponseData = catDelaySceneResponseData };
                             System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
                         }
                     }
                 };
                 mainGateway.Actions += action;
-                System.Console.WriteLine("Scene/CatDelayScene_Actions 鍚姩" + "_" + mainGateway.getGatewayBaseInfo.gwID + System.DateTime.Now.ToString());
+                System.Console.WriteLine("Scene/CatDelayScene_Actions 鍚姩" + "_" + mainGateway.GwId + System.DateTime.Now.ToString());
                 try
                 {
                     var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 811 } };
@@ -1965,7 +1669,7 @@
                     d = new CatDelaySceneResponseAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
                   }
                 mainGateway.Actions -= action;
-                System.Console.WriteLine("Scene/CatDelayScene_Actions 閫�鍑�" + "_" + mainGateway.getGatewayBaseInfo.gwID + System.DateTime.Now.ToString());
+                System.Console.WriteLine("Scene/CatDelayScene_Actions 閫�鍑�" + "_" + mainGateway.GwId + System.DateTime.Now.ToString());
 
                 return d;
             });
@@ -1979,17 +1683,8 @@
         ///  鏌ョ湅姝e湪寤舵椂鐨勫満鏅俊鎭弽棣�,缃戝叧鍙嶉淇℃伅
         /// </summary>
         [System.Serializable]
-        public class CatDelaySceneResponseAllData
+        public class CatDelaySceneResponseAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鏌ョ湅姝e湪寤舵椂鐨勫満鏅俊鎭俊鎭弽棣�
             /// </summary>
@@ -2067,153 +1762,5 @@
             public int ScenesId;
 
         }
-
-        //public static string SceneFilePath = "SceneFile";
-
-        //static Scene()
-        //{
-        //    if (null == Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(Encoding.UTF8.GetString(Shared.IO.FileUtils.ReadFile(SceneFilePath))))
-        //    {
-        //        //鍒濆鍖栧満鏅垪琛�
-        //        Shared.IO.FileUtils.WriteFileByBytes(SceneFilePath, System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(new List<string>())));
-        //    }
-        //}
-
-        ///// <summary>
-        ///// 淇濆瓨褰撳墠鍦烘櫙
-        ///// </summary>
-        ///// <param name="scenceFilePath">Scence file path.</param>
-        //public void Save(string scenceFilePath)
-        //{
-        //    Shared.IO.FileUtils.WriteFileByBytes(scenceFilePath, System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this)));
-        //}
-
-        /// <summary>
-        /// 鏍规嵁鍦烘櫙璺緞鎭㈠鍦烘櫙瀵硅薄
-        /// </summary>
-        /// <returns>The by file path.</returns>
-        /// <param name="sceneFilePath">Room file path.</param>
-        //public static Scene GetSceneByFilePath(string sceneFilePath)
-        //{
-        //    try
-        //    {
-        //        return Newtonsoft.Json.JsonConvert.DeserializeObject<Scene>(System.Text.Encoding.UTF8.GetString(Shared.IO.FileUtils.ReadFile(sceneFilePath)));
-        //    }
-        //    catch
-        //    {
-        //        return new Scene();
-        //    }
-        //}
-
-        /// <summary>
-        /// 鍦烘櫙鏍囪瘑
-        /// </summary>
-        //public bool SceneLabel = false;
-
-        /// <summary>
-        /// 鎺у埗鐩爣鐨勬枃浠惰矾寰�,鏍煎紡濡傦細RoomScene_+DeviceID_Mac_Epoint
-        /// </summary>
-        //public readonly List<string> DeviceFilePathList = new List<string>();
-
-        /// <summary>
-        /// 鍦烘櫙鐨勮儗鏅浘
-        /// </summary>
-        //public string BackgroundImagePath = "Scene/s1.png";
-
-        /// <summary>
-        /// 鍦烘櫙涓殑璁惧鍒楄〃
-        /// </summary>
-        //[Newtonsoft.Json.JsonIgnore]
-        //public List<Scene> sceneDeviceList = new List<Scene>();
-
-        //[Newtonsoft.Json.JsonIgnore]
-        //public List<Scene> LocalSceneList = new List<Scene>();
-
-        //public SceneId SceneID;
-
-        ///<summary >
-        /// 浠庣綉鍏崇殑鍦烘櫙涓Щ闄よ澶�
-        /// </summary>
-        //public static void SceneRemoveMember1(ZigBee.Device.ZbGateway gateway, int ScenesId, string DeviceAddr, int Epoint)
-        //{
-        //    var jobject = new JObject { { "Cluster_ID", 0 }, { "Command", 802 } };
-        //    var DeviceList = new JArray
-        //                        {
-        //                            new JObject {
-        //                                { "Type", 0},
-        //                                { "DeviceAddr",DeviceAddr},
-        //                                { "Epoint",Epoint}
-        //                            }
-        //                        };
-        //    var data = new JObject {
-        //        {"ScenesId",ScenesId},
-        //                            { "DeviceList", DeviceList }
-        //                        };
-        //    jobject.Add("Data", data);
-        //    gateway.Send(("Scene/RemoveMember"), Common.SecuritySet.Encryption((jobject.ToString())));
-
-        //}
-
-        ///<summary >
-        /// 鍒犻櫎鍦烘櫙
-        /// </summary>
-        //public static void SceneRemove1(ZigBee.Device.ZbGateway gateway, int scenesId)
-        //{
-        //    var jobject = new JObject { { "Cluster_ID", 0 }, { "Command", 803 } };
-        //    var data = new JObject { { "ScenesId", scenesId } };
-        //    jobject.Add("Data", data);
-        //    gateway.Send(("Scene/Remove"), Common.SecuritySet.Encryption((jobject.ToString())));
-        //}
-
-        ///<summary >
-        /// 淇敼鍦烘櫙鍚嶇О
-        /// </summary>
-        //public static void SceneRename1(ZigBee.Device.ZbGateway gateway, int scenesId, string scenesName)
-        //{
-        //    var jobject = new JObject { { "Cluster_ID", 0 }, { "Command", 804 } };
-        //    var data = new JObject { { "ScenesId", scenesId }, { "ScenesName", scenesName } };
-        //    jobject.Add("Data", data);
-        //    gateway.Send(("Scene/Rename"), Common.SecuritySet.Encryption((jobject.ToString())));
-        //}
-
-        ///<summary >
-        /// 鑾峰彇缃戝叧涓満鏅俊鎭�
-        /// </summary>
-        //public static void SceneGetInfo1(ZigBee.Device.ZbGateway gateway)
-        //{
-        //    var jobject = new JObject { { "Cluster_ID", 0 }, { "Command", 805 } };
-        //    gateway.Send(("Scene/GetInfo"), Common.SecuritySet.Encryption((jobject.ToString())));
-        //}
-
-        ///<summary >
-        ///鑾峰彇缃戝叧涓満鏅殑璁惧鍒楄〃
-        /// </summary>
-        //public static void SceneGetDeviceList1(ZigBee.Device.ZbGateway gateway, int ScenesId)
-        //{
-        //    var jobject = new JObject { { "Cluster_ID", 0 }, { "Command", 806 } };
-        //    var data = new JObject { { "ScenesId", ScenesId } };
-        //    jobject.Add("Data", data);
-        //    gateway.Send(("Scene/GetDeviceList"), Common.SecuritySet.Encryption((jobject.ToString())));
-        //}
-
-        ///<summary >
-        /// 鑾峰彇鎵�鏈夊満鏅俊鎭紙鍖呮嫭鍦烘櫙璁惧鍒楄〃锛�
-        /// </summary>
-        //public static void SceneGetAllInfo1(ZigBee.Device.ZbGateway gateway)
-        //{
-        //    var jobject = new JObject { { "Cluster_ID", 0 }, { "Command", 807 } };
-        //    gateway.Send(("Scene/GetAllInfo"), Common.SecuritySet.Encryption((jobject.ToString())));
-        //}
-
-        ///<summary >
-        ///璋冪敤鍦烘櫙
-        /// </summary>
-        //public static void SceneOpen1(ZigBee.Device.ZbGateway gateway, int ScenesId)
-        //{
-        //    var jobject = new JObject { { "Cluster_ID", 0 }, { "Command", 808 } };
-        //    var data = new JObject { { "ScenesId", ScenesId } };
-        //    jobject.Add("Data", data);
-        //    gateway.Send(("Scene/Open"), Common.SecuritySet.Encryption((jobject.ToString())));
-        //}
     }
 }

--
Gitblit v1.8.0