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