| | |
| | | public void ShowForm(string deviceMac)
|
| | | {
|
| | | this.listNewDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceMac);
|
| | | if (listNewDevice.Count == 0)
|
| | | {
|
| | | //针对单纯只有一个200端点的设备
|
| | | listNewDevice.Add(Common.LocalDevice.Current.GetOTADevice(deviceMac));
|
| | | }
|
| | |
|
| | | this.listDeviceType.Clear();
|
| | | foreach (var device in listNewDevice)
|
| | |
| | | {
|
| | | foreach (var device in this.listNewDevice)
|
| | | {
|
| | | if (device is OTADevice)
|
| | | {
|
| | | //针对单纯只有一个200端点的设备
|
| | | continue;
|
| | | }
|
| | | var room = Room.CurrentRoom.GetRoomByDevice(device);
|
| | | string mainKeys = LocalDevice.Current.GetDeviceMainKeys(device);
|
| | | if (room == null)
|
| | |
| | | this.AddDirectionAndLimitRow();
|
| | | //添加【手拉控制】行(开合帘专用)
|
| | | this.AddHandPullControlRow();
|
| | | //添加【按键设置】行(面板专用)
|
| | | this.AddPanelSettionRow();
|
| | | //添加【按键设置】行(方悦专用) --这个有可能和面板重叠
|
| | | if (this.AddFangyuePanelSettionRow() == false)
|
| | | {
|
| | | //添加【按键设置】行(面板专用)
|
| | | this.AddPanelSettionRow();
|
| | | }
|
| | | //添加【功能设置】行
|
| | | this.AddFunctionSettionRow();
|
| | | //添加【干接点设置】行
|
| | |
| | | #region ■ 按键设置(面板)_____________________
|
| | |
|
| | | /// <summary>
|
| | | /// 添加【按键设置】行
|
| | | /// 添加【按键设置】行(面板)
|
| | | /// </summary>
|
| | | private void AddPanelSettionRow()
|
| | | {
|
| | |
| | | var form = new DevicePanel.PanelButtonSettionForm();
|
| | | form.AddForm(listNewDevice[0]);
|
| | | };
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 按键设置(方悦)_____________________
|
| | |
|
| | | /// <summary>
|
| | | /// 添加【按键设置】行(方悦)
|
| | | /// </summary>
|
| | | private bool AddFangyuePanelSettionRow()
|
| | | {
|
| | | if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueTwo
|
| | | || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFour
|
| | | || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEight
|
| | | || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment
|
| | | || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueNewWind)
|
| | | {
|
| | | //按键设置
|
| | | string caption = Language.StringByID(R.MyInternationalizationString.uPanelSettion);
|
| | | var btnFunction = new FrameRowControl(listview.rowSpace / 2);
|
| | | listview.AddChidren(btnFunction);
|
| | | btnFunction.AddLeftCaption(caption, 600);
|
| | | //向右图标
|
| | | btnFunction.AddRightArrow();
|
| | | //底线
|
| | | btnFunction.AddBottomLine();
|
| | | btnFunction.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueTwo
|
| | | || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFour
|
| | | || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEight)
|
| | | {
|
| | | //方悦面板的按键配置
|
| | | var form = new DevicePanel.PanelFangyueButtonSettionForm();
|
| | | form.AddForm(listNewDevice[0]);
|
| | | }
|
| | | else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment)
|
| | | {
|
| | | //方悦环境面板的按键配置
|
| | | var form = new DevicePanel.PanelFangyueEnvironmentButtonSettionForm();
|
| | | form.AddForm(listNewDevice[0]);
|
| | | }
|
| | | else
|
| | | {
|
| | | //方悦新风面板的按键配置
|
| | | }
|
| | | };
|
| | | return true;
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
| | | {
|
| | | return;
|
| | | }
|
| | | if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment
|
| | | || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueNewWind)
|
| | | {
|
| | | //环境面板没有功能设置
|
| | | return;
|
| | | }
|
| | |
|
| | | //功能设置
|
| | | string caption = Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp);
|
| | |
| | | btnFunction.AddBottomLine();
|
| | | btnFunction.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | //方悦面板
|
| | | if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueTwo
|
| | | || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFour
|
| | | || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEight)
|
| | | {
|
| | | var form = new DevicePanel.PanelFangyueFunctionSettionForm();
|
| | | form.AddForm(listNewDevice[0]);
|
| | | }
|
| | | //河东的面板设备
|
| | | if (deviceEnumInfo.BeloneType == DeviceBeloneType.A按键面板 && deviceEnumInfo.IsHdlDevice == true)
|
| | | else if (deviceEnumInfo.BeloneType == DeviceBeloneType.A按键面板 && deviceEnumInfo.IsHdlDevice == true)
|
| | | {
|
| | | var form = new DevicePanel.PanelFunctionSettionForm();
|
| | | form.AddForm(listNewDevice[0]);
|
| | |
| | | /// </summary>
|
| | | private void AddIndoorUnitSettionRow()
|
| | | {
|
| | | if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.AirConditioner_ZbGateway)
|
| | | if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.AirConditioner_ZbGateway
|
| | | || this.listNewDevice[0] is OTADevice)//追加:单纯只有200端点的话,不显示这个菜单
|
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | //室内机设置
|
| | | string caption = Language.StringByID(R.MyInternationalizationString.uIndoorUnitSettion);
|
| | | var btnFunction = new FrameRowControl(listview.rowSpace / 2);
|
| | |
| | | {
|
| | | //中央空调的升级的话,是特殊的
|
| | | var form = new DeviceAirConditioner.ACZbGatewayUpdateMenuForm();
|
| | | form.AddForm((AC)listNewDevice[0], btnNewVersion.Visible);
|
| | | form.AddForm(listNewDevice[0], btnNewVersion.Visible);
|
| | | }
|
| | | btnNewVersion.Visible = false;
|
| | | };
|
| | |
| | | HdlThreadLogic.Current.RunThread(async () =>
|
| | | {
|
| | | //读取空调模块版本
|
| | | var result = await ((AC)listNewDevice[0]).ReadACFirewareVersionAsync();
|
| | | var result = await HdlDeviceAirConditionerLogic.Current.ReadACFirewareVersionAsync(listNewDevice[0]);
|
| | | if (result == null || result.readACFirewareVersionResponData == null || result.readACFirewareVersionResponData.Status != 0)
|
| | | {
|
| | | HdlThreadLogic.Current.RunMain(() =>
|