From f14dcfd967404e197e7ec995ca8d6f2b090d3b7d Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期五, 11 九月 2020 09:16:59 +0800 Subject: [PATCH] 优化多功能面板:绑定温湿度传感器目标,和设备列表回路显示。优化数据矫正功能温湿度度不设置的情况。优化门锁时间设置最后一天和最后最后一个月的时间显示等 细节 --- ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/MiniGatewaySearchForm.cs | 67 ++++++++++++++++++++------------- 1 files changed, 41 insertions(+), 26 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/MiniGatewaySearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/MiniGatewaySearchForm.cs index a2268ae..05aa07c 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/MiniGatewaySearchForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/MiniGatewaySearchForm.cs @@ -239,7 +239,7 @@ HdlThreadLogic.Current.RunThread(() => { //娓呯┖鍏ㄩ儴鍒楄〃 - HdlGatewayLogic.Current.ClearAllRealGateway(); + HdlGatewayLogic.Current.ClearAllRealGatewayConection(true); ZigBee.Common.Application.IsSearchingGateway = true; int index = 1; @@ -253,7 +253,7 @@ if (timeCount == 10) { //5绉掑悗娓呯┖缃戝叧鍒楄〃 - HdlGatewayLogic.Current.ClearAllRealGateway(); + HdlGatewayLogic.Current.ClearAllRealGatewayConection(true); ZigBee.Common.Application.IsSearchingGateway = true; } if (timeCount % 2 == 0) @@ -266,7 +266,7 @@ break; } - Application.RunOnMainThread(() => + HdlThreadLogic.Current.RunMain(() => { btnRound.X = listPoint[index]; index++; @@ -276,14 +276,15 @@ } //姝e湪鎼滅储缃戝叧鈥Xs btnMsg.Text = strMsg + timeOut + "s"; - }); + }, ShowErrorMode.NO); System.Threading.Thread.Sleep(500); } //鎼滅储缁撴潫 this.isGatewaySearching = false; - if (timeOut <= 0) + //2020.07.14杩藉姞:鍊掕鏃剁粨鏉熸椂,鍝�曟槸宸茬粡缁戝畾浜嗙殑缃戝叧,涔熸樉绀哄嚭鏉� + if (timeOut <= 0 && listZbGateway.Count == 0) { HdlThreadLogic.Current.RunMain(() => { @@ -291,7 +292,7 @@ this.InitFailMiddleFrame(); }); } - else if (newGatewayGetting == true) + else if (newGatewayGetting == true || listZbGateway.Count > 0) { HdlThreadLogic.Current.RunMain(() => { @@ -315,7 +316,7 @@ private void StartCheckGatewayThread() { this.isGatewaySearching = true; - HdlThreadLogic.Current.RunThread(async () => + HdlThreadLogic.Current.RunThread(() => { int count = 0; while (this.Parent != null && this.isGatewaySearching == true) @@ -330,7 +331,7 @@ } count = 0; - await this.CheckZbGatewayAndSetRow(); + this.CheckZbGatewayAndSetRow(); if (this.newGatewayGetting == true) { @@ -344,7 +345,7 @@ /// <summary> /// 妫�娴嬫悳绱㈠埌鐨勭綉鍏� /// </summary> - private async Task<bool> CheckZbGatewayAndSetRow() + private bool CheckZbGatewayAndSetRow() { for (int i = 0; i < ZbGateway.GateWayList.Count; i++) { @@ -357,23 +358,32 @@ } //缃戝叧缁戝畾妯″紡 - GatewayBindMode mode = GatewayBindMode.BindAgain; - //濡傛灉鏄涓�娆$粦瀹�,鎴栬�呮槸浠ュ墠宸茬粡缁戝畾杩囦簡鐨� - if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true - || way.HomeId == Common.Config.Instance.HomeId) + var mode = GatewayBindMode.BindAgain; + //浣忓畢ID涓虹┖ 绗竴娆$粦瀹� + if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true) { - if (way.HomeId != Common.Config.Instance.HomeId) - { - //绗竴娆$粦瀹�,涔熷氨鏄綉鍏充綇瀹匢D涓虹┖ - mode = GatewayBindMode.First; - } - else - { - //宸茬粡缁戝畾杩囦簡 - mode = GatewayBindMode.Binded; - } + mode = GatewayBindMode.First; + } + //浣忓畢ID涓嶇浉绛� 闇�瑕侀噸鏂扮粦瀹� + else if (way.HomeId != Common.Config.Instance.HomeId) + { + mode = GatewayBindMode.BindAgain; + } + //濡傛灉鏈湴涓嶅瓨鍦ㄧ殑璇�,褰撳仛绗竴娆$粦瀹氬鐞� + else if (HdlGatewayLogic.Current.IsGatewayExist(way) == false) + { + mode = GatewayBindMode.First; + } + //浣忓畢ID涓�鏍�,鍒欐槸宸茬粡缁戝畾杩囦簡 + else + { + mode = GatewayBindMode.Binded; + } + //杩欎袱绉嶆儏鍐甸兘鏄渶瑕侀噸鏂版坊鍔�(宸茬粡缁戝畾杩囦簡鐨�,鏈夊彲鑳戒綇瀹匢D娌″啓杩涘幓,瀹冩湁鍙兘鏄汉涓虹殑娓呯┖浣忓畢ID) + if (mode == GatewayBindMode.First || mode == GatewayBindMode.Binded) + { //娣诲姞鎼滅储鍒扮殑缃戝叧鍒扮紦瀛�(鎵ц缃戝叧淇濆瓨鎿嶄綔) - var result = await HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO); + var result = HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO); if (result == false) { continue; @@ -403,10 +413,15 @@ this.newGatewayGetting = true; } - if (mode == GatewayBindMode.First|| mode == GatewayBindMode.Binded) + if (mode == GatewayBindMode.First || mode == GatewayBindMode.Binded) { //鎴戣寰楄繖閲岄渶瑕佽幏鍙栦竴涓嬫柊缃戝叧鐨勮澶囧垪琛� - Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way); + Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way, true); + if (way.IsMainGateWay == true) + { + //濡傛灉瀹冩槸涓荤綉鍏�,鍒欏埛鏂板満鏅垪琛� + HdlSceneLogic.Current.RefreshSceneUIList(true); + } } } return true; -- Gitblit v1.8.0