From bba578c2f0acf2eca747edcb69426771e0cadd32 Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期一, 23 三月 2020 18:20:50 +0800 Subject: [PATCH] 2020-03-23-3 --- ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs | 92 ++++++++++++++++------------------------------ 1 files changed, 32 insertions(+), 60 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs index b85b2c0..609a015 100755 --- a/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs +++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/ZbGateway.cs @@ -101,7 +101,7 @@ } } - #region variable + #region variable /// <summary> /// 杩滅▼杩炴帴鎴愬姛鏃剁殑鏃堕棿 /// </summary> @@ -160,12 +160,6 @@ /// </summary> [Newtonsoft.Json.JsonIgnore] public List<Scene.GetSceneDeviceListInfo> SceneDeviceList = new List<Scene.GetSceneDeviceListInfo>(); - - /// <summary> - /// 缃戝叧涓�昏緫鍒楄〃 - /// </summary> - [Newtonsoft.Json.JsonIgnore] - public static List<Logic.GetLogicInfoResponseData> LogicList = new List<Logic.GetLogicInfoResponseData>(); /// <summary> /// 缃戝叧涓環dl绉佹湁鎸夐敭缁戝畾鍒楄〃 @@ -3054,22 +3048,6 @@ public static readonly System.Collections.Generic.List<IStatus> StatusList = new System.Collections.Generic.List<IStatus>(); /// <summary> - /// 璁惧鐘舵�佹洿鏂� - /// </summary> - /// <param name="commonDevice">Common device.</param> - public static void UpdateDeviceStatus(CommonDevice commonDevice) - { - if (commonDevice == null) - { - return; - } - for (int i = 0; i < StatusList.Count; i++) - { - StatusList[i].Changed(commonDevice); - } - } - - /// <summary> /// 璁惧淇℃伅鍙樺寲 /// <para>type锛氬鏋滀负 DeviceInComingRespon:璁惧鏂颁笂鎶�</para> /// <para>type锛氬鏋滀负 IASInfoReport:RemoveDeviceRespon</para> @@ -3324,7 +3302,7 @@ /// 杩滅▼MqttClient /// </summary> public static IMqttClient RemoteMqttClient= new MqttFactory().CreateMqttClient(); - static bool remoteIsConnected; + static bool remoteIsConnected; private int IsLogin = 0; [Newtonsoft.Json.JsonIgnore] static Action actionTemp; @@ -3495,6 +3473,9 @@ AllowRemoteCtrl = false; return; } + //铏界劧涓嶇煡閬撳鎸や笅绾块偅涓�鍧楁湁娌℃湁鐢�,涓嶈繃鍏堣繖涔堝紕 + await System.Threading.Tasks.Task.Delay(1500); + var responseData = jobject["ResponseData"]; if (responseData != null) { @@ -3550,7 +3531,7 @@ localIsConnected = false; DebugPrintLog($"Local涓诲姩鏂紑_{s}"); //await localMqttClient.DisconnectAsync(new MQTTnet.Client.Disconnecting.MqttClientDisconnectOptions { }, CancellationToken.None); - await localMqttClient.DisconnectAsync(); + await localMqttClient.DisconnectAsync(); } } catch (Exception ex) @@ -3574,7 +3555,7 @@ await RemoteMqttClient.DisconnectAsync(); } } - catch(Exception e) { + catch(Exception e) { DebugPrintLog($"Remote鏂紑閫氳杩炴帴鍑哄紓甯�:{e.Message}"); } } @@ -4013,8 +3994,7 @@ DebugPrintLog("DeviceInComingRespon宸茬粡閫氱煡"); gwa.ReportAction("DeviceInComingRespon", tempDevice.getNewDeviceInfo); } - UpdateDeviceInfo(tempDevice, "DeviceInComingRespon"); - UpdateDeviceStatus(gwa); + UpdateDeviceInfo(tempDevice, "DeviceInComingRespon"); } #endregion #region 璁惧鍦ㄧ嚎鐘舵�佹洿鏂板弽棣� @@ -4032,7 +4012,6 @@ if (infoTempDevice == null) { gwa.DeviceList.Add(tempDevice); - UpdateDeviceStatus(tempDevice); UpdateDeviceInfo(tempDevice, "OnlineStatusChange"); } else @@ -4042,7 +4021,6 @@ infoTempDevice.DeviceInfo.IsOnline = infoTempDevice.IsOnline; } UpdateDeviceInfo(infoTempDevice, "OnlineStatusChange"); - UpdateDeviceStatus(infoTempDevice); } } #endregion @@ -4068,7 +4046,6 @@ } else { - UpdateDeviceStatus(tempDevice); UpdateDeviceInfo(tempDevice, "RemoveDeviceRespon"); if (tempDevice.removeDeviceResponseData.Result == 0) { @@ -4096,7 +4073,6 @@ var tempDevice = new CommonDevice { DeviceID = deviceID, DeviceAddr = deviceAddr, DeviceEpoint = tempEpoint, DataID = dataId }; tempDevice.DeviceStatusReport = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.DeviceStatusReportData>(jobject["Data"].ToString()); - UpdateDeviceStatus(tempDevice); UpdateDeviceInfo(tempDevice, "DeviceStatusReport"); } #endregion @@ -4118,7 +4094,6 @@ DebugPrintLog("DoorLockProgrammingEventNotificationCommand宸茬粡閫氱煡"); gwa.ReportAction("DoorLockProgrammingEventNotificationCommand", doorLock); } - UpdateDeviceStatus(doorLock); UpdateDeviceInfo(doorLock, "DoorLockProgrammingEventNotificationCommand"); break; } @@ -4142,7 +4117,6 @@ DebugPrintLog("DoorLockProgrammingEventNotificationCommand宸茬粡閫氱煡"); gwa.ReportAction("DoorLockProgrammingEventNotificationCommand", doorLock); } - UpdateDeviceStatus(doorLock); UpdateDeviceInfo(doorLock, "DoorLockProgrammingEventNotificationCommand"); break; } @@ -4164,8 +4138,6 @@ //ias.Save(); gwa.ReportAction("IASInfoReport", ias.iASInfo); } - - UpdateDeviceStatus(ias); UpdateDeviceInfo(ias, "IASInfoReport"); break; } @@ -4280,37 +4252,37 @@ #region 閫昏緫琚皟鐢ㄥ弽棣� else if (topic == gatewayID + "/" + "Logic/Execute_Respon") { - var logic = new Logic() { DataID = jobject.Value<int>("Data_ID"), GateWayId = gwa.getGatewayBaseInfo.gwID }; - logic.logicExecuteRespo = Newtonsoft.Json.JsonConvert.DeserializeObject<Logic.ExecuteResponse>(jobject["Data"].ToString()); + //var logic = new Logic() { DataID = jobject.Value<int>("Data_ID"), GateWayId = gwa.getGatewayBaseInfo.gwID }; + //logic.logicExecuteRespo = Newtonsoft.Json.JsonConvert.DeserializeObject<Logic.ExecuteResponse>(jobject["Data"].ToString()); - if (logic.logicExecuteRespo == null) - { - return; - } - //涓婃姤绫诲瀷閫氱煡 - if (gwa.ReportAction != null) - { - DebugPrintLog("LogicExecuteReport宸茬粡閫氱煡"); - gwa.ReportAction("LogicExecuteReport", logic.logicExecuteRespo); - } + //if (logic.logicExecuteRespo == null) + //{ + // return; + //} + ////涓婃姤绫诲瀷閫氱煡 + //if (gwa.ReportAction != null) + //{ + // DebugPrintLog("LogicExecuteReport宸茬粡閫氱煡"); + // gwa.ReportAction("LogicExecuteReport", logic.logicExecuteRespo); + //} } #endregion #region 鏃堕棿鐐规潯浠舵帹杩熸墽琛� else if (topic == gatewayID + "/" + "Logic/TimingWillArrive") { - var logic = new Logic() { DataID = jobject.Value<int>("Data_ID"), GateWayId = gwa.getGatewayBaseInfo.gwID }; - logic.timingWillArriveData = Newtonsoft.Json.JsonConvert.DeserializeObject<Logic.TimingWillArriveData>(jobject["Data"].ToString()); + //var logic = new Logic() { DataID = jobject.Value<int>("Data_ID"), GateWayId = gwa.getGatewayBaseInfo.gwID }; + //logic.timingWillArriveData = Newtonsoft.Json.JsonConvert.DeserializeObject<Logic.TimingWillArriveData>(jobject["Data"].ToString()); - if (logic.timingWillArriveData == null) - { - return; - } - //涓婃姤绫诲瀷閫氱煡 - if (gwa.ReportAction != null) - { - DebugPrintLog("TimingWillArrive宸茬粡閫氱煡"); - gwa.ReportAction("TimingWillArrive", logic.timingWillArriveData); - } + //if (logic.timingWillArriveData == null) + //{ + // return; + //} + ////涓婃姤绫诲瀷閫氱煡 + //if (gwa.ReportAction != null) + //{ + // DebugPrintLog("TimingWillArrive宸茬粡閫氱煡"); + // gwa.ReportAction("TimingWillArrive", logic.timingWillArriveData); + //} } #endregion #region 妯″紡瀹夐槻鍔ㄤ綔琚渶缁堟縺娲绘椂鍙戦�佹姤璀︿俊鎭� -- Gitblit v1.8.0