File was renamed from ZigbeeApp20200828/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs |
| | |
| | | string caption = Language.StringByID(R.MyInternationalizationString.uDeviceNote);
|
| | | string deviceName = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]);
|
| | | var btnNote = new FrameCaptionInputControl(caption, deviceName, listview.rowSpace / 2);
|
| | | btnNote.txtInput.MaxByte = 48;//限制只能输入48个字节
|
| | | listview.AddChidren(btnNote);
|
| | | btnNote.InitControl();
|
| | | //划线
|
| | |
| | | }
|
| | | if (oldName != btnNote.Text)
|
| | | {
|
| | | //查看模板时,不允许编辑
|
| | | if (Common.Config.Instance.Home.IsShowTemplate == true)
|
| | | {
|
| | | return;
|
| | | }
|
| | | //修改名字
|
| | | this.DeviceReName(btnNote.Text, false);
|
| | | }
|
| | |
| | | rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uInstallationLocation), this.listNewDevice);
|
| | | //底线
|
| | | rowBeloneArea.AddBottomLine();
|
| | | //查看模板时,不允许编辑
|
| | | if (Common.Config.Instance.Home.IsShowTemplate == true)
|
| | | {
|
| | | rowBeloneArea.CanClick = false;
|
| | | }
|
| | |
|
| | | var listCheck = new List<string>();
|
| | | rowBeloneArea.SelectRoomEvent += (roomKeys) =>
|
| | |
| | | this.CloseForm();
|
| | | }
|
| | | };
|
| | | //如果当前住宅是虚拟住宅的话,让所有菜单都不能点击
|
| | | if (Common.Config.Instance.Home.IsVirtually == true)
|
| | | //查看模板时,不允许编辑
|
| | | if (Common.Config.Instance.Home.IsShowTemplate == true)
|
| | | {
|
| | | for (int i = 0; i < listview.ChildrenCount; i++)
|
| | | {
|
| | |
| | | var form = new DevicePanel.PanelFangyueFunctionSettionForm();
|
| | | form.AddForm(listNewDevice[0], deviceEnumInfo);
|
| | | }
|
| | | //简约环境面板的按键配置
|
| | | //简约多功能面板
|
| | | else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleMultifunction)
|
| | | {
|
| | | var form = new DeviceFunctionSettionForm();
|
| | | if (listNewDevice.Count > 62)
|
| | | foreach (var dev in listNewDevice) |
| | | {
|
| | | form.AddForm(listNewDevice[62], true);
|
| | | if (dev.Type == DeviceType.OnOffOutput && dev.DeviceEpoint == 62) |
| | | { |
| | | form.AddForm(dev, true); |
| | | }
|
| | | } |
| | | |
| | | }
|
| | | //河东的面板设备
|
| | | else if (deviceEnumInfo.BeloneType == DeviceBeloneType.A按键面板 && deviceEnumInfo.IsHdlDevice == true)
|
| | |
| | | btnSwitch.IsSelected = statu;
|
| | | }
|
| | | };
|
| | | //查看模板时,不允许编辑
|
| | | if (Common.Config.Instance.Home.IsShowTemplate == true)
|
| | | {
|
| | | btnSwitch.CanClick = false;
|
| | | btnSwitch.IsSelected = TemplateData.TemplateDeviceDataLogic.Current.GetCurtainHandPullControl(deviceCurtain);
|
| | | return;
|
| | | }
|
| | | //如果是虚拟住宅
|
| | | if (Common.Config.Instance.Home.IsVirtually == true)
|
| | | {
|
| | | btnSwitch.IsSelected = ModelData.DeviceModelDataLogic.Current.GetCurtainHandPullControl(deviceCurtain);
|
| | | btnSwitch.IsSelected = TemplateData.TemplateDeviceDataLogic.Current.GetCurtainHandPullControl(deviceCurtain);
|
| | | return;
|
| | | }
|
| | |
|
| | |
| | | {
|
| | | return;
|
| | | }
|
| | | } catch (Exception ex)
|
| | | } |
| | | catch (Exception ex)
|
| | | {
|
| | | var mess = ex.Message;
|
| | | }
|
| | |
| | | rowFunction.InitControl();
|
| | | //底线
|
| | | rowFunction.AddBottomLine();
|
| | | //查看模板时,不允许编辑
|
| | | if (Common.Config.Instance.Home.IsShowTemplate == true)
|
| | | {
|
| | | rowFunction.CanClick = false;
|
| | | }
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
| | | listview.AddChidren(rowVersion);
|
| | | rowVersion.AddLeftCaption(caption, 600);
|
| | | //版本
|
| | | this.btnAirConditionerVersion = rowVersion.AddMostRightView("", 800);
|
| | | this.btnAirConditionerVersion = rowVersion.AddMostRightView(string.Empty, 900);
|
| | | if (this.listNewDevice[0] is AC)
|
| | | {
|
| | | this.btnAirConditionerVersion.Text = ((AC)this.listNewDevice[0]).AcModelVersion;
|
| | | }
|
| | | //底线
|
| | | rowVersion.AddBottomLine();
|
| | |
|
| | |
| | | };
|
| | |
|
| | | //如果当前住宅不是虚拟住宅
|
| | | if (Common.Config.Instance.Home.IsVirtually == false)
|
| | | if (Config.Instance.Home.IsVirtually == false
|
| | | && Config.Instance.Home.IsShowTemplate == false)
|
| | | {
|
| | | //设置设备的版本信息
|
| | | this.SetDeviceVersionInfo(btnNewVersion, oTADevice);
|
| | |
| | | {
|
| | | bool receiveImageInfo = false;
|
| | | //设置设备全部的镜像信息
|
| | | HdlDeviceImageInfoLogic.Current.SetAllImageInfoToOtaDevice(oTADevice, (device, reportData) =>
|
| | | string checkKey = LocalDevice.Current.GetDeviceMainKeys(oTADevice.DeviceAddr, oTADevice.DeviceEpoint);
|
| | | HdlGatewayReceiveLogic.Current.AddAttributeEvent("SetDeviceVersionInfo", ReceiveComandDiv.A设备属性上报, (report) =>
|
| | | {
|
| | | if (report.DeviceStatusReport.CluterID == (int)Cluster_ID.Ota)
|
| | | {
|
| | | string mainKey = LocalDevice.Current.GetDeviceMainKeys(report.DeviceAddr, report.DeviceEpoint);
|
| | | if (checkKey == mainKey)
|
| | | {
|
| | | //已经接收得到
|
| | | receiveImageInfo = true;
|
| | | }
|
| | | }
|
| | | });
|
| | | //发送命令
|
| | | HdlDeviceImageInfoLogic.Current.SetFirmwareVersionComand(oTADevice);
|
| | |
|
| | | int count = 5;
|
| | | while (receiveImageInfo == false && count > 0)
|
| | | {
|
| | |
| | | count--;
|
| | | }
|
| | | //移除事件
|
| | | HdlDeviceImageInfoLogic.Current.RemoveDeviceFirmwareVersionThread(oTADevice);
|
| | | HdlGatewayReceiveLogic.Current.RemoveEvent("SetDeviceVersionInfo");
|
| | |
|
| | | oTADevice = Common.LocalDevice.Current.GetOTADevice(listNewDevice[0].DeviceAddr);
|
| | | //添加升级固件信息(成不成功都无所谓)
|
| | | var result = HdlFirmwareUpdateLogic.AddFirmwareVersionInfo(FirmwareLevelType.ZigbeeDevice, oTADevice.HwVersion.ToString(), oTADevice.ImgTypeId.ToString());
|
| | | var result = HdlFirmwareUpdateLogic.AddFirmwareVersionInfo(FirmwareLevelType.A设备, oTADevice.HwVersion.ToString(), oTADevice.ImgTypeId.ToString());
|
| | |
|
| | | //获取设备最新版本
|
| | | var deviceFirmware = HdlFirmwareUpdateLogic.GetFirmwareMostVersionInfo(FirmwareLevelType.ZigbeeDevice,
|
| | | var deviceFirmware = HdlFirmwareUpdateLogic.GetFirmwareMostVersionInfo(FirmwareLevelType.A设备,
|
| | | oTADevice.HwVersion.ToString(),
|
| | | oTADevice.ImgTypeId.ToString(),
|
| | | oTADevice.ImgVersion);
|
| | |
| | | /// </summary>
|
| | | private void InitTopRightMenu()
|
| | | {
|
| | | //查看模板时,不允许编辑
|
| | | if (Common.Config.Instance.Home.IsShowTemplate == true)
|
| | | {
|
| | | return;
|
| | | }
|
| | | var btnIcon = new MostRightIconControl(69, 69);
|
| | | btnIcon.UnSelectedImagePath = "Item/More.png";
|
| | | topFrameLayout.AddChidren(btnIcon);
|
| | |
| | | public override void CloseFormBefore()
|
| | | {
|
| | | HdlGatewayReceiveLogic.Current.RemoveEvent("HandPullControl");
|
| | | //移除获取设备硬件信息的监听线程
|
| | | HdlDeviceHardInfoLogic.Current.RemoveDeviceHardInfoThread(listNewDevice[0]);
|
| | | HdlGatewayReceiveLogic.Current.RemoveEvent("SetDeviceVersionInfo");
|
| | |
|
| | | //设备新入网
|
| | | if (UserCenterResourse.DicActionForm.ContainsKey("AddDeviceTypeListForm") == true)
|
| | |
| | | /// </summary>
|
| | | private void RefreshHardFirmwareInfo()
|
| | | {
|
| | | if (listNewDevice[0].DriveCode > 0)
|
| | | if (listNewDevice[0].DriveCode > 0 || Common.Config.Instance.Home.IsShowTemplate == true)
|
| | | {
|
| | | //虚拟设备没有这种操作
|
| | | return;
|
| | | }
|
| | | //重新获取硬件信息
|
| | | HdlDeviceHardInfoLogic.Current.SetAllHardFirmwareInfoToDevice(listNewDevice[0], (device, reportData) =>
|
| | | {
|
| | | for (int i = 1; i < listNewDevice.Count; i++)
|
| | | {
|
| | | //全部回路的信息都是一致的
|
| | | HdlDeviceHardInfoLogic.Current.SetHardFirmwareInfo(device.DeviceStatusReport, listNewDevice[i]);
|
| | | listNewDevice[i].ReSave();
|
| | | }
|
| | | });
|
| | | HdlDeviceHardInfoLogic.Current.SetAllHardFirmwareInfoToDevice(listNewDevice[0]);
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
| | | {
|
| | | return;
|
| | | }
|
| | | //获取中....
|
| | | this.btnAirConditionerVersion.TextID = R.MyInternationalizationString.uGetting;
|
| | | //如果是虚拟住宅或者展示模板的话
|
| | | if (Config.Instance.Home.IsShowTemplate == true || Config.Instance.Home.IsVirtually == true)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | bool notVersion = true;
|
| | | if (this.listNewDevice[0] is AC)
|
| | | {
|
| | | notVersion = ((AC)this.listNewDevice[0]).AcModelVersion == string.Empty;
|
| | | }
|
| | | if (notVersion == true)
|
| | | {
|
| | | //获取中
|
| | | btnAirConditionerVersion.Text = Language.StringByID(R.MyInternationalizationString.uGetting);
|
| | | }
|
| | | HdlThreadLogic.Current.RunThread(async () =>
|
| | | {
|
| | | //读取空调模块版本
|
| | | var result = await HdlDeviceAirConditionerLogic.Current.ReadACFirewareVersionAsync(listNewDevice[0]);
|
| | | if (result == null || result.readACFirewareVersionResponData == null || result.readACFirewareVersionResponData.Status != 0)
|
| | | {
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | if (notVersion == true)
|
| | | {
|
| | | //获取失败
|
| | | btnAirConditionerVersion.TextID = R.MyInternationalizationString.uGettingFail;
|
| | | });
|
| | | }
|
| | | else
|
| | | {
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | btnAirConditionerVersion.Text = result.readACFirewareVersionResponData.FirewareVersion.Replace("-", string.Empty);
|
| | | btnAirConditionerVersion.Text = Language.StringByID(R.MyInternationalizationString.uGettingFail);
|
| | | });
|
| | | }
|
| | | return;
|
| | | }
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | string strVersion = result.readACFirewareVersionResponData.FirewareVersion.Replace("-", string.Empty);
|
| | | if (this.listNewDevice[0] is AC)
|
| | | {
|
| | | ((AC)this.listNewDevice[0]).AcModelVersion = strVersion;
|
| | | this.listNewDevice[0].ReSave();
|
| | | }
|
| | | btnAirConditionerVersion.Text = strVersion;
|
| | | });
|
| | | });
|
| | | }
|
| | |
|