| | |
| | | /// 获取得到了新网关
|
| | | /// </summary>
|
| | | private bool newGatewayGetting = false;
|
| | | /// <summary>
|
| | | /// 网关检测中
|
| | | /// </summary>
|
| | | private string isGatewayChecking = "0";
|
| | |
|
| | | #endregion
|
| | |
|
| | |
| | | btnMsg1.Y = picGwImage.Bottom + Application.GetRealHeight(112);
|
| | | btnMsg1.TextID = R.MyInternationalizationString.uSearchGatewayFailMsg1;
|
| | | bodyFrameLayout.AddChidren(btnMsg1);
|
| | | //1.长按ZB/RST键20秒,网关恢复出厂设置,指示灯全部熄{0}灭后,重新入网。
|
| | | //1.长按ZB/RST键20秒,网关恢复出厂设置,指示灯全部熄灭后,重新入网。
|
| | | var btnMsg2 = new NormalViewControl(930, 100, true);
|
| | | btnMsg2.X = Application.GetRealWidth(75);
|
| | | btnMsg2.Y = btnMsg1.Bottom + Application.GetRealHeight(35);
|
| | |
| | | btnMsg2.TextColor = UserCenterColor.Current.TextGrayColor1;
|
| | | btnMsg2.IsMoreLines = true;
|
| | | bodyFrameLayout.AddChidren(btnMsg2);
|
| | | //2.点按HID/WCFG键,进入网关换绑模式,系统指示灯快闪{0}5秒。
|
| | | //2.点按HID/WCFG键,进入网关换绑模式,系统指示灯快闪5秒。
|
| | | var btnMsg3 = new NormalViewControl(930, 100, true);
|
| | | btnMsg3.X = Application.GetRealWidth(75);
|
| | | btnMsg3.Y = btnMsg2.Bottom + Application.GetRealHeight(12);
|
| | |
| | | picGwImage.AddChidren(btnRound);
|
| | |
|
| | | string strMsg = btnMsg.Text;
|
| | | HdlThreadLogic.Current.RunThread(async () =>
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | //清空全部列表
|
| | | HdlGatewayLogic.Current.ClearAllRealGateway();
|
| | |
| | | maxCount--;
|
| | | if (maxCount % 4 == 0)
|
| | | {
|
| | | //每2秒检测搜索到的网关
|
| | | await this.CheckZbGatewayAndSetRow();
|
| | | lock(isGatewayChecking)
|
| | | {
|
| | | if (isGatewayChecking != "1")
|
| | | {
|
| | | isGatewayChecking = "1";
|
| | | HdlThreadLogic.Current.RunThread(async () =>
|
| | | {
|
| | | //每2秒检测搜索到的网关
|
| | | await this.CheckZbGatewayAndSetRow();
|
| | | lock (isGatewayChecking)
|
| | | {
|
| | | isGatewayChecking = "0";
|
| | | }
|
| | | });
|
| | | }
|
| | | }
|
| | | }
|
| | | if (this.newGatewayGetting == true)
|
| | | {
|
| | |
| | | this.InitFailMiddleFrame();
|
| | | });
|
| | | }
|
| | | else
|
| | | else if (newGatewayGetting == true)
|
| | | {
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | var form = new WiredGatewayListForm();
|
| | | this.AddFromAndRemoveNowForm(form, listZbGateway, dicZbGatewayDiv);
|
| | | if (this.Parent != null)
|
| | | {
|
| | | var form = new WiredGatewayListForm();
|
| | | this.AddFromAndRemoveNowForm(form, listZbGateway, dicZbGatewayDiv);
|
| | | }
|
| | | });
|
| | | }
|
| | | });
|
| | |
| | |
|
| | | //网关绑定模式
|
| | | GatewayBindMode mode = GatewayBindMode.BindAgain;
|
| | | if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true)
|
| | | //如果是第一次绑定,或者是以前已经绑定过了的
|
| | | if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true
|
| | | || way.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId)
|
| | | {
|
| | | //第一次绑定,也就是网关住宅ID为空
|
| | | mode = GatewayBindMode.First;
|
| | | this.dicZbGatewayDiv[listId[i]] = 0;
|
| | | //获取到了新网关
|
| | | this.newGatewayGetting = true;
|
| | | }
|
| | | else if (way.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId)
|
| | | {
|
| | | //已经绑定过了
|
| | | this.dicZbGatewayDiv[listId[i]] = 1;
|
| | | mode = GatewayBindMode.Binded;
|
| | | }
|
| | | else
|
| | | {
|
| | | //需要换绑
|
| | | this.dicZbGatewayDiv[listId[i]] = 2;
|
| | | mode = GatewayBindMode.BindAgain;
|
| | | }
|
| | | //本地是否有这个网关
|
| | | bool isExist = HdlGatewayLogic.Current.IsGatewayExist(way);
|
| | | //如果
|
| | | if (mode != GatewayBindMode.BindAgain)
|
| | | {
|
| | | if (way.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId)
|
| | | {
|
| | | //第一次绑定,也就是网关住宅ID为空
|
| | | mode = GatewayBindMode.First;
|
| | | }
|
| | | else
|
| | | {
|
| | | //已经绑定过了
|
| | | mode = GatewayBindMode.Binded;
|
| | | }
|
| | |
|
| | | //添加搜索到的网关到缓存(执行网关保存操作)
|
| | | ShowErrorMode showMode = this.dicIdCheckCount[listId[i]] == 0 ? ShowErrorMode.YES : ShowErrorMode.NO;
|
| | | var result = await this.DoSaveGateway(way, showMode);
|
| | |
| | | continue;
|
| | | }
|
| | | }
|
| | |
|
| | | //如果它已经完全成功了的话,则将它的剩余次数置零
|
| | | this.dicIdCheckCount[listId[i]] = 0;
|
| | | if (isExist == true)
|
| | | //全部处理OK后,才能设置flage
|
| | | if (mode == GatewayBindMode.First)
|
| | | {
|
| | | //已经绑定过了的,则不再显示
|
| | | continue;
|
| | | //第一次绑定
|
| | | this.dicZbGatewayDiv[listId[i]] = 0;
|
| | | //获取到了新网关
|
| | | this.newGatewayGetting = true;
|
| | | }
|
| | | if (mode != GatewayBindMode.BindAgain)
|
| | | else if (mode == GatewayBindMode.Binded)
|
| | | {
|
| | | //已经绑定过
|
| | | this.dicZbGatewayDiv[listId[i]] = 1;
|
| | | }
|
| | | else
|
| | | {
|
| | | //需要重新绑定
|
| | | this.dicZbGatewayDiv[listId[i]] = 2;
|
| | | }
|
| | |
|
| | | if (mode == GatewayBindMode.First)
|
| | | {
|
| | | //我觉得这里需要获取一下新网关的设备列表
|
| | | await Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way);
|
| | | Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way);
|
| | | }
|
| | | }
|
| | | return true;
|