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/ZbGatewayData.cs | 1578 ++++-----------------------------------------------------
 1 files changed, 134 insertions(+), 1,444 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGatewayData.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGatewayData.cs
index c28c5bc..f7b8d43 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGatewayData.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGatewayData.cs
@@ -4,64 +4,102 @@
 
 namespace ZigBee.Device
 {
-    public class ZbGatewayData : CommonDevice
+    public class ZbGatewayData
     {
-        #region 缃戝叧鍦ㄧ嚎鏍囪瘑
+        #region 涓�鍫嗗彉閲�
         /// <summary>
         /// 鍒ゆ柇缃戝叧鏄惁鍦ㄧ嚎鐨勬爣璇嗭紝APP鐣岄潰浼氭敼鍙樺畠鐨勫��,Application浼氶噸鏂板埛鏂板畠鐨勫��
         /// </summary>
         public bool GatewayOnlineFlage = false;
+        /// <summary>
+        /// 浣忓畢ID
+        /// </summary>
+        public string HomeId = string.Empty;
+        /// <summary>
+        /// 缃戝叧鎵�鍦ㄧ殑鎴块棿ID
+        /// </summary>
+        public string RoomId = string.Empty;
+        ///<summary>
+        ///缃戝叧搴忓垪鍙凤紝璇ョ綉鍏冲敮涓�鏍囪瘑
+        /// </summary>
+        public string GwId = string.Empty;
+        /// <summary>
+        ///缃戝叧鍚嶇О
+        /// </summary>
+        public string GwName = string.Empty;
+        /// <summary>
+        /// 缃戝叧鐨勫簭鍒楀彿
+        /// </summary>
+        public string GwSerialNum = string.Empty;
+        /// <summary>
+        ///鏄惁涓轰富缃戝叧銆�(鍥犱负鍦ㄥ缃戠殑鎯呭喌涓嬶紝杩欎釜瀛楁鍙互鑾峰彇鍒帮紝鐢ㄦ潵鏇存柊灞�鍩熺綉涓熀鏈俊鎭殑瀵硅薄涓殑涓荤綉鍏充俊鎭級
+        ///<para>0锛氬惁</para>
+        ///<para>1锛氭槸</para>
+        /// </summary>
+        public bool IsMainGateWay;
+        /// <summary>
+        ///缃戝叧鎵�鍦ㄥ眬鍩熺綉鐨刬p鍦板潃
+        /// </summary>
+        public string GwIP = string.Empty;
+        /// <summary>
+        /// 璇ョ綉鍏冲簲鐢ㄧ▼搴忕増鏈�(缃戝叧鍥轰欢鏃ユ湡锛燂紵)
+        /// </summary>
+        public long GwVersionDate = 0;
+        /// <summary>
+        ///Linux缃戝叧绫诲瀷
+        /// </summary>
+        public int LinuxImageType = -1;
+        /// <summary>
+        ///Linux缃戝叧纭欢鐗堟湰
+        /// </summary>
+        public int LinuxHardVersion = -1;
+        /// <summary>
+        /// Linux缃戝叧鍥轰欢鐗堟湰
+        /// </summary>
+        public int LinuxFirmwareVersion = -1;
+        /// <summary>
+        /// 鍗忚皟鍣ㄧ‖浠剁増鏈�
+        /// </summary>
+        public int CoordinatorHardVersion = -1;
+        /// <summary>
+        /// 鍗忚皟鍣ㄥ浐浠剁増鏈�
+        /// </summary>
+        public int CoordinatorFirmwareVersion = -1;
+        /// <summary>
+        /// 鍗忚皟鍣ㄩ暅鍍廔D(涔熷彨缃戝叧闀滃儚绫诲瀷)
+        /// </summary>
+        public int CoordinatorImageId = -1;
+        /// <summary>
+        /// 铏氭嫙椹卞姩淇℃伅
+        /// </summary>
+        public List<DriveCodeListObj> DriveCodeList = new List<DriveCodeListObj>();
 
-        #endregion
-
-        [Newtonsoft.Json.JsonIgnore]
         /// <summary>
         /// 铏氭嫙缃戝叧
         /// </summary>
-        public bool IsVirtual; 
- 
-        #region 缃戝叧鍩烘湰淇℃伅
+        [Newtonsoft.Json.JsonIgnore]
+        public bool IsVirtual;
         /// <summary>
-        /// 璇ョ綉鍏冲簲鐢ㄧ▼搴忕増鏈�
+        /// 鏈�鍚庣殑鏇存柊鏃堕棿
         /// </summary>
-        public long AppVersion;
+        [Newtonsoft.Json.JsonIgnore]
+        public DateTime LastDateTime = DateTime.MinValue;
 
-        /// <summary>
-        /// Zigbee鍗忚鍣ㄧ▼搴忕増鏈�
-        /// </summary>
-        public int ZigbeeVersion;
         #endregion
 
         #region 缃戝叧淇℃伅.
         /// <summary>
         /// 缃戝叧鐗堟湰淇℃伅,缃戝叧鍙嶉淇℃伅
         /// </summary>
-        public GetGwVersionAllData getGwVersionAllData;
-        /// <summary>
-        /// 缃戝叧鐗堟湰淇℃伅,缃戝叧鍙嶉淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class GetGwVersionAllData
+        public class GetGwVersionAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 缃戝叧鐗堟湰淇℃伅
             /// </summary>
             public GetGwVersionData getGwVersion;
         }
 
-        /// <summary>
-        /// 缃戝叧鐗堟湰淇℃伅
-        /// </summary>
-        public GetGwVersionData getGwVersion;
         /// <summary>
         /// 缃戝叧鐗堟湰淇℃伅
         /// </summary>
@@ -80,25 +118,13 @@
         #endregion
 
         #region 鑾峰彇缃戝叧淇℃伅.
-        /// <summary>
-        /// 缃戝叧淇℃伅,缃戝叧鍙嶉鍏蜂綋淇℃伅.
-        /// </summary>
-        public GetGwAllData getGwAllData;
+
         /// <summary>
         /// 缃戝叧淇℃伅,缃戝叧鍙嶉鍏蜂綋淇℃伅
         /// </summary>
         [System.Serializable]
-        public class GetGwAllData
+        public class GetGwAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 缃戝叧淇℃伅
             /// </summary>
@@ -106,11 +132,7 @@
         }
 
         /// <summary>
-        /// 缃戝叧淇℃伅.
-        /// </summary>
-        public GetGwData getGwInfo;
-        /// <summary>
-        /// 缃戝叧淇℃伅
+        /// 缃戝叧淇℃伅(灞忚斀鎺変簡涓�浜涚洰鍓嶄笉浣跨敤鐨勫彉閲�)
         /// </summary>
         [System.Serializable]
         public class GetGwData
@@ -118,7 +140,7 @@
             ///<summary>
             ///缃戝叧搴忓垪鍙凤紝璇ョ綉鍏冲敮涓�鏍囪瘑
             /// </summary>
-            public string GwId;
+            public string GwId;
             /// <summary>
             ///缃戝叧缁戝畾缃戝崱鐨刴ac鍦板潃
             /// </summary>
@@ -136,11 +158,11 @@
             ///<para>0锛氬惁</para>
             ///<para>1锛氭槸</para>
             /// </summary>
-            public int IsDominant;
+            public int IsDominant;
             ///<summary>
             ///utc鏃堕棿鎴筹紝绋嬪簭鍚姩鏃剁綉鍏崇殑绯荤粺鏃堕棿
             ///</summary>
-            public long StartTime;
+            public long StartTime;
             /// <summary>
             ///鍔犲叆灞�鍩熺綉妯″紡
             ///<para>0锛歸ifi杩炴帴灞�鍩熺綉</para>
@@ -151,42 +173,46 @@
             /// <summary>
             ///缃戝叧鎵�鍦ㄥ眬鍩熺綉鐨刬p鍦板潃
             /// </summary>
-            public string GwIP;
+            public string GwIP;
+            /// <summary>
+            /// 涓讳汉鐨凣uid(鍗充娇鏄鐞嗗憳,杩欓噷涔熸槸涓讳汉鐨凣uid)
+            /// </summary>
+            public string AccountId;
             /// <summary>
             ///褰撳墠灞�鍩熺綉缃戠粶鍙峰崰鐢ㄤ綅鏁帮紝鐢ㄤ簬璁$畻瀛愮綉鎺╃爜锛屽Mask=32锛屽垯瀛愮綉鎺╃爜涓�255.255.255.0
             /// </summary>
-            public int Mask;
+            public int Mask;
             /// <summary>
             ///涓婄骇璺敱鍣ㄦ棤绾垮悕绉�
             ///<para>褰� JoinMode = 0鏃跺瓨鍦� </para>
             /// </summary>
-            public string RouteESSID;
+            public string RouteESSID;
             /// <summary>
             ///DNS鏈嶅姟鍣ㄥ湴鍧�
             /// </summary>
             public string DNSServer;
             /// <summary>
-            /// 璇ョ綉鍏冲簲鐢ㄧ▼搴忕増鏈�
+            /// 璇ョ綉鍏冲簲鐢ㄧ▼搴忕増鏈�(缃戝叧鍥轰欢鏃ユ湡锛燂紵)
             /// </summary>
-            public long AppVersion;
+            public long AppVersion;
             /// <summary>
             /// Zigbee鍗忚鍣ㄧ▼搴忕増鏈�
             /// </summary>
-            public int ZigbeeVersion;
+            public int ZigbeeVersion;
             /// <summary>
             ///鍗忚皟鍣╩ac鍦板潃
             /// </summary>
-            public string ZigbeeMacAddr;
+            public string ZigbeeMacAddr;
             /// <summary>
             ///缃戝叧瀹卛d
             /// </summary>
-            public string HomeId;
+            public string HomeId;
             /// <summary>
             ///鏄惁宸茬粡杩炴帴浜戠mqtt
             ///<para>0锛氬惁</para>
             ///<para>1锛氭槸</para>
             /// </summary>
-            public int IsConnectCloud;
+            public int IsConnectCloud;
             /// <summary>
             ///锛堢敤浜庣綉鍏崇▼搴忚皟璇曪級
             ///<para>https鐧婚檰浜戠鏃讹紝鏈�杩戜竴娆¤幏鍙栫殑鍝嶅簲鐘舵�佺爜銆傛牴鎹簯绔殑瀹氫箟锛屾湁濡備笅鐘舵�佺爜銆�</para>
@@ -219,12 +245,11 @@
             /// <summary>
             /// 缃戝叧闀滃儚绫诲瀷
             /// </summary>
-            public int ZbImageType;
-
+            public int ZbImageType;
             /// <summary>
             /// 铏氭嫙椹卞姩淇℃伅
             /// </summary>
