From ec34983e291d1c85284472a27109d55891f9a6b5 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期五, 07 八月 2020 16:20:16 +0800 Subject: [PATCH] 不是新代码,别 合并 --- ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 50 insertions(+), 5 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs b/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs index b6f5a1b..636fc83 100755 --- a/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs +++ b/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs @@ -85,6 +85,8 @@ this.AddNormalDeviceReportEvent(); //娣诲姞浼犳劅鍣ㄧ姸鎬佷笂鎶ヤ簨浠� this.AddSensorDeviceReportEvent(); + //寮�鍚紶鎰熷櫒鐘舵�佽繕鍘熺殑绾跨▼ + this.StartRecoverSenorStatuThread(); } /// <summary> @@ -159,7 +161,7 @@ btnHouseName.TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor; btnHouseName.IsBold = true; btnHouseName.Text = Config.Instance.Home.Name; - btnHouseName.Width = btnHouseName.GetRealWidthByText(); + btnHouseName.Width = btnHouseName.GetRealWidthByText() + Application.GetRealWidth(100); this.listBodyContr.frameTable.AddChidren(btnHouseName); //鍒囨崲浣忓畢 @@ -544,8 +546,8 @@ bodyFrameLayout.RemoveAll(); bodyFrameLayout.Height = Application.GetRealHeight(750); this.listBodyContr.RecoverTableHeight(); - this.dicSceneCardControl.Clear(); - this.dicDeviceCardControl.Clear(); + this.dicSceneCardControl = new Dictionary<int, Controls.SceneCardControl>(); + this.dicDeviceCardControl = new Dictionary<string, Controls.DeviceCardCommon>(); var listDevice = new List<CommonDevice>(); foreach (var mainkeys in HdlRoomLogic.Current.NowMainPageRoom.ListDevice) @@ -804,8 +806,8 @@ bodyFrameLayout.RemoveAll(); bodyFrameLayout.Height = Application.GetRealHeight(750); this.listBodyContr.RecoverTableHeight(); - this.dicSceneCardControl.Clear(); - this.dicDeviceCardControl.Clear(); + this.dicSceneCardControl = new Dictionary<int, Controls.SceneCardControl>(); + this.dicDeviceCardControl = new Dictionary<string, Controls.DeviceCardCommon>(); var listScene = new List<SceneUI>(); foreach (int sceneId in HdlRoomLogic.Current.NowMainPageRoom.ListSceneId) @@ -1106,6 +1108,11 @@ //浼犳劅鍣ㄤ笉闇�瑕佸睘鎬т笂鎶�(浣嗘槸閭d釜鐞冨瀷浼犳劅鍣ㄥ眳鐒朵細灞炴�т笂鎶�) this.dicDeviceCardControl[mainKeys].RefreshControlInfo(locadevice); } + else if (report.DeviceStatusReport.CluterID == 1) + { + //杩欎釜鏄數閲忔帹閫� + this.dicDeviceCardControl[mainKeys].RefreshBatteryStatu(); + } } }, ShowErrorMode.NO); }); @@ -1156,6 +1163,44 @@ #endregion + #region 鈻� 浼犳劅鍣ㄧ姸鎬佽繕鍘焈____________________ + + /// <summary> + /// 寮�鍚紶鎰熷櫒鐘舵�佽繕鍘熺殑绾跨▼ + /// </summary> + private void StartRecoverSenorStatuThread() + { + HdlThreadLogic.Current.RunThread(() => + { + while (this.Parent != null) + { + try + { + var dicControl = this.dicDeviceCardControl; + foreach (var contr in dicControl.Values) + { + //濡傛灉鏄紶鎰熷櫒,鍒欏埛鏂扮姸鎬� + if (contr.device.Type == DeviceType.IASZone && contr.Parent != null + && ((IASZone)contr.device).iASInfo == null) + { + HdlThreadLogic.Current.RunMain(() => + { + //璁惧鐘舵�佸繀椤诲埛鏂� + string statuText = HdlDeviceOtherLogic.Current.GetDeviceStatu(contr.device); + contr.SetDeviceStatuText(statuText); + + }, ShowErrorMode.NO); + } + } + System.Threading.Thread.Sleep(8000); + } + catch { System.Threading.Thread.Sleep(3000); } + } + }); + } + + #endregion + #region 鈻� 鍒囨崲妤煎眰___________________________ /// <summary> -- Gitblit v1.8.0