| | |
| | | break;
|
| | | }
|
| | |
|
| | | Application.RunOnMainThread(() =>
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | btnRound.X = listPoint[index];
|
| | | index++;
|
| | |
| | | }
|
| | | //正在搜索网关…XXs
|
| | | 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(() =>
|
| | | {
|
| | |
| | | this.InitFailMiddleFrame();
|
| | | });
|
| | | }
|
| | | else if (newGatewayGetting == true)
|
| | | else if (newGatewayGetting == true || listZbGateway.Count > 0)
|
| | | {
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | |
| | | }
|
| | |
|
| | | //网关绑定模式
|
| | | 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)
|
| | | {
|
| | | //第一次绑定,也就是网关住宅ID为空
|
| | | 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;
|
| | | }
|
| | | //这两种情况都是需要重新添加(已经绑定过了的,有可能住宅ID没写进去,它有可能是人为的清空住宅ID)
|
| | | if (mode == GatewayBindMode.First || mode == GatewayBindMode.Binded)
|
| | | {
|
| | | //添加搜索到的网关到缓存(执行网关保存操作)
|
| | | var result = await HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO);
|
| | | if (result == false)
|
| | |
| | | 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;
|