-            public List <DriveCodeListObj> DriveCodeList =  new List<DriveCodeListObj>();
+            public List<DriveCodeListObj> DriveCodeList = new List<DriveCodeListObj>();
         }
 
         public class DriveCodeListObj
@@ -256,32 +281,15 @@
         /// <summary>
         /// 淇敼缃戝叧鍚嶇О,缃戝叧鍙嶉鍏蜂綋淇℃伅
         /// </summary>
-        public GwReNameAllData gwReNameAllData;
-        /// <summary>
-        /// 淇敼缃戝叧鍚嶇О,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class GwReNameAllData
+        public class GwReNameAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 淇敼缃戝叧鍚嶇О
             /// </summary>
             public GwReNameData gwReNameData;
         }
 
-        /// <summary>
-        /// 淇敼缃戝叧鍚嶇О
-        /// </summary>
-        public GwReNameData gwRename;
         /// <summary>
         /// 淇敼缃戝叧鍚嶇О
         /// </summary>
@@ -299,32 +307,15 @@
         /// <summary>
         /// 缃戝叧浣忓畢id鏁版嵁,缃戝叧鍙嶉鍏蜂綋淇℃伅
         /// </summary>
-        public GwSetHomeIdAllData gwSetHomeIdAllData;
-        /// <summary>
-        /// 缃戝叧浣忓畢id鏁版嵁,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class GwSetHomeIdAllData
+        public class GwSetHomeIdAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 缃戝叧浣忓畢id鏁版嵁
             /// </summary>
             public GwSetHomeIdData gwSetHomeIdData;
         }
 
-        /// <summary>
-        /// 缃戝叧浣忓畢id鏁版嵁
-        /// </summary>
-        public GwSetHomeIdData gwSetHomeId;
         /// <summary>
         /// 缃戝叧浣忓畢id鏁版嵁
         /// </summary>
@@ -338,11 +329,7 @@
         }
 
         /// <summary>
-        /// 骞挎挱鍙戠幇鍗忚
-        /// </summary>
-        public GatewayBaseInfo getGatewayBaseInfo = new GatewayBaseInfo { };
-        /// <summary>
-        /// 骞挎挱鍙戠幇鍗忚
+        /// 骞挎挱鍙戠幇鍗忚(灞忚斀鎺変簡涓�浜涚洰鍓嶄笉鐢ㄧ殑鍙橀噺)
         /// </summary>
         [System.Serializable]
         public class GatewayBaseInfo
@@ -354,10 +341,11 @@
             /// <summary>
             /// 浣忓畢id锛�4瀛楄妭鏁村瀷銆傦紙灏忕缁撴瀯锛夊鏋滅綉鍏充笉璁剧疆瀹卛d锛屽皢榛樿涓�0
             /// </summary>
-            public string HomeId = string.Empty;
+            public string HomeId = string.Empty;
             /// <summary>
             /// 缃戝叧褰撳墠鏃堕棿鎴筹紙灏忕缁撴瀯锛�
             /// </summary>
+            [Newtonsoft.Json.JsonIgnore]
             public int Time;
             /// <summary>
             /// 鏄惁涓轰富缃戝叧
@@ -368,30 +356,11 @@
             /// </summary>
             public string GwName;
             /// <summary>
-            /// RSA鍏挜
-            /// </summary>
-            //public string PubKey;
-            //string id;
-            /// <summary>
             /// 缃戝叧ID
             /// </summary>
             public string gwID;
-            //{
-            //    get{
-            //        return id;
-            //    }
-            //    set{
-            //        id = value;
-            //        //System.Console.WriteLine("===========123456");
-            //    }
-            //}
-
         }
 
-        /// <summary>
-        /// 缃戝叧鎴愪负涓荤綉鍏虫椂骞挎挱閫氱煡
-        /// </summary>
-        public MainGatewayBaseInfo getMainGatewayBaseInfo;
         /// <summary>
         /// 缃戝叧鎴愪负涓荤綉鍏虫椂骞挎挱閫氱煡
         /// </summary>
@@ -435,375 +404,13 @@
         }
         #endregion
 
