| | |
| | | }; |
| | | 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(); |
| | |
| | | //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 ----获取门锁 |