| | |
| | | /// 重新绑定网关(1:正常 -1:异常 0:当前的网关绑定在了当前账号下的不同住宅里面) |
| | | /// </summary> |
| | | /// <param name="zbGateway">网关</param> |
| | | public async Task<int> ReBindNewGateway(ZbGateway zbGateway) |
| | | public async Task<int> ReBindNewGateway(ZbGateway zbGateway, NormalViewControl btnMsg = null) |
| | | {
|
| | | if (zbGateway == null)
|
| | | {
|
| | |
| | | HdlGatewayLogic.Current.BackupGatewayIdOnNotNetwork(zbGateway);
|
| | | }
|
| | |
|
| | | //网关内部数据变更中,请稍后
|
| | | ProgressBar.SetValue(Language.StringByID(R.MyInternationalizationString.uGatewayDataIsChangingPleaseWhait));
|
| | |
|
| | | if (btnMsg == null)
|
| | | {
|
| | | //网关内部数据变更中,请稍后
|
| | | ProgressBar.SetValue(Language.StringByID(R.MyInternationalizationString.uGatewayDataIsChangingPleaseWhait));
|
| | | }
|
| | | else
|
| | | {
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | //网关内部数据变更中,请稍后
|
| | | btnMsg.TextID = R.MyInternationalizationString.uGatewayDataIsChangingPleaseWhait;
|
| | | });
|
| | | }
|
| | | await System.Threading.Tasks.Task.Delay(8000);
|
| | |
|
| | | //获取网关的信息
|
| | |
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 获取网关镜像类型的翻译名字
|
| | | /// 设置网关镜像类型的翻译名字
|
| | | /// </summary>
|
| | | /// <param name="button"></param>
|
| | | /// <param name="zbGateway"></param>
|
| | | /// <returns></returns>
|
| | | public string GetGatewayImageText(ZbGateway zbGateway)
|
| | | public void SetGatewayImageText(Button button, ZbGateway zbGateway)
|
| | | {
|
| | | //初始值:无法识别的网关设备
|
| | | button.TextID = R.MyInternationalizationString.uUnDistinguishTheGatewayDevice;
|
| | |
|
| | | string gwId = this.GetGatewayId(zbGateway);
|
| | | int imageType = -1;
|
| | | if (this.dicGateway.ContainsKey(gwId) == false || this.dicGateway[gwId].getGwInfo == null)
|
| | | {
|
| | | //如果这个网关没有信息,则从新获取
|
| | | var result = this.GetGatewayNewInfo(zbGateway, ShowErrorMode.NO);
|
| | | if (result == null)
|
| | | if (zbGateway.getGwInfo != null && zbGateway.getGwInfo.LinuxImageType != 0)
|
| | | {
|
| | | //无法识别的网关设备
|
| | | return Language.StringByID(R.MyInternationalizationString.uUnDistinguishTheGatewayDevice);
|
| | | string keyName = Common.LocalDevice.deviceModelIdName + zbGateway.getGwInfo.LinuxImageType;
|
| | | if (Common.LocalDevice.Current.dicDeviceDefultNameID.ContainsKey(keyName) == true)
|
| | | {
|
| | | //使用R文件里面设置的东西
|
| | | button.TextID = LocalDevice.Current.dicDeviceDefultNameID[keyName];
|
| | | }
|
| | | }
|
| | | imageType = result.LinuxImageType;
|
| | | else
|
| | | {
|
| | | //给一个线程去获取它的镜像类型
|
| | | HdlThreadLogic.Current.RunThread(async () =>
|
| | | {
|
| | | var result = await this.GetGatewayNewInfoAsync(zbGateway, ShowErrorMode.NO);
|
| | | if (result != null)
|
| | | {
|
| | | zbGateway.getGwInfo = result;
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | string keyName = Common.LocalDevice.deviceModelIdName + zbGateway.getGwInfo.LinuxImageType;
|
| | | if (Common.LocalDevice.Current.dicDeviceDefultNameID.ContainsKey(keyName) == true)
|
| | | {
|
| | | //使用R文件里面设置的东西
|
| | | button.TextID = LocalDevice.Current.dicDeviceDefultNameID[keyName];
|
| | | }
|
| | | });
|
| | | }
|
| | | });
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | imageType = Convert.ToInt32(this.GetGwInfoAttribute(this.dicGateway[gwId], "LinuxImageType"));
|
| | | string keyName = Common.LocalDevice.deviceModelIdName + this.dicGateway[gwId].getGwInfo.LinuxImageType;
|
| | | if (Common.LocalDevice.Current.dicDeviceDefultNameID.ContainsKey(keyName) == true)
|
| | | {
|
| | | //使用R文件里面设置的东西
|
| | | button.TextID = Common.LocalDevice.Current.dicDeviceDefultNameID[keyName];
|
| | | }
|
| | | }
|
| | | string keyName = Common.LocalDevice.deviceModelIdName + imageType;
|
| | | if (Common.LocalDevice.Current.dicDeviceDefultNameID.ContainsKey(keyName) == true)
|
| | | {
|
| | | //使用R文件里面设置的东西
|
| | | return Language.StringByID(Common.LocalDevice.Current.dicDeviceDefultNameID[keyName]);
|
| | | }
|
| | |
|
| | | //无法识别的网关设备
|
| | | return Language.StringByID(R.MyInternationalizationString.uUnDistinguishTheGatewayDevice);
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
| | | #region ■ 主网关判定_________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 判断是否主网关(1:主网关 0:不在线 -1:远程模式,不存在啥主网关的说法)
|
| | | /// 判断是否主网关(1:主网关 0:不在线 2:子网关)
|
| | | /// </summary>
|
| | | /// <param name="zbGateway">网关对象</param>
|
| | | /// <returns></returns>
|
| | |
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 判断是否主网关(1:主网关 0:不在线 -1:远程模式,不存在啥主网关的说法)
|
| | | /// 判断是否主网关(1:主网关 0:不在线 2:子网关)
|
| | | /// </summary>
|
| | | /// <param name="waiID">网关id</param>
|
| | | /// <returns></returns>
|
| | |
| | | {
|
| | | return 0;
|
| | | }
|
| | | return zbGateway.IsMainGateWay == true ? 1 : 0;
|
| | | return zbGateway.IsMainGateWay == true ? 1 : 2;
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
| | | #region ■ 设置网关图片_______________________
|
| | |
|
| | | /// <summary>
|
| | | /// 设置真实网关的图片,规格:915X492
|
| | | /// 设置真实网关的图片
|
| | | /// </summary>
|
| | | /// <param name="button"></param>
|
| | | /// <param name="zbGateway"></param>
|
| | |
| | | var localWay = this.GetLocalGateway(gwID);
|
| | | if (localWay == null || localWay.getGwInfo == null)
|
| | | {
|
| | | //给一个线程去获取它的镜像类型
|
| | | HdlThreadLogic.Current.RunThread(async () =>
|
| | | if (zbGateway.getGwInfo != null && zbGateway.getGwInfo.LinuxImageType != 0)
|
| | | {
|
| | | var result = await this.GetGatewayNewInfoAsync(zbGateway, ShowErrorMode.NO);
|
| | | if (result != null)
|
| | | button.UnSelectedImagePath = "Gateway/RealGateway" + zbGateway.getGwInfo.LinuxImageType + ".png";
|
| | | }
|
| | | else
|
| | | {
|
| | | //给一个线程去获取它的镜像类型
|
| | | HdlThreadLogic.Current.RunThread(async () =>
|
| | | {
|
| | | Application.RunOnMainThread(() =>
|
| | | var result = await this.GetGatewayNewInfoAsync(zbGateway, ShowErrorMode.NO);
|
| | | if (result != null)
|
| | | {
|
| | | if (button != null)
|
| | | zbGateway.getGwInfo = result;
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | button.UnSelectedImagePath = "Gateway/RealGateway" + result.LinuxImageType + ".png";
|
| | | }
|
| | | });
|
| | | }
|
| | | });
|
| | | });
|
| | | }
|
| | | });
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | button.UnSelectedImagePath = "Gateway/RealGateway" + this.GetGwInfoAttribute(localWay, "LinuxImageType").ToString() + ".png";
|
| | | button.UnSelectedImagePath = "Gateway/RealGateway" + localWay.getGwInfo.LinuxImageType + ".png";
|
| | | }
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 设置网关图标,规格:110X110
|
| | | /// 设置网关图标
|
| | | /// </summary>
|
| | | /// <param name="button"></param>
|
| | | /// <param name="zbGateway"></param>
|
| | |
| | | var localWay = this.GetLocalGateway(gwID);
|
| | | if (localWay == null || localWay.getGwInfo == null)
|
| | | {
|
| | | //给一个线程去获取它的镜像类型
|
| | | HdlThreadLogic.Current.RunThread(async () =>
|
| | | if (zbGateway.getGwInfo != null && zbGateway.getGwInfo.LinuxImageType != 0)
|
| | | {
|
| | | var result = await this.GetGatewayNewInfoAsync(zbGateway, ShowErrorMode.NO);
|
| | | if (result != null)
|
| | | button.UnSelectedImagePath = "Gateway/GatewayIcon" + zbGateway.getGwInfo.LinuxImageType + ".png";
|
| | | }
|
| | | else
|
| | | {
|
| | | //给一个线程去获取它的镜像类型
|
| | | HdlThreadLogic.Current.RunThread(async () =>
|
| | | {
|
| | | Application.RunOnMainThread(() =>
|
| | | var result = await this.GetGatewayNewInfoAsync(zbGateway, ShowErrorMode.NO);
|
| | | if (result != null)
|
| | | {
|
| | | if (button != null)
|
| | | zbGateway.getGwInfo = result;
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | button.UnSelectedImagePath = "Gateway/GatewayIcon" + result.LinuxImageType + ".png";
|
| | | button.SelectedImagePath = "Gateway/GatewayIcon" + result.LinuxImageType + "Selected.png";
|
| | | }
|
| | | });
|
| | | }
|
| | | });
|
| | | });
|
| | | }
|
| | | });
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | string linType = this.GetGwInfoAttribute(localWay, "LinuxImageType").ToString();
|
| | | button.UnSelectedImagePath = "Gateway/GatewayIcon" + linType + ".png";
|
| | | button.SelectedImagePath = "Gateway/GatewayIcon" + linType + "Selected.png";
|
| | | button.UnSelectedImagePath = "Gateway/GatewayIcon" + localWay.getGwInfo.LinuxImageType + ".png";
|
| | | }
|
| | | }
|
| | |
|
| | |
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 测试网关___________________________
|
| | | #region ■ 网关定位___________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 发送测试指令到设备(网关LED闪烁识别)
|
| | | /// 发送指令到网关进行定位(网关LED闪烁识别)
|
| | | /// </summary>
|
| | | /// <param name="zbGateway"></param>
|
| | | public void SetTestCommand(ZbGateway zbGateway)
|
| | | public void SetFixedPositionCommand(ZbGateway zbGateway)
|
| | | {
|
| | | ZbGateway realWay = null;
|
| | | if (this.GetRealGateway(ref realWay, zbGateway) == false)
|