-        #region 鑾峰彇鎵�鏈夌綉鍏崇殑鑺傜偣璁惧淇℃伅锛堢敤浜庝富缃戝叧锛�
-        ///// <summary>
-        ///// 鑾峰彇鎵�鏈夌綉鍏崇殑鑺傜偣璁惧淇℃伅锛堢敤浜庝富缃戝叧锛�
-        ///// </summary>
-        //public static async System.Threading.Tasks.Task<List<CommonDevice>> GetAllGatewayDeviceInfoList()
-        //{
-        //    if (ZbGateway.MainGateWay == null)
-        //    {
-        //        return null;
-        //    }
-        //    ZbGateway.MainGateWay.AllGatewayDeviceList.Clear();
-        //    return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<List<CommonDevice>>>)(async () =>
-        //    {
-        //        var dateTime = DateTime.Now;
-        //        Action<string, string> action = (topic, message) =>
-        //        {
-
-        //            var gatewayID = topic.Split('/')[0];
-        //            var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
-        //            if (topic == gatewayID + "/" + "DeviceInfoRespon")
-        //            {
-        //                dateTime = DateTime.Now;
-        //                var deviceID = jobject.Value<int>("Device_ID");
-        //                switch ((DeviceType)(deviceID))
-        //                {
-        //                    case DeviceType.ColorDimmableLight:
-        //                        var dimmableLight = new ColorDimmableLight() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID") };
-        //                        dimmableLight.getAllGatewayDeviceInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<ColorDimmableLight.AllGatewayDeviceInfo>(jobject["Data"].ToString());
-        //                        if (dimmableLight.getAllGatewayDeviceInfo == null)
-        //                        {
-        //                            return;
-        //                        }
-        //                        dimmableLight.CurrentGateWayId = dimmableLight.getAllGatewayDeviceInfo.GwId;
-        //                        var light = ZbGateway.MainGateWay.AllGatewayDeviceList.Find(obj => obj.DeviceID == dimmableLight.DeviceID && obj.DeviceAddr == dimmableLight.DeviceAddr && obj.DeviceEpoint == dimmableLight.DeviceEpoint);
-        //                        if (light == null)
-        //                        {
-        //                            ZbGateway.MainGateWay.AllGatewayDeviceList.Add(dimmableLight);
-        //                            dimmableLight.DeviceName = dimmableLight.getAllGatewayDeviceInfo.MacName;
-        //                            dimmableLight.DeviceEpointName = dimmableLight.getAllGatewayDeviceInfo.DeviceName;
-        //                            dimmableLight.ImgVersion = dimmableLight.getAllGatewayDeviceInfo.ImgVersion;
-        //                            dimmableLight.IsOnline = dimmableLight.getAllGatewayDeviceInfo.IsOnline;
-        //                            dimmableLight.IasDeviceType = dimmableLight.getAllGatewayDeviceInfo.DeviceType;
-        //                            dimmableLight.Profile = dimmableLight.getAllGatewayDeviceInfo.Profile;
-        //                            dimmableLight.ImgTypeId = dimmableLight.getAllGatewayDeviceInfo.ImgTypeId;
-        //                            dimmableLight.InClusterList = dimmableLight.getAllGatewayDeviceInfo.InClusterList;
-        //                            dimmableLight.OutClusterList = dimmableLight.getAllGatewayDeviceInfo.OutClusterList;
-        //                            dimmableLight.AttributeStatus = dimmableLight.getAllGatewayDeviceInfo.AttributeStatus;
-        //                            dimmableLight.Save();
-        //                        }
-        //                        else
-        //                        {
-        //                            light.getAllGatewayDeviceInfo = dimmableLight.getAllGatewayDeviceInfo;
-        //                            light.DeviceName = dimmableLight.getAllGatewayDeviceInfo.MacName;
-        //                            light.DeviceEpointName = dimmableLight.getAllGatewayDeviceInfo.DeviceName;
-        //                            light.ImgVersion = dimmableLight.getAllGatewayDeviceInfo.ImgVersion;
-        //                            light.IsOnline = dimmableLight.getAllGatewayDeviceInfo.IsOnline;
-        //                            light.IasDeviceType = dimmableLight.getAllGatewayDeviceInfo.DeviceType;
-        //                            light.Profile = dimmableLight.getAllGatewayDeviceInfo.Profile;
-        //                            light.ImgTypeId = dimmableLight.getAllGatewayDeviceInfo.ImgTypeId;
-        //                            light.InClusterList = dimmableLight.getAllGatewayDeviceInfo.InClusterList;
-        //                            light.OutClusterList = dimmableLight.getAllGatewayDeviceInfo.OutClusterList;
-        //                            light.AttributeStatus = dimmableLight.getAllGatewayDeviceInfo.AttributeStatus;
-        //                            light.ReSave();
-        //                        }
-        //                        System.Console.WriteLine($"鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
-
-        //                        break;
-        //                    case DeviceType.OnOffOutput:
-        //                        var toggleLight = new ToggleLight() { Time = jobject.Value<int>("Time"), DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID") };
-        //                        toggleLight.getAllGatewayDeviceInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<ToggleLight.AllGatewayDeviceInfo>(jobject["Data"].ToString());
-        //                        if (toggleLight.getAllGatewayDeviceInfo == null)
-        //                        {
-        //                            return;
-        //                        }
-        //                        toggleLight.CurrentGateWayId = toggleLight.getAllGatewayDeviceInfo.GwId;
-
-        //                        var localToggleLight = ZbGateway.MainGateWay.AllGatewayDeviceList.Find(obj => obj.DeviceID == toggleLight.DeviceID && obj.DeviceAddr == toggleLight.DeviceAddr && obj.DeviceEpoint == toggleLight.DeviceEpoint);
-        //                        if (localToggleLight == null)
-        //                        {
-        //                            toggleLight.DeviceName = toggleLight.getAllGatewayDeviceInfo.MacName;
-        //                            toggleLight.DeviceEpointName = toggleLight.getAllGatewayDeviceInfo.DeviceName;
-        //                            toggleLight.ImgVersion = toggleLight.getAllGatewayDeviceInfo.ImgVersion;
-        //                            toggleLight.IsOnline = toggleLight.getAllGatewayDeviceInfo.IsOnline;
-        //                            toggleLight.IasDeviceType = toggleLight.getAllGatewayDeviceInfo.DeviceType;
-        //                            toggleLight.Profile = toggleLight.getAllGatewayDeviceInfo.Profile;
-        //                            toggleLight.ImgTypeId = toggleLight.getAllGatewayDeviceInfo.ImgTypeId;
-        //                            toggleLight.InClusterList = toggleLight.getAllGatewayDeviceInfo.InClusterList;
-        //                            toggleLight.OutClusterList = toggleLight.getAllGatewayDeviceInfo.OutClusterList;
-        //                            toggleLight.AttributeStatus = toggleLight.getAllGatewayDeviceInfo.AttributeStatus;
-        //                            ZbGateway.MainGateWay.AllGatewayDeviceList.Add(toggleLight);
-        //                            toggleLight.Save();
-
-        //                        }
-        //                        else
-        //                        {
-        //                            localToggleLight.getAllGatewayDeviceInfo = toggleLight.getAllGatewayDeviceInfo;
-        //                            localToggleLight.DeviceName = toggleLight.getAllGatewayDeviceInfo.MacName;
-        //                            localToggleLight.DeviceEpointName = toggleLight.getAllGatewayDeviceInfo.DeviceName;
-        //                            localToggleLight.ImgVersion = toggleLight.getAllGatewayDeviceInfo.ImgVersion;
-        //                            localToggleLight.IsOnline = toggleLight.getAllGatewayDeviceInfo.IsOnline;
-        //                            localToggleLight.IasDeviceType = toggleLight.getAllGatewayDeviceInfo.DeviceType;
-        //                            localToggleLight.Profile = toggleLight.getAllGatewayDeviceInfo.Profile;
-        //                            localToggleLight.ImgTypeId = toggleLight.getAllGatewayDeviceInfo.ImgTypeId;
-        //                            localToggleLight.InClusterList = toggleLight.getAllGatewayDeviceInfo.InClusterList;
-        //                            localToggleLight.OutClusterList = toggleLight.getAllGatewayDeviceInfo.OutClusterList;
-        //                            localToggleLight.AttributeStatus = toggleLight.getAllGatewayDeviceInfo.AttributeStatus;
-        //                            localToggleLight.ReSave();
-        //                        }
-        //                        System.Console.WriteLine($"鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
-
-        //                        break;
-        //                    case DeviceType.OnOffSwitch:
-        //                        var panel = new Panel() { Time = jobject.Value<int>("Time"), DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID") };
-        //                        panel.getAllGatewayDeviceInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<Panel.AllGatewayDeviceInfo>(jobject["Data"].ToString());
-        //                        if (panel.getAllGatewayDeviceInfo == null)
-        //                        {
-        //                            return;
-        //                        }
-        //                        panel.CurrentGateWayId = panel.getAllGatewayDeviceInfo.GwId;
-
-        //                        var localPanel = ZbGateway.MainGateWay.AllGatewayDeviceList.Find(obj => obj.DeviceID == panel.DeviceID && obj.DeviceAddr == panel.DeviceAddr && obj.DeviceEpoint == panel.DeviceEpoint);
-        //                        if (localPanel == null)
-        //                        {
-        //                            panel.DeviceName = panel.getAllGatewayDeviceInfo.MacName;
-        //                            panel.DeviceEpointName = panel.getAllGatewayDeviceInfo.DeviceName;
-        //                            panel.ImgVersion = panel.getAllGatewayDeviceInfo.ImgVersion;
-        //                            panel.IsOnline = panel.getAllGatewayDeviceInfo.IsOnline;
-        //                            panel.IasDeviceType = panel.getAllGatewayDeviceInfo.DeviceType;
-        //                            panel.Profile = panel.getAllGatewayDeviceInfo.Profile;
-        //                            panel.ImgTypeId = panel.getAllGatewayDeviceInfo.ImgTypeId;
-        //                            panel.InClusterList = panel.getAllGatewayDeviceInfo.InClusterList;
-        //                            panel.OutClusterList = panel.getAllGatewayDeviceInfo.OutClusterList;
-        //                            panel.AttributeStatus = panel.getAllGatewayDeviceInfo.AttributeStatus;
-        //                            if (panel.DeviceAddr != null)
-        //                            {
-        //                                ZbGateway.MainGateWay.AllGatewayDeviceList.Add(panel);
-        //                            }
-        //                            panel.Save();
-        //                        }
-        //                        else
-        //                        {
-        //                            localPanel.getAllGatewayDeviceInfo = panel.getAllGatewayDeviceInfo;
-        //                            localPanel.DeviceName = panel.getAllGatewayDeviceInfo.MacName;
-        //                            localPanel.DeviceEpointName = panel.getAllGatewayDeviceInfo.DeviceName;
-        //                            localPanel.ImgVersion = panel.getAllGatewayDeviceInfo.ImgVersion;
-        //                            localPanel.IsOnline = panel.getAllGatewayDeviceInfo.IsOnline;
-        //                            localPanel.IasDeviceType = panel.getAllGatewayDeviceInfo.DeviceType;
-        //                            localPanel.Profile = panel.getAllGatewayDeviceInfo.Profile;
-        //                            localPanel.ImgTypeId = panel.getAllGatewayDeviceInfo.ImgTypeId;
-        //                            localPanel.InClusterList = panel.getAllGatewayDeviceInfo.InClusterList;
-        //                            localPanel.OutClusterList = panel.getAllGatewayDeviceInfo.OutClusterList;
-        //                            localPanel.AttributeStatus = panel.getAllGatewayDeviceInfo.AttributeStatus;
-        //                            localPanel.ReSave();
-        //                        }
-        //                        System.Console.WriteLine($"鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
-
-        //                        break;
-        //                    case DeviceType.WindowCoveringDevice:
-        //                        var windowCovering = new Rollershade() { DeviceID = jobject.Value<int>((object)"Device_ID"), DeviceAddr = jobject.Value<string>((object)"DeviceAddr"), DeviceEpoint = jobject.Value<int>((object)"Epoint"), DataID = jobject.Value<int>((object)"Data_ID") };
-        //                        windowCovering.getAllGatewayDeviceInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<Rollershade.AllGatewayDeviceInfo>(jobject["Data"].ToString());
-        //                        if (windowCovering.getAllGatewayDeviceInfo == null)
-        //                        {
-        //                            return;
-        //                        }
-        //                        windowCovering.CurrentGateWayId = windowCovering.getAllGatewayDeviceInfo.GwId;
-
-        //                        var wc = ZbGateway.MainGateWay.AllGatewayDeviceList.Find(obj => obj.DeviceID == windowCovering.DeviceID && obj.DeviceAddr == windowCovering.DeviceAddr && obj.DeviceEpoint == windowCovering.DeviceEpoint);
-        //                        if (wc == null)
-        //                        {
-        //                            windowCovering.DeviceName = windowCovering.getAllGatewayDeviceInfo.MacName;
-        //                            windowCovering.DeviceEpointName = windowCovering.getAllGatewayDeviceInfo.DeviceName;
-        //                            windowCovering.ImgVersion = windowCovering.getAllGatewayDeviceInfo.ImgVersion;
-        //                            windowCovering.IsOnline = windowCovering.getAllGatewayDeviceInfo.IsOnline;
-        //                            windowCovering.IasDeviceType = windowCovering.getAllGatewayDeviceInfo.DeviceType;
-        //                            windowCovering.Profile = windowCovering.getAllGatewayDeviceInfo.Profile;
-        //                            windowCovering.ImgTypeId = windowCovering.getAllGatewayDeviceInfo.ImgTypeId;
-        //                            windowCovering.InClusterList = windowCovering.getAllGatewayDeviceInfo.InClusterList;
-        //                            windowCovering.OutClusterList = windowCovering.getAllGatewayDeviceInfo.OutClusterList;
-        //                            windowCovering.AttributeStatus = windowCovering.getAllGatewayDeviceInfo.AttributeStatus;
-        //                            ZbGateway.MainGateWay.AllGatewayDeviceList.Add(windowCovering);
-        //                            windowCovering.Save();
-
-        //                        }
-        //                        else
-        //                        {
-        //                            wc.getAllGatewayDeviceInfo = windowCovering.getAllGatewayDeviceInfo;
-        //                            wc.DeviceName = windowCovering.getAllGatewayDeviceInfo.MacName;
-        //                            wc.DeviceEpointName = windowCovering.getAllGatewayDeviceInfo.DeviceName;
-        //                            wc.ImgVersion = windowCovering.getAllGatewayDeviceInfo.ImgVersion;
-        //                            wc.IsOnline = windowCovering.getAllGatewayDeviceInfo.IsOnline;
-        //                            wc.IasDeviceType = windowCovering.getAllGatewayDeviceInfo.DeviceType;
-        //                            wc.Profile = windowCovering.getAllGatewayDeviceInfo.Profile;
-        //                            wc.ImgTypeId = windowCovering.getAllGatewayDeviceInfo.ImgTypeId;
-        //                            wc.InClusterList = windowCovering.getAllGatewayDeviceInfo.InClusterList;
-        //                            wc.OutClusterList = windowCovering.getAllGatewayDeviceInfo.OutClusterList;
-        //                            wc.AttributeStatus = windowCovering.getAllGatewayDeviceInfo.AttributeStatus;
-        //                            wc.ReSave();
-        //                        }
-        //                        System.Console.WriteLine($"鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
-
-        //                        break;
-        //                    case DeviceType.IASZone:
-        //                        var ias = new IASZone() { Time = jobject.Value<int>("Time"), DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID") };
-        //                        ias.getAllGatewayDeviceInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<IASZone.AllGatewayDeviceInfo>(jobject["Data"].ToString());
-        //                        if (ias.getAllGatewayDeviceInfo == null)
-        //                        {
-        //                            return;
-        //                        }
-        //                        ias.CurrentGateWayId = ias.getAllGatewayDeviceInfo.GwId;
-
-        //                        var infoIAS = ZbGateway.MainGateWay.AllGatewayDeviceList.Find(obj => obj.DeviceID == ias.DeviceID && obj.DeviceAddr == ias.DeviceAddr && obj.DeviceEpoint == ias.DeviceEpoint);
-        //                        if (infoIAS == null)
-        //                        {
-        //                            ZbGateway.MainGateWay.AllGatewayDeviceList.Add(ias);
-        //                            ias.DeviceName = ias.getAllGatewayDeviceInfo.MacName;
-        //                            ias.DeviceEpointName = ias.getAllGatewayDeviceInfo.DeviceName;
-        //                            ias.ImgVersion = ias.getAllGatewayDeviceInfo.ImgVersion;
-        //                            ias.IsOnline = ias.getAllGatewayDeviceInfo.IsOnline;
-        //                            ias.IasDeviceType = ias.getAllGatewayDeviceInfo.DeviceType;
-        //                            ias.Profile = ias.getAllGatewayDeviceInfo.Profile;
-        //                            ias.ImgTypeId = ias.getAllGatewayDeviceInfo.ImgTypeId;
-        //                            ias.InClusterList = ias.getAllGatewayDeviceInfo.InClusterList;
-        //                            ias.OutClusterList = ias.getAllGatewayDeviceInfo.OutClusterList;
-        //                            ias.AttributeStatus = ias.getAllGatewayDeviceInfo.AttributeStatus;
-        //                            ias.Save();
-        //                        }
-        //                        else
-        //                        {
-        //                            infoIAS.DeviceName = ias.getAllGatewayDeviceInfo.MacName;
-        //                            infoIAS.DeviceEpointName = ias.getAllGatewayDeviceInfo.DeviceName;
-        //                            infoIAS.getAllGatewayDeviceInfo = ias.getAllGatewayDeviceInfo;
-        //                            infoIAS.ImgVersion = ias.getAllGatewayDeviceInfo.ImgVersion;
-        //                            infoIAS.IsOnline = ias.getAllGatewayDeviceInfo.IsOnline;
-        //                            infoIAS.IasDeviceType = ias.getAllGatewayDeviceInfo.DeviceType;
-        //                            infoIAS.Profile = ias.getAllGatewayDeviceInfo.Profile;
-        //                            infoIAS.ImgTypeId = ias.getAllGatewayDeviceInfo.ImgTypeId;
-        //                            infoIAS.InClusterList = ias.getAllGatewayDeviceInfo.InClusterList;
-        //                            infoIAS.OutClusterList = ias.getAllGatewayDeviceInfo.OutClusterList;
-        //                            infoIAS.AttributeStatus = ias.getAllGatewayDeviceInfo.AttributeStatus;
-        //                            ias.ReSave();
-        //                        }
-        //                        System.Console.WriteLine($"鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
-        //                        break;
-        //                    case DeviceType.OtaDevice:
-        //                    case DeviceType.OtaPanelDevice:
-        //                        var ota = new OTADevice() { Time = jobject.Value<int>("Time"), DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID") };
-        //                        ota.getAllGatewayDeviceInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<AllGatewayDeviceInfo>(jobject["Data"].ToString());
-        //                        if (ota.getAllGatewayDeviceInfo == null)
-        //                        {
-        //                            return;
-        //                        }
-        //                        ota.CurrentGateWayId = ota.getAllGatewayDeviceInfo.GwId;
-
-        //                        var infoOta = ZbGateway.MainGateWay.AllGatewayDeviceList.Find(obj => obj.DeviceID == ota.DeviceID && obj.DeviceAddr == ota.DeviceAddr && obj.DeviceEpoint == ota.DeviceEpoint);
-        //                        if (infoOta == null)
-        //                        {
-        //                            ZbGateway.MainGateWay.AllGatewayDeviceList.Add(ota);
-        //                            ota.DeviceName = ota.getAllGatewayDeviceInfo.MacName;
-        //                            ota.DeviceEpointName = ota.getAllGatewayDeviceInfo.DeviceName;
-        //                            ota.ImgVersion = ota.getAllGatewayDeviceInfo.ImgVersion;
-        //                            ota.IsOnline = ota.getAllGatewayDeviceInfo.IsOnline;
-        //                            ota.IasDeviceType = ota.getAllGatewayDeviceInfo.DeviceType;
-        //                            ota.Profile = ota.getAllGatewayDeviceInfo.Profile;
-        //                            ota.ImgTypeId = ota.getAllGatewayDeviceInfo.ImgTypeId;
-        //                            ota.InClusterList = ota.getAllGatewayDeviceInfo.InClusterList;
-        //                            ota.OutClusterList = ota.getAllGatewayDeviceInfo.OutClusterList;
-        //                            ota.AttributeStatus = ota.getAllGatewayDeviceInfo.AttributeStatus;
-        //                            ota.Save();
-        //                        }
-        //                        else
-        //                        {
-        //                            infoOta.DeviceName = ota.getAllGatewayDeviceInfo.MacName;
-        //                            infoOta.DeviceEpointName = ota.getAllGatewayDeviceInfo.DeviceName;
-        //                            infoOta.getAllGatewayDeviceInfo = ota.getAllGatewayDeviceInfo;
-        //                            infoOta.ImgVersion = ota.getAllGatewayDeviceInfo.ImgVersion;
-        //                            infoOta.IsOnline = ota.getAllGatewayDeviceInfo.IsOnline;
-        //                            infoOta.IasDeviceType = ota.getAllGatewayDeviceInfo.DeviceType;
-        //                            infoOta.Profile = ota.getAllGatewayDeviceInfo.Profile;
-        //                            infoOta.ImgTypeId = ota.getAllGatewayDeviceInfo.ImgTypeId;
-        //                            infoOta.InClusterList = ota.getAllGatewayDeviceInfo.InClusterList;
-        //                            infoOta.OutClusterList = ota.getAllGatewayDeviceInfo.OutClusterList;
-        //                            infoOta.AttributeStatus = ota.getAllGatewayDeviceInfo.AttributeStatus;
-        //                            ota.ReSave();
-        //                        }
-        //                        System.Console.WriteLine($"鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
-        //                        break;
-        //                        //case DeviceType.Thermostat:
-        //                        //var thermostat = new ThermostatObj() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = ZbGateway.MainGateWay.getGatewayBaseInfo.gwID };
-        //                        //thermostat.DeviceInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<ThermostatObj.DeviceInfoData>(jobject["Data"].ToString());
-        //                        //if (thermostat.DeviceInfo == null)
-        //                        //{
-        //                        //    return;
-        //                        //}
-        //                        // var ther = ZbGateway.MainGateWay.AllGatewayDeviceList.Find(obj => obj.DeviceID == thermostat.DeviceID && obj.DeviceAddr == thermostat.DeviceAddr && obj.DeviceEpoint == thermostat.DeviceEpoint);
-        //                        //if (ther == null)
-        //                        //{
-        //                        //    thermostat.DeviceName = thermostat.DeviceInfo.DeviceName;
-        //                        //    ZbGateway.MainGateWay.AllGatewayDeviceList.Add(thermostat);
-        //                        //}
-        //                        //else
-        //                        //{
-        //                        //    thermostat.DeviceName = thermostat.DeviceInfo.DeviceName;
-        //                        //    ZigBee.IO.LocalFileUtils.SaveDeviceInfo(thermostat, thermostat.DeviceEpoint.ToString());
-        //                        //}
-        //                        //break;
-        //                        //case DeviceType.TemperatureSensor:
-        //                        //    var temperatureSensor = new TemperatureSensor() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = ZbGateway.MainGateWay.getGatewayBaseInfo.gwID };
-        //                        //    temperatureSensor.DeviceInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<TemperatureSensor.DeviceInfoData>(jobject["Data"].ToString());
-        //                        //    if (temperatureSensor.DeviceInfo == null)
-        //                        //    {
-        //                        //        return;
-        //                        //    }
-        //                        //     var ts = ZbGateway.MainGateWay.AllGatewayDeviceList.Find(obj => obj.DeviceID == temperatureSensor.DeviceID && obj.DeviceAddr == temperatureSensor.DeviceAddr && obj.DeviceEpoint == temperatureSensor.DeviceEpoint);
-        //                        //    if (ts == null)
-        //                        //    {
-        //                        //        temperatureSensor.DeviceName = temperatureSensor.DeviceInfo.DeviceName;
-        //                        //        ZbGateway.MainGateWay.AllGatewayDeviceList.Add(temperatureSensor);
-
-        //                        //    }
-        //                        //    else
-        //                        //    {
-        //                        //        temperatureSensor.DeviceName = temperatureSensor.DeviceInfo.DeviceName;
-        //                        //        IO.LocalFileUtils.SaveDeviceInfo(temperatureSensor, temperatureSensor.DeviceEpoint.ToString());
-        //                        //    }
-        //                        //    break;
-
-        //                }
-        //            }
-        //        };
-
-        //        ZbGateway.MainGateWay.Actions += action;
-        //        System.Console.WriteLine("MainGatewayDeviceInfo_Actions 鍚姩" + System.DateTime.Now.ToString());
-
-        //        var jObject = new JObject { { "Cluster_ID",  0 }, { "Command", 90 } };
-        //        ZbGateway.MainGateWay.CurrentGateWayId = ZbGateway.MainGateWay.getGatewayBaseInfo?.gwID;
-        //        ZbGateway.MainGateWay.Send("GetAllDeviceInfo", Common.SecuritySet.Encryption(jObject.ToString()));
-
-        //        while ((DateTime.Now - dateTime).TotalMilliseconds < 4000)
-        //        {
-        //            await System.Threading.Tasks.Task.Delay(100);
-        //        }
-
-        //        ZbGateway.MainGateWay.Actions -= action;
-        //        System.Console.WriteLine("MainGatewayDeviceInfo_Actions 閫�鍑�" + System.DateTime.Now.ToString());
-        //        return ZbGateway.MainGateWay.AllGatewayDeviceList;
-        //    }));
-        //}
-        #endregion
-
         #region 缃戝叧鎭㈠鍑哄巶璁剧疆
         /// <summary>
         /// 缃戝叧鎭㈠鍑哄巶璁剧疆杩斿洖鐨勬暟鎹�.
         /// </summary>
