From 0480792bde7bcf770290ba3414bd615e563e7b43 Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期二, 24 十二月 2019 15:46:00 +0800 Subject: [PATCH] 2019-12-24-02 --- ZigbeeApp/Shared/Phone/Device/Logic/Send.cs | 70 ++++++++++++++++++++++++++++++++-- 1 files changed, 65 insertions(+), 5 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs index d7fa0b9..ab23f9e 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs @@ -380,6 +380,16 @@ }; conditions.Add(sInfo); break; + case 7: + var diliInfo = new JObject + { + ["Type"] = int.Parse(dictionary["Type"]), + ["IsValid"] = int.Parse(dictionary["IsValid"]), + ["AtHome"] = int.Parse(dictionary["AtHome"]), + ["WhoSiteUId"] =dictionary["WhoSiteUId"], + }; + conditions.Add(diliInfo); + break; } } var actions = new JArray(); @@ -698,7 +708,7 @@ }); } // <summary> - /// 閫氳繃璁惧鎵惧埌鍖哄煙(鎴块棿)鍚嶇О + /// 閫氳繃璁惧鎵惧埌鍖哄煙(鎴块棿)鍚嶇О /// </summary> /// <param name="btnregionname">Btnregionname.</param> /// <param name="device">Device.</param> @@ -735,7 +745,59 @@ //return list1; } - + + /// <summary> + /// 鑾峰彇鍦烘櫙淇℃伅鐨勬柟娉� + /// </summary> + /// <param name="SceneId"></param> + /// <returns></returns> + public static async System.Threading.Tasks.Task<SceneUI> GetScene(int SceneId) + { + SceneUI sceneui = null; + return await System.Threading.Tasks.Task.Run(async () => + { + Action<string, string> action = (topic, data) => + { + var gatewayID = topic.Split('/')[0]; + var jObjectdata = JObject.Parse(data); + if (jObjectdata == null) + { + return; + } + + if (topic == $"{gatewayID}/Scene/GetDeviceList_Respon") + { + sceneui = new SceneUI(); + sceneui.Name = jObjectdata["Data"]["ScenesName"].ToString(); + sceneui.Id = int.Parse(jObjectdata["Data"]["ScenesId"].ToString()); + + } + }; + var mainGateWay = ZbGateway.MainGateWay; + if (mainGateWay == null) + { + Console.WriteLine("娌℃湁涓荤綉鍏�"); + return sceneui; + } + mainGateWay.GwResDataAction += action; + + var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 806 } }; + var jObjectdata1 = new JObject { { "ScenesId", SceneId } }; + jObject.Add("Data", jObjectdata1); + mainGateWay?.Send("Scene/GetDeviceList", jObject.ToString()); + var dateTime = DateTime.Now; + while ((DateTime.Now - dateTime).TotalMilliseconds < 3 * 1000) + { + await System.Threading.Tasks.Task.Delay(100); + if (sceneui!=null) + { + break; + } + } + ZbGateway.MainGateWay.GwResDataAction -= action; + return sceneui; + }); + } #endregion #region ----鑾峰彇闂ㄩ攣 @@ -954,7 +1016,6 @@ /// <returns></returns> public static async System.Threading.Tasks.Task<string> WebClientAsync(int value, string url, Residential residential = null) { - NameValueCollection postValues = new NameValueCollection(); if (value == 0) @@ -984,9 +1045,8 @@ byte[] responseArray = webClient.UploadValues(url, postValues); var s = System.Text.Encoding.UTF8.GetString(responseArray); return s; - } - + public class Residential { /// <summary> -- Gitblit v1.8.0