-        public GwLinuxResetResponData gwLinuxResetResponData;
-        /// <summary>
-        /// 缃戝叧鎭㈠鍑哄巶璁剧疆杩斿洖鐨勬暟鎹�.
-        /// </summary>
         [System.Serializable]
-        public class GwLinuxResetResponData
+        public class GwLinuxResetResponData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>缃戝叧鎭㈠鍑哄巶璁剧疆</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             ///<summary >
             /// <para>0锛氬懡浠ゅ凡鎺ユ敹锛岀郴缁熷嵆灏嗘仮澶嶅嚭鍘傚苟閲嶅惎銆�</para>
             /// </summary>
@@ -816,32 +423,15 @@
         /// <summary>
         /// 閲嶅惎缃戝叧绯荤粺杩斿洖鏁版嵁
         /// </summary>
-        public GwRebootResponAllData gwRebootResponAllData;
-        /// <summary>
-        /// 閲嶅惎缃戝叧绯荤粺杩斿洖鏁版嵁
-        /// </summary>
         [System.Serializable]
-        public class GwRebootResponAllData
+        public class GwRebootResponAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             ///<summary >
             /// <para>杩斿洖鍊兼槸0:鍛戒护宸叉帴鏀讹紝绯荤粺鍗冲皢閲嶅惎銆�</para>
             /// </summary>
             public int Result = 999;
         }
 
-        /// <summary>
-        /// 閲嶅惎缃戝叧绯荤粺杩斿洖鏁版嵁
-        /// </summary>
-        public GwRebootResponData gwRebootResponData;
         /// <summary>
         /// 閲嶅惎缃戝叧绯荤粺杩斿洖鏁版嵁
         /// </summary>
@@ -860,32 +450,15 @@
         /// <summary>
         /// 淇濆瓨zigbee鍗忚皟鍣ㄧ粍缃戜俊鎭�,缃戝叧鍙嶉鍏蜂綋淇℃伅
         /// </summary>
-        public SaveNVFileResponseAllData saveNVFileResponseData;
-        /// <summary>
-        /// 淇濆瓨zigbee鍗忚皟鍣ㄧ粍缃戜俊鎭�,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class SaveNVFileResponseAllData
+        public class SaveNVFileResponseAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 淇濆瓨zigbee鍗忚皟鍣ㄧ粍缃戜俊鎭�
             /// </summary>
             public SaveNVFileResponseData saveNVFileResponseData;
         }
 
-        /// <summary>
-        /// 淇濆瓨zigbee鍗忚皟鍣ㄧ粍缃戜俊鎭�
-        /// </summary>
-        public SaveNVFileResponseData zbGwOperationSaveNVFileData;
         /// <summary>
         /// 淇濆瓨zigbee鍗忚皟鍣ㄧ粍缃戜俊鎭�
         /// </summary>
@@ -906,32 +479,15 @@
         /// <summary>
         /// 鍗忚皟鍣ㄦ仮澶嶇粍缃戜俊鎭�,缃戝叧鍙嶉鍏蜂綋淇℃伅
         /// </summary>
-        public RestoreNVAllDtta restoreNVAllDtta;
-        /// <summary>
-        /// 鍗忚皟鍣ㄦ仮澶嶇粍缃戜俊鎭�,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class RestoreNVAllDtta
+        public class RestoreNVAllDtta : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鍗忚皟鍣ㄦ仮澶嶇粍缃戜俊鎭�
             /// </summary>
             public RestoreNVDtta restoreNVDtta;
         }
 
-        /// <summary>
-        /// 鍗忚皟鍣ㄦ仮澶嶇粍缃戜俊鎭�
-        /// </summary>
-        public RestoreNVDtta restoreNVDtta;
         /// <summary>
         /// 鍗忚皟鍣ㄦ仮澶嶇粍缃戜俊鎭�
         /// </summary>
@@ -950,25 +506,24 @@
         #endregion
 
         #region 鍗忚皟鍣ㄥ崌绾�
+
         /// <summary>
-        /// 鍗忚皟鍣ㄥ崌绾�,缃戝叧鍙嶉鍏蜂綋淇℃伅
+        /// 涓嬭浇杩涘害
+        /// </summary
+        [Newtonsoft.Json.JsonIgnore]
+        public CommonDevice.DownloadFileProgressResponData downloadFileProgressResponData = null;
+        /// <summary>
+        /// 鍚姩鍗囩骇
         /// </summary>
-        public ZbGwOperationUpgradeAllData zbGwOperationUpgradeAllData;
+        [Newtonsoft.Json.JsonIgnore]
+        public CommonDevice.OTAScheduleResponData oTAScheduleResponData = null;
+
         /// <summary>
         /// 鍗忚皟鍣ㄥ崌绾�,缃戝叧鍙嶉鍏蜂綋淇℃伅
         /// </summary>
         [System.Serializable]
-        public class ZbGwOperationUpgradeAllData
+        public class ZbGwOperationUpgradeAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鍗忚皟鍣ㄥ崌绾�
             /// </summary>
@@ -978,6 +533,7 @@
         /// <summary>
         /// 鍗忚皟鍣ㄥ崌绾�
         /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
         public ZbGwOperationUpgradeData zbGwOperationUpgradeData;
         /// <summary>
         /// 鍗忚皟鍣ㄥ崌绾�
@@ -1008,22 +564,9 @@
         /// <summary>
         /// 鍗囩骇铏氭嫙椹卞姩璁惧,缃戝叧鍙嶉鍏蜂綋淇℃伅
         /// </summary>
-        public VirtualDriveUpgradeResponseAllData virtualDriveUpgradeResponseAllData;
-        /// <summary>
-        /// 鍗囩骇铏氭嫙椹卞姩璁惧,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class VirtualDriveUpgradeResponseAllData
+        public class VirtualDriveUpgradeResponseAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鍗囩骇铏氭嫙椹卞姩璁惧
             /// </summary>
@@ -1032,7 +575,11 @@
         /// <summary>
         /// 鍗囩骇铏氭嫙椹卞姩璁惧
         /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
         public VirtualDriveUpgradeResponData virtualDriveUpgradeResponData;
+        /// <summary>
+        /// 鍗囩骇铏氭嫙椹卞姩璁惧
+        /// </summary>
         [System.Serializable]
         public class VirtualDriveUpgradeResponData
         {
@@ -1061,22 +608,9 @@
         /// <summary>
         /// 鏌ョ湅缃戝叧璁板綍鐨勮櫄鎷熼┍鍔�,缃戝叧鍙嶉鍏蜂綋淇℃伅
         /// </summary>
-        public CheckVDDriveCodeResponseAllData checkVDDriveCodeResponseAllData;
-        /// <summary>
-        /// 鏌ョ湅缃戝叧璁板綍鐨勮櫄鎷熼┍鍔�,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class CheckVDDriveCodeResponseAllData
+        public class CheckVDDriveCodeResponseAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鏌ョ湅缃戝叧璁板綍鐨勮櫄鎷熼┍鍔�
             /// </summary>
@@ -1085,7 +619,6 @@
         /// <summary>
         /// 鏌ョ湅缃戝叧璁板綍鐨勮櫄鎷熼┍鍔�
         /// </summary>
-        public VDriveDriveCodeResponData vDriveDriveCodeResponData;
         [System.Serializable]
         public class VDriveDriveCodeResponData
         {
@@ -1127,22 +660,9 @@
         /// <summary>
         /// 缃戝叧绯荤粺鍗囩骇,缃戝叧鍙嶉鍏蜂綋淇℃伅
         /// </summary>
-        public LinuxUpgradeAllData linuxUpgradeAllData;
-        /// <summary>
-        /// 缃戝叧绯荤粺鍗囩骇,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class LinuxUpgradeAllData
+        public class LinuxUpgradeAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 0锛氭甯革紙榛樿鍥炲锛�
             ///<para>1锛氭壘涓嶅埌鍗囩骇鍥轰欢锛岃矾寰勬垨鍗囩骇鍥轰欢鍚嶇О閿欒銆�</para>
@@ -1158,22 +678,9 @@
         /// <summary>
         /// 鑾峰彇鍗忚皟鍣ㄥ綋鍓嶄俊閬�,缃戝叧鍙嶉鍏蜂綋淇℃伅
         /// </summary>
-        public GwGetChannelResponData zbGwGetChannelResponData;
-        /// <summary>
-        /// 鑾峰彇鍗忚皟鍣ㄥ綋鍓嶄俊閬�,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class GwGetChannelResponData
+        public class GwGetChannelResponData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鍗忚皟鍣ㄥ綋鍓嶄俊閬�
             /// </summary>
@@ -1186,32 +693,15 @@
         /// <summary>
         /// 鏇存敼鍗忚皟鍣ㄥ綋鍓嶄俊閬�,缃戝叧鍙嶉鍏蜂綋淇℃伅
         /// </summary>
-        public ChangeChannelResponAllData changeChannelResponAllData;
-        /// <summary>
-        /// 鏇存敼鍗忚皟鍣ㄥ綋鍓嶄俊閬�,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class ChangeChannelResponAllData
+        public class ChangeChannelResponAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鏇存敼鍗忚皟鍣ㄥ綋鍓嶄俊閬撴暟鎹�
             /// </summary>
             public ChangeChannelResponData changeChannelResponData;
         }
 
-        /// <summary>
-        /// 鏇存敼鍗忚皟鍣ㄥ綋鍓嶄俊閬撴暟鎹�
-        /// </summary>
-        public ChangeChannelResponData changeChannelResponData;
         /// <summary>
         /// 鏇存敼鍗忚皟鍣ㄥ綋鍓嶄俊閬撴暟鎹�
         /// </summary>
@@ -1232,433 +722,13 @@
         }
         #endregion
 
-        //#region 鑾峰彇鍗忚皟鍣ㄨ幏鍙栧崗璋冨櫒褰撳墠鍙戝皠鍔熺巼.
-        /////<summary >
-        ///// 鑾峰彇鍗忚皟鍣ㄨ幏鍙栧崗璋冨櫒褰撳墠鍙戝皠鍔熺巼
-        ///// </summary>
-        //public static async System.Threading.Tasks.Task<GwGetPowerResponData> GetPowerAsync(ZigBee.Device.ZbGateway gateway)
-        //{
-        //    if (gateway == null)
-        //    {
-        //        return null;
-        //    }
-        //    return await System.Threading.Tasks.Task.Run(async () =>
-        //    {
-        //        GwGetPowerResponData d = null;
-        //        Action<string, string> action = (topic, message) =>
-        //        {
-        //            var gatewayID = topic.Split('/')[0];
-        //            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 = gateway.getGatewayBaseInfo.gwID };
-        //                var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString());
-
-        //                if (temp == null)
-        //                {
-        //                    d = new GwGetPowerResponData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" };
-        //                }
-        //                else
-        //                {
-        //                    d = new GwGetPowerResponData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) };
-
-        //                }
-        //            }
-
-        //            if (topic == gatewayID + "/" + "ZbGw/GetPower_Respon")
-        //            {
-        //                var gatewayTemp = new ZbGateway() { DataID = jobject.Value<int>("Data_ID") };
-        //                var power = Newtonsoft.Json.JsonConvert.DeserializeObject<int>(jobject["Data"]["Power"].ToString());
-
-        //                if (power == 0)
-        //                {
-        //                    d = new GwGetPowerResponData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
-        //                }
-        //                else
-        //                {
-        //                    d = new GwGetPowerResponData { power = power };
-        //                    DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
-        //                }
-        //            }
-        //        };
-
-        //        gateway.Actions += action;
-        //        System.Console.WriteLine("GetPower_Actions 鍚姩" + "_" + System.DateTime.Now.ToString());
-
-        //        var jObject = new JObject { { "Cluster_ID", 64512 }, { "Command", 10 } };
-        //         gateway.Send(("ZbGw/GetPower"), Common.SecuritySet.Encryption((jObject.ToString())));
-
-        //        var dateTime = DateTime.Now;
-        //        while ((DateTime.Now - dateTime).TotalMilliseconds < 1000)
-        //        {
-        //            await System.Threading.Tasks.Task.Delay(10);
-        //            if (d != null)
-        //            {
-        //                break;
-        //            }
-        //        }
-        //        if ((DateTime.Now - dateTime).TotalMilliseconds > 1000)
-        //        {
-        //            d = new GwGetPowerResponData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
-
-        //        }
-        //        gateway.Actions -= action;
-        //        System.Console.WriteLine("GetPower_Actions 閫�鍑�" + "_" + System.DateTime.Now.ToString());
-
-        //        return d;
-        //    });
-        //}
-
-        ///// <summary>
-        ///// 鑾峰彇鍗忚皟鍣ㄨ幏鍙栧崗璋冨櫒褰撳墠鍙戝皠鍔熺巼,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        ///// </summary>
-        //public GwGetPowerResponData gwGetPowerResponData;
-        ///// <summary>
-        ///// 鑾峰彇鍗忚皟鍣ㄨ幏鍙栧崗璋冨櫒褰撳墠鍙戝皠鍔熺巼,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        ///// </summary>
-        //[System.Serializable]
-        //public class GwGetPowerResponData
-        //{
-        //    /// <summary>
-        //    /// 閿欒淇℃伅
-        //    /// </summary>
-        //    public string errorMessageBase;
-        //    /// <summary>
-        //    /// 缃戝叧淇℃伅閿欒鍙嶉
-        //    /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-        //    /// </summary>
-        //    public ErrorResponData errorResponData;
-        //    /// <summary>
-        //    /// 鍗忚皟鍣ㄥ彂灏勫姛鐜�
-        //    /// </summary>
-        //    public int power = 999;
-        //}
-
-        //#endregion
-
-        //#region 璁剧疆鍙戝皠鍔�.
-        /////<summary >
-        /////璁剧疆鍙戝皠鍔熺巼
-        ///// <para>power:瑕佹洿鏀圭殑璁惧鍙戝皠鍔熺巼锛屽彲璁剧疆8,10,11,13,15,16,18,19,20,21,22(dBm)</para>
-        ///// </summary>
-        //public static async System.Threading.Tasks.Task<SetPowerResponAllData> GwSetPowerAsync(ZigBee.Device.ZbGateway gateway, int power)
-        //{
-        //    if (gateway == null)
-        //    {
-        //        return null;
-        //    }
-        //    return await System.Threading.Tasks.Task.Run(async () =>
-        //    {
-        //        SetPowerResponAllData d = null;
-        //        Action<string, string> action = (topic, message) =>
-        //        {
-        //            var gatewayID = topic.Split('/')[0];
-        //            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 = gateway.getGatewayBaseInfo.gwID };
-        //                var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString());
-
-        //                if (temp == null)
-        //                {
-        //                    d = new SetPowerResponAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" };
-        //                }
-        //                else
-        //                {
-        //                    d = new SetPowerResponAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) };
-        //                }
-        //            }
-
-        //            if (topic == gatewayID + "/" + "ZbGw/SetPower_Respon")
-        //            {
-        //                var gatewayTemp = new ZbGateway() { DataID = jobject.Value<int>("Data_ID") };
-        //                var tempInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<SetPoweResponData>(jobject["Data"].ToString());
-
-        //                if (tempInfo == null)
-        //                {
-        //                    d = new SetPowerResponAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
-        //                }
-        //                else
-        //                {
-        //                    d = new SetPowerResponAllData { setPoweResponData = tempInfo };
-        //                    DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
-        //                }
-        //            }
-        //        };
-
-        //        gateway.Actions += action;
-        //        System.Console.WriteLine("ZbGw/SetPower_Actions 鍚姩" + "_" + System.DateTime.Now.ToString());
-
-        //        var jObject = new JObject { { "Cluster_ID", 64512 }, { "Command", 11 } };
-        //        var data = new JObject { { "Power", power } };
-        //        jObject.Add("Data", data);
-        //         gateway.Send(("ZbGw/SetPower"), Common.SecuritySet.Encryption(jObject.ToString(),Password));
-
-        //        var dateTime = DateTime.Now;
-        //        while ((DateTime.Now - dateTime).TotalMilliseconds < 1000)
-        //        {
-        //            await System.Threading.Tasks.Task.Delay(10);
-        //            if (d != null)
-        //            {
-        //                break;
-        //            }
-        //        }
-        //        if ((DateTime.Now - dateTime).TotalMilliseconds > 1000)
-        //        {
-        //            d = new SetPowerResponAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
-        //        }
-        //        gateway.Actions -= action;
-        //        System.Console.WriteLine("ZbGw/SetPower_Actions閫�鍑�" + "_" + System.DateTime.Now.ToString());
-
-        //        return d;
-        //    });
-        //}
-
-        ///// <summary>
-        ///// 璁剧疆鍙戝皠鍔熺巼,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        ///// </summary>
-        //public SetPowerResponAllData setPoweResponAllData;
-        ///// <summary>
-        ///// 璁剧疆鍙戝皠鍔熺巼,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        ///// </summary>
-        //[System.Serializable]
-        //public class SetPowerResponAllData
-        //{
-        //    /// <summary>
-        //    /// 閿欒淇℃伅
-        //    /// </summary>
-        //    public string errorMessageBase;
-        //    /// <summary>
-        //    /// 缃戝叧淇℃伅閿欒鍙嶉
-        //    /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-        //    /// </summary>
-        //    public ErrorResponData errorResponData;
-        //    /// <summary>
-        //    /// 璁剧疆鍙戝皠鍔熺巼鏁版嵁
-        //    /// </summary>
-        //    public SetPoweResponData setPoweResponData;
-        //}
-
-        ///// <summary>
-        ///// 璁剧疆鍙戝皠鍔熺巼鏁版嵁
-        ///// </summary>
-        //public SetPoweResponData setPoweResponData;
-        ///// <summary>
-        ///// 璁剧疆鍙戝皠鍔熺巼鏁版嵁
-        ///// </summary>
-        //[System.Serializable]
-        //public class SetPoweResponData
-        //{
-        //    /// <summary>
-        //    /// 鏄惁閰嶇疆鎴愬姛
-        //    ///<para>0锛氭垚鍔�</para>
-        //    ///<para>2锛氶厤缃殑淇¢亾涓烘棤鏁堝��</para>
-        //    /// </summary>
-        //    public int Status = 999;
-        //    /// <summary>
-        //    /// 鍔熺巼
-        //    /// </summary>
-        //    public int Power = 999;
-        //}
-        //#endregion
-
-        //#region 璇诲彇褰撳墠灞�鍩熺綉鐨凱ANID.
-        /////<summary >
-        ///// 璇诲彇褰撳墠灞�鍩熺綉鐨凱ANID
-        ///// </summary>
-        //public static async System.Threading.Tasks.Task<GetPanIdResponData> ReadPanIdAsync(ZigBee.Device.ZbGateway gateway)
-        //{
-        //    if (gateway == null)
-        //    {
-        //        return null;
-        //    }
-        //    return await System.Threading.Tasks.Task.Run(async () =>
-        //    {
-        //        GetPanIdResponData d = null;
-        //        Action<string, string> action = (topic, message) =>
-        //        {
-        //            var gatewayID = topic.Split('/')[0];
-        //            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 = gateway.getGatewayBaseInfo.gwID };
-        //                var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString());
-
-        //                if (temp == null)
-        //                {
-        //                    d = new GetPanIdResponData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" };
-        //                }
-        //                else
-        //                {
-        //                    d = new GetPanIdResponData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) };
-        //                }
-        //            }
-
-        //            if (topic == gatewayID + "/" + "ZbGw/GetPanId_Respon")
-        //            {
-        //                var gatewayTemp = new ZbGateway() { DataID = jobject.Value<int>("Data_ID") };
-        //                var panID = Newtonsoft.Json.JsonConvert.DeserializeObject<int>(jobject["Data"]["PANID"].ToString());
-
-        //                if (panID == null)
-        //                {
-        //                    d = new GetPanIdResponData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
-
-        //                }
-        //                else
-        //                {
-        //                    d = new GetPanIdResponData { panID = panID };
-        //                    DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
-        //                }
-        //            }
-        //        };
-
-        //        gateway.Actions += action;
-        //        System.Console.WriteLine("ZbGw/GetPanId_Actions 鍚姩" + "_" + System.DateTime.Now.ToString());
-
-        //        var jObject = new JObject { { "Cluster_ID", 64512 }, { "Command", 12 } };
-        //         gateway.Send(("ZbGw/GetPanId"), Common.SecuritySet.Encryption((jObject.ToString())));
-
-        //        var dateTime = DateTime.Now;
-        //        while ((DateTime.Now - dateTime).TotalMilliseconds < 1000)
-        //        {
-        //            await System.Threading.Tasks.Task.Delay(10);
-        //            if (d != null)
-        //            {
-        //                break;
-        //            }
-        //        }
-        //        if ((DateTime.Now - dateTime).TotalMilliseconds > 1000)
-        //        {
-        //            d = new GetPanIdResponData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
-        //        }
-        //        gateway.Actions -= action;
-        //        System.Console.WriteLine("ZbGw/GetPanId_Actions 閫�鍑�" + "_" + System.DateTime.Now.ToString());
-
-        //        return d;
-        //    });
-        //}
-
-        ///// <summary>
-        ///// 璇诲彇褰撳墠灞�鍩熺綉鐨凱ANID,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        ///// </summary>
-        //public GetPanIdResponData getPanIdResponData;
-        ///// <summary>
-        ///// 璇诲彇褰撳墠灞�鍩熺綉鐨凱ANID,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        ///// </summary>
-        //[System.Serializable]
-        //public class GetPanIdResponData
-        //{
-        //    /// <summary>
-        //    /// 閿欒淇℃伅
-        //    /// </summary>
-        //    public string errorMessageBase;
-        //    /// <summary>
-        //    /// 缃戝叧淇℃伅閿欒鍙嶉
-        //    /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-        //    /// </summary>
-        //    public ErrorResponData errorResponData;
-        //    /// <summary>
-        //    /// 褰撳墠缃戠粶鐨凱ANID
-        //    /// </summary>
-        //    public int panID = 999;
-        //}
-
-        //#endregion
-
-        //#region 璇诲彇鍗忚皟鍣∕AC鍦板潃.
-        /////<summary >
-        ///// 璇诲彇鍗忚皟鍣∕AC鍦板潃
-        ///// </summary>
-        //public static async System.Threading.Tasks.Task<GetMacResponData> ReadMacAsync(ZigBee.Device.ZbGateway gateway)
-        //{
-        //    if (gateway == null)
-        //    {
-        //        return null;
-        //    }
-        //    return await System.Threading.Tasks.Task.Run(async () =>
-        //    {
-        //        GetMacResponData d = null;
-        //        Action<string, string> action = (topic, message) =>
-        //        {
-        //            var gatewayID = topic.Split('/')[0];
-        //            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 = gateway.getGatewayBaseInfo.gwID };
-        //                var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString());
-
-        //                if (temp == null)
-        //                {
-        //                    d = new GetMacResponData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" };
-        //                }
-        //                else
-        //                {
-        //                    d = new GetMacResponData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) };
-        //                }
-        //            }
-
-        //            if (topic == gatewayID + "/" + "ZbGw/GetMac_Respon")
-        //            {
-        //                var gatewayTemp = new ZbGateway() { DataID = jobject.Value<int>("Data_ID") };
-        //                var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<MacAddrData>(jobject["Data"].ToString());
-
-        //                if (tempData == null)
-        //                {
-        //                    d = new GetMacResponData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
-        //                }
-        //                else
-        //                {
-        //                    d = new GetMacResponData { macAddrData = tempData };
-        //                    DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
-        //                }
-        //            }
-        //        };
-
-        //        gateway.Actions += action;
-        //        var jObject = new JObject { { "Cluster_ID", 64512 }, { "Command", 13 } };
-        //         gateway.Send(("ZbGw/GetMac"), Common.SecuritySet.Encryption((jObject.ToString())));
-
-        //        var dateTime = DateTime.Now;
-        //        while ((DateTime.Now - dateTime).TotalMilliseconds < 1000)
-        //        {
-        //            await System.Threading.Tasks.Task.Delay(10);
-        //            if (d != null)
-        //            {
-        //                break;
-        //            }
-        //        }
-        //        if ((DateTime.Now - dateTime).TotalMilliseconds > 10000)
-        //        {
-        //            d = new GetMacResponData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
-        //        }
-        //        gateway.Actions -= action;
-        //        return d;
-        //    });
-        //}
-
-        /// <summary>
-        /// 璇诲彇鍗忚皟鍣∕AC鍦板潃,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        /// </summary>
-        public GetMacResponData getMacResponData;
+        #region 璇诲彇鍗忚皟鍣∕AC鍦板潃
         /// <summary>
         /// 璇诲彇鍗忚皟鍣∕AC鍦板潃,缃戝叧鍙嶉鍏蜂綋淇℃伅
         /// </summary>
         [System.Serializable]
-        public class GetMacResponData
+        public class GetMacResponData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鍗忚皟鍣╩ac鍦板潃
             /// </summary>
@@ -1676,130 +746,15 @@
             public string MacAddr;
         }
 
-        //#endregion
-
-        #region 娣诲姞Install Codes鐮�
-        /////<summary >
-        /////娣诲姞Install Codes鐮�
-        ///// <para>installCode:InstallCode鐮�  36涓瓧绗�</para>
-        ///// <para>installCodeAddr:InstallCodes鐮佽澶囩殑mac鍦板潃16涓瓧绗�</para>
-        ///// </summary>
-        //public static async System.Threading.Tasks.Task<InstallCodeResponData> InstallCodeAsync(ZigBee.Device.ZbGateway gateway, string installCode, string installCodeAddr)
-        //{
-        //    if (gateway == null)
-        //    {
-        //        return null;
-        //    }
-        //    return await System.Threading.Tasks.Task.Run(async () =>
-        //    {
-        //        var d = new InstallCodeResponData { };
-        //        Action<string, string> action = (topic, message) =>
-        //        {
-        //            var gatewayID = topic.Split('/')[0];
-        //            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 = gateway.getGatewayBaseInfo.gwID };
-        //                var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString());
-
-        //                if (temp == null)
-        //                {
-        //                    d.errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖";
-        //                }
-        //                else
-        //                {
-        //                    d.errorResponData = temp;
-        //                    d.errorMessageBase = ErrorMess(temp.Error);
-        //                }
-        //            }
-
-        //            if (topic == gatewayID + "/" + "ZbGw/InstallCode_Respon")
-        //            {
-        //                var gatewayTemp = new ZbGateway() { DataID = jobject.Value<int>("Data_ID") };
-        //                var code = Newtonsoft.Json.JsonConvert.DeserializeObject<int>(jobject["Data"].ToString());
-
-        //                if (code == null)
-        //                {
-        //                    d.errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�";
-        //                }
-        //                else
-        //                {
-        //                    d.Status = code;
-        //                    DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
-        //                }
-        //            }
-        //        };
-
-        //        gateway.Actions += action;
-        //        var jObject = new JObject { { "Cluster_ID", 64512 }, { "Command", 13 } };
-        //         gateway.Send(("ZbGw/GetMac"), Common.SecuritySet.Encryption((jObject.ToString())));
-
-        //        var dateTime = DateTime.Now;
-        //        while ((DateTime.Now - dateTime).TotalMilliseconds < 1000)
-        //        {
-        //            await System.Threading.Tasks.Task.Delay(10);
-        //            //if (d.Status != 999)
-        //            //{
-        //            //    break;
-        //            //}
-        //        }
-        //        if ((DateTime.Now - dateTime).TotalMilliseconds > 1000)
-        //        {
-        //            d.errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔";
-        //        }
-        //        gateway.Actions -= action;
-        //        return d;
-        //    });
-        //}
-
-        /// <summary>
-        /// 娣诲姞Install Codes鐮�,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        /// </summary>
-        public InstallCodeResponData installCodeResponData;
-        /// <summary>
-        /// 娣诲姞Install Codes鐮�,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        /// </summary>
-        [System.Serializable]
-        public class InstallCodeResponData
-        {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
-            /// <summary>
-            /// 0:鎴愬姛锛�1:澶辫触
-            /// </summary>
-            public int Status = 999;
-        }
-
         #endregion
 
         #region 鍚敤鎴栧叧闂�忎紶鏁版嵁涓婁紶鎺ュ彛
         /// <summary>
         /// 閫忎紶鏁版嵁涓婁紶鎺ュ彛,缃戝叧鍙嶉淇℃伅
         /// </summary>
-        public PassthroughAllData passthroughAllData;
-        /// <summary>
-        /// 閫忎紶鏁版嵁涓婁紶鎺ュ彛,缃戝叧鍙嶉淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class PassthroughAllData
+        public class PassthroughAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 宸茬粡杞崲鎴愬瓧绗︽牸寮忕殑16杩涘埗鐨勯�忎紶鏁版嵁
             /// </summary>
@@ -1807,150 +762,13 @@
         }
         #endregion
 
-        //#region 鍗忚皟鍣ㄩ�氱敤鍔熻兘鎿嶄綔鎺ュ彛
-        ///// <summary>
-        ///// 鍗忚皟鍣ㄩ�氱敤鍔熻兘鎿嶄綔鎺ュ彛
-        ///// </summary>
-        ///// <returns>The or get all data async.</returns>
-        ///// <param name="gateway">Gateway.</param>
-        ///// <param name="commandID">Command identifier.</param>
-        ///// <param name="payload">Payload.</param>
-        //public static async System.Threading.Tasks.Task<SetOrGetAllData> SetOrGetAllDataAsync(ZigBee.Device.ZbGateway gateway, int commandID, string payload)
-        //{
-        //    if (gateway == null)
-        //    {
-        //        return null;
-        //    }
-        //    return await System.Threading.Tasks.Task.Run(async () =>
-        //    {
-        //        var d = new SetOrGetAllData { };
-        //        Action<string, string> action = (topic, message) =>
-        //        {
-        //            var gatewayID = topic.Split('/')[0];
-        //            var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
-
-        //            if (topic == gatewayID + "/" + "Error_Respon")
-        //            {
-        //                var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = gateway.getGatewayBaseInfo.gwID };
-        //                var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString());
-
-        //                if (temp == null)
-        //                {
-        //                    d.errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖";
-        //                }
-        //                else
-        //                {
-        //                    d.errorResponData = temp;
-        //                    d.errorMessageBase = ErrorMess(temp.Error);
-        //                }
-        //            }
-
-        //            if (topic == gatewayID + "/" + "ZbGw/SetOrGetData_Respon")
-        //            {
-        //                var gatewayTemp = new ZbGateway() { DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = gateway.getGatewayBaseInfo.gwID };
-        //                var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SetOrGetData>(jobject["Data"].ToString());
-
-        //                if (gatewayTemp.getGwVersion == null)
-        //                {
-        //                    d.errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�";
-        //                }
-        //                else
-        //                {
-        //                    d.setOrGetData = temp;
-        //                    DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
-        //                }
-        //            }
-        //        };
-        //        gateway.Actions += action;
-        //        System.Console.WriteLine("ZbDataPassthrough_Actions 鍚姩" + "_" + System.DateTime.Now.ToString());
-
-        //        var jObject = new JObject { { "Cluster_ID", 64512 }, { "Command", 2 } };
-        //        var data = new JObject { { "Command_ID", commandID }, { "Payload", payload } };
-        //        jObject.Add("Data", data);
-        //         gateway.Send("ZbGw/SetOrGetData", Common.SecuritySet.Encryption(jObject.ToString()));
-        //        var dateTime = DateTime.Now;
-        //        while ((DateTime.Now - dateTime).TotalMilliseconds < 1000)
-        //        {
-        //            await System.Threading.Tasks.Task.Delay(10);
-        //            if (d.setOrGetData != null)
-        //            {
-        //                break;
-        //            }
-        //        }
-        //        if ((DateTime.Now - dateTime).TotalMilliseconds > 10000)
-        //        {
-        //            d.errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔";
-        //        }
-        //        gateway.Actions -= action;
-        //        System.Console.WriteLine("GetGwVersionData_Actions 閫�鍑�" + System.DateTime.Now.ToString());
-
-        //        return d;
-        //    });
-        //}
-
-        ///// <summary>
-        ///// BDB鎺ュ彛,缃戝叧鍙嶉淇℃伅
-        ///// </summary>
-        //public SetOrGetAllData setOrGetAllData;
-        ///// <summary>
-        ///// BDB鎺ュ彛,缃戝叧鍙嶉淇℃伅
-        ///// </summary>
-        //[System.Serializable]
-        //public class SetOrGetAllData
-        //{
-        //    /// <summary>
-        //    /// 閿欒淇℃伅
-        //    /// </summary>
-        //    public string errorMessageBase;
-        //    /// <summary>
-        //    /// 缃戝叧淇℃伅閿欒鍙嶉
-        //    /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-        //    /// </summary>
-        //    public ErrorResponData errorResponData;
-        //    /// <summary>
-        //    /// BDB鏁版嵁
-        //    /// </summary>
-        //    public SetOrGetData setOrGetData;
-
-        //}
-
-        ///// <summary>
-        ///// BDB鏁版嵁
-        ///// </summary>
-        //public SetOrGetData setOrGetData;
-        ///// <summary>
-        ///// BDB鏁版嵁
-        ///// </summary>
-        //[System.Serializable]
-        //public class SetOrGetData
-        //{
-        //    /// <summary>
-        //    /// 鍗忚皟鍣ㄦ寚浠ょ殑command_ID銆傚搴斻�婂崗璋冨櫒涓插彛閫氫俊鍗忚瑙勮寖銆嬬2绔犺妭鎸囦护鐨刢ommand_ID
-        //    /// </summary>
-        //    public int commandID;
-        //    /// <summary>
-        //    /// 宸茬粡杞崲鎴愬瓧绗︽牸寮忕殑16杩涘埗鐨刣ata鏁版嵁銆傚搴斻�婂崗璋冨櫒涓插彛閫氫俊鍗忚瑙勮寖銆嬬2绔犺妭鎸囦护鐨勨�滄暟鎹�濆唴瀹�
-        //    /// </summary>
-        //    public string payload;
-        //}
-        //#endregion
-
         #region 瀹㈡埛绔彂閫佹枃浠舵祦鍒扮綉鍏�
         /// <summary>
         /// 瀹㈡埛绔彂閫佹枃浠舵祦鍒扮綉鍏�
         /// </summary>
         [System.Serializable]
-        public class SendFileResponseAllData
+        public class SendFileResponseAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 0: 鏁版嵁鍐欏叆鎴愬姛,璇锋眰鍙戦�佷笅涓�涓暟鎹寘
             ///<para>1锛氭暟鎹啓鍏ュけ璐�</para>
@@ -1967,61 +785,31 @@
         /// <summary>
         /// 瀹㈡埛绔彂閫佸垱寤烘枃浠跺懡浠�,缃戝叧鍙嶉淇℃伅
         /// </summary>
-        public CreateFileResponseAllData createFileResponseAllData;
-        /// <summary>
-        /// 瀹㈡埛绔彂閫佸垱寤烘枃浠跺懡浠�,缃戝叧鍙嶉淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class CreateFileResponseAllData
+        public class CreateFileResponseAllData : CommonDevice.ErrorResponCommon
         {
             /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
-              /// <summary>
             /// 0锛氬垱寤烘垚鍔�
             ///<para>1锛氬け璐ワ紝鏃犳硶鍒涘缓鏂囦欢</para>
             ///<para>2锛氬け璐ワ紝璇ュ鎴风鏈夋枃浠惰繕娌′笂浼犲畬鎴愶紝璇风瓑寰呮枃浠朵笂浼犲畬姣曪紙涓�涓鎴风鍙兘鍚屾椂涓婁紶涓�涓枃浠讹級</para>
             /// </summary>
             public int Result = 999;
-         }
+        }
         #endregion
 
         #region 鏌ョ湅缃戝叧鐩綍鏂囦欢淇℃伅
         /// <summary>
         /// 鏌ョ湅缃戝叧鐩綍鏂囦欢淇℃伅,缃戝叧鍙嶉淇℃伅
         /// </summary>
-        public FileTransferLsDiResponseAllData fileTransferLsDiResponseAllData;
-        /// <summary>
-        /// 鏌ョ湅缃戝叧鐩綍鏂囦欢淇℃伅,缃戝叧鍙嶉淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class FileTransferLsDiResponseAllData
+        public class FileTransferLsDiResponseAllData : CommonDevice.ErrorResponCommon
         {
             /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
-             /// <summary>
             /// 鏌ョ湅缃戝叧鐩綍鏂囦欢淇℃伅
             /// </summary>
             public FileTransferLsDiResponseData fileTransferLsDiResponseData;
         }
 
-        /// <summary>
-        /// 鏌ョ湅缃戝叧鐩綍鏂囦欢淇℃伅,缃戝叧鍙嶉淇℃伅
-        /// </summary>
-        public FileTransferLsDiResponseData fileTransferLsDiResponseData;
         /// <summary>
         /// 瀹㈡埛绔彂閫佸垱寤烘枃浠跺懡浠�,缃戝叧鍙嶉淇℃伅
         /// </summary>
@@ -2066,32 +854,15 @@
         /// <summary>
         /// 瀹㈡埛绔瀹氳涓嬭浇鐨勬枃浠跺悕绉板拰璺緞,缃戝叧鍙嶉淇℃伅
         /// </summary>
-        public SetDownloadFileResponseAllData setDownloadFileResponseAllData;
-        /// <summary>
-        /// 瀹㈡埛绔瀹氳涓嬭浇鐨勬枃浠跺悕绉板拰璺緞,缃戝叧鍙嶉淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class SetDownloadFileResponseAllData
+        public class SetDownloadFileResponseAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 瀹㈡埛绔瀹氳涓嬭浇鐨勬枃浠跺悕绉板拰璺緞
             /// </summary>
             public SetDownloadFileResponseData setDownloadFileResponseData;
         }
 
-        /// <summary>
-        /// 瀹㈡埛绔瀹氳涓嬭浇鐨勬枃浠跺悕绉板拰璺緞,缃戝叧鍙嶉淇℃伅
-        /// </summary>
-        public SetDownloadFileResponseData setDownloadFileResponseData;
         /// <summary>
         /// 瀹㈡埛绔瀹氳涓嬭浇鐨勬枃浠跺悕绉板拰璺緞,缃戝叧鍙嶉淇℃伅
         /// </summary>
@@ -2121,32 +892,15 @@
         /// <summary>
         /// 鏌ョ湅鍗曚釜鏂囦欢淇℃伅鏁版嵁
         /// </summary>
-        public FileTransferGetFileInfoResponseAllData fileTransferGetFileInfoResponseAllData;
-        /// <summary>
-        /// 鏌ョ湅鍗曚釜鏂囦欢淇℃伅鏁版嵁
-        /// </summary>
         [System.Serializable]
-        public class FileTransferGetFileInfoResponseAllData
+        public class FileTransferGetFileInfoResponseAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鏌ョ湅鍗曚釜鏂囦欢淇℃伅杩斿洖鐨勬暟鎹�
             /// </summary>
             public FileTransferGetFileInfoResponseData fileTransferGetFileInfoResponseData;
         }
 
-        /// <summary>
-        /// 鏌ョ湅鍗曚釜鏂囦欢淇℃伅杩斿洖鐨勬暟鎹�
-        /// </summary>
-        public FileTransferGetFileInfoResponseData fileTransferGetFileInfoResponseData;
         /// <summary>
         /// 鏌ョ湅鍗曚釜鏂囦欢淇℃伅杩斿洖鐨勬暟鎹�
         /// </summary>
@@ -2177,22 +931,9 @@
         /// <summary>
         /// 瀹㈡埛绔帴鏀跺埌缃戝叧鍙戣壊鏁版嵁鏍煎紡鍚庡簲鍙嶉缁欑綉鍏冲埌鏍煎紡鏁版嵁
         /// </summary>
-        public DownloadFileResponseAllData downloadFileResponseAllData;
-        /// <summary>
-        /// 瀹㈡埛绔帴鏀跺埌缃戝叧鍙戣壊鏁版嵁鏍煎紡鍚庡簲鍙嶉缁欑綉鍏冲埌鏍煎紡鏁版嵁
-        /// </summary>
         [System.Serializable]
-        public class DownloadFileResponseAllData
+        public class DownloadFileResponseAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 0: 鏁版嵁鍐欏叆鎴愬姛,璇锋眰鍙戦�佷笅涓�涓暟鎹寘
             ///<para>1锛氱粓姝笅杞姐�傚綋涓嬭浇鍑虹幇閿欒锛屾垨鑰呬笅杞藉凡缁忓畬鎴愬彲浠ュ彂閫佽鍊笺��</para>
@@ -2200,10 +941,6 @@
             public int Result = -1;
         }
 
-        /// <summary>
-        /// 瀹㈡埛绔帴鏀跺埌缃戝叧鍙戣壊鏁版嵁鏍煎紡鍚庡簲鍙嶉缁欑綉鍏�
-        /// </summary>
-        public FileTransferDownloadFileRespon fileTransferDownloadFileRespon;
         /// <summary>
         /// 瀹㈡埛绔帴鏀跺埌缃戝叧鍙戣壊鏁版嵁鏍煎紡鍚庡簲鍙嶉缁欑綉鍏�
         /// </summary>
@@ -2222,32 +959,15 @@
         /// <summary>
         /// 鍒犻櫎鏂囦欢鎴栫洰褰�,缃戝叧鍙嶉淇℃伅
         /// </summary>
-        public DelFileOrDirResponseAllData delFileOrDirResponseAllData;
-        /// <summary>
-        /// 鍒犻櫎鏂囦欢鎴栫洰褰�,缃戝叧鍙嶉淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class DelFileOrDirResponseAllData
+        public class DelFileOrDirResponseAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鍒犻櫎鏂囦欢鎴栫洰褰�
             /// </summary>
             public DelFileOrDirResponseData delFileOrDirResponseData;
         }
 
-        /// <summary>
-        /// 鍒犻櫎鏂囦欢鎴栫洰褰�,缃戝叧鍙嶉淇℃伅
-        /// </summary>
-        public DelFileOrDirResponseData delFileOrDirResponseData;
         /// <summary>
         /// 鍒犻櫎鏂囦欢鎴栫洰褰�,缃戝叧鍙嶉淇℃伅
         /// </summary>
@@ -2272,32 +992,15 @@
         /// <summary>
         /// 鍒涘缓涓�涓洰褰�,缃戝叧鍙嶉淇℃伅
         /// </summary>
-        public CreateDirResponseAllData createDirResponseAllData;
-        /// <summary>
-        /// 鍒涘缓涓�涓洰褰�,缃戝叧鍙嶉淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class CreateDirResponseAllData
+        public class CreateDirResponseAllData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 鍒涘缓涓�涓洰褰�
             /// </summary>
             public CreateDirResponseData createDirResponseData;
         }
 
-        /// <summary>
-        /// 鍒涘缓涓�涓洰褰�,缃戝叧鍙嶉淇℃伅
-        /// </summary>
-        public CreateDirResponseData createDirResponseData;
         /// <summary>
         /// 鍒涘缓涓�涓洰褰�,缃戝叧鍙嶉淇℃伅
         /// </summary>
@@ -2321,22 +1024,9 @@
         /// <summary>
         /// 瀹㈡埛绔彂閫丏ES瀵嗛挜鍒扮綉鍏�,缃戝叧鍙嶉鍏蜂綋淇℃伅
         /// </summary>
-        public SendKeyResponData sendDESKeyResponData;
-        /// <summary>
-        /// 瀹㈡埛绔彂閫丏ES瀵嗛挜鍒扮綉鍏�,缃戝叧鍙嶉鍏蜂綋淇℃伅
-        /// </summary>
         [System.Serializable]
-        public class SendKeyResponData
+        public class SendKeyResponData : CommonDevice.ErrorResponCommon
         {
-            /// <summary>
-            /// 閿欒淇℃伅
-            /// </summary>
-            public string errorMessageBase;
-            /// <summary>
-            /// 缃戝叧淇℃伅閿欒鍙嶉
-            /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-            /// </summary>
-            public ErrorResponData errorResponData;
             /// <summary>
             /// 0锛氭垚鍔�
             ///<para>1锛氬け璐ワ紝RSA绉侀挜瑙e瘑澶辫触</para>

--
Gitblit v1.8.0