From f3e65daca7978b21b5888f49b1bf35e1a6e5d4fd Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 13 七月 2020 12:33:31 +0800 Subject: [PATCH] 新版本 --- ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs | 256 ++++++++++++++++++++++++++++++-------------------- 1 files changed, 154 insertions(+), 102 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs index 49ce8de..7dec652 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs @@ -1,6 +1,8 @@ 锘縰sing System; using System.Collections.Generic; using Shared.Common; +using Shared.Phone.UserCenter.Device.Bind; +using Shared.Phone.UserCenter.DeviceBind; using ZigBee.Common; using ZigBee.Device; @@ -53,6 +55,10 @@ /// 琚粦鐩爣鏄疨M2.5 /// </summary> private CommonDevice bindPMDev; + // <summary> + /// 鎸夐敭涓缁戝畾鐨勭洰鏍囧垪琛� + /// </summary> + public List<BindObj.BindListResponseObj> bindList = new List<BindObj.BindListResponseObj>(); #endregion @@ -66,7 +72,7 @@ { this.deviceObj = i_device; //鑾峰彇鏁版嵁 - ReadDoorLockUserInfo(deviceObj); + InitInfo(deviceObj); //璁剧疆澶撮儴淇℃伅 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uPanelSettion)); @@ -143,7 +149,7 @@ /// <summary> /// 鍒濆鍖栨暟鎹� /// </summary> - void ReadDoorLockUserInfo(CommonDevice curControlDev) + void InitInfo(CommonDevice curControlDev) { System.Threading.Tasks.Task.Run(async () => { @@ -178,38 +184,153 @@ } }); } + + /// <summary> + /// 鑾峰彇缁戝畾鐩爣 + /// </summary> + /// <param name="curControlDev"></param> + /// <returns></returns> + private async System.Threading.Tasks.Task<bool> GetBindName(CommonDevice curDev) + { + bool result = false; + //鑾峰彇闈㈡澘涓瓨鍦ㄧ殑缁戝畾鐩爣 + FreshAir curControlDev = curDev as FreshAir; + var panelBindListRes = HdlDeviceBindLogic.Current.GetDeviceBindAsync(curControlDev); + if (panelBindListRes != null && panelBindListRes.getAllBindResponseData != null) + { + bindList = panelBindListRes.getAllBindResponseData.BindList; + foreach (var bDev in bindList) + { + var device = Common.LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint); + if (device == null) + { + continue; + } + if (device.Type == DeviceType.FreshAir) + { + //鑾峰彇璁惧绫诲瀷鐨� + var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device }); + //鏂伴闈㈡澘鐨勬柊椋庤澶囷紝鍒欎笉鏄剧ず + if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir) + { + continue; + } + if (string.IsNullOrEmpty(bDev.ESName)) + { + bindFreshAirName = Common.LocalDevice.Current.GetDeviceEpointName(device); + } + else + { + bindFreshAirName = bDev.ESName; + } + + bindFreshAirDev = device; + } + if (device.Type == DeviceType.TemperatureSensor) + { + var bD = device as TemperatureSensor; + if (bD.SensorDiv == 1) + { + if (string.IsNullOrEmpty(bDev.ESName)) + { + bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device); + } + else + { + bindTemperatureName = bDev.ESName; + } + bindTemperatureDev = device; + } + if (bD.SensorDiv == 2) + { + if (string.IsNullOrEmpty(bDev.ESName)) + { + bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device); + } + else + { + bindHumidityName = bDev.ESName; + } + + bindHumidityDev = device; + } + } + if (device.Type == DeviceType.FreshAirHumiditySensor) + { + if (string.IsNullOrEmpty(bDev.ESName)) + { + bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device); + } + else + { + bindHumidityName = bDev.ESName; + } + + bindHumidityDev = device; + } + if (device.Type == DeviceType.PMSensor) + { + if (bDev.BindCluster == 1026) + { + bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor); + bindTemperatureDev = device; + } + if (bDev.BindCluster == 1029) + { + bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor); + bindHumidityDev = device; + } + if (bDev.BindCluster == 1066) + { + if (string.IsNullOrEmpty(bDev.ESName)) + { + bindPmName = Common.LocalDevice.Current.GetDeviceEpointName(device); + } + else + { + bindPmName = bDev.ESName; + } + + bindPMDev = device; + } + } + } + result = true; + } + return result; + } + #endregion - + #region 鈻� 鏂伴鐩爣_________________________ /// <summary> /// 鏂伴鐩爣琛� /// </summary> private void AddFreshAirRow() { - //鏂伴鐩爣 - var rowNewWind = new FrameRowControl(listview.rowSpace / 2); - listview.AddChidren(rowNewWind); - rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uNewWindTarget), 600); - //搴曠嚎 - rowNewWind.AddBottomLine(); - //鍙崇澶� - rowNewWind.AddRightArrow(); + //鏂伴鐩爣 + var rowNewWind = new FrameRowControl(listview.rowSpace / 2); + listview.AddChidren(rowNewWind); + rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uNewWindTarget), 600); + //搴曠嚎 + rowNewWind.AddBottomLine(); + //鍙崇澶� + rowNewWind.AddRightArrow(); var msg = Language.StringByID(R.MyInternationalizationString.nothing); if (!string.IsNullOrEmpty(bindFreshAirName)) { msg = bindFreshAirName; } - var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700); + var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700); - rowNewWind.ButtonClickEvent += (sender, e) => - { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindFreshAirDev, 1); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); + rowNewWind.ButtonClickEvent += (sender, e) => + { + var paneTargetsBaseFormp = new PaneTargetsBaseForm(this.deviceObj, bindFreshAirDev, BindInfo.BindType.FreshAir); + Shared.Phone.UserView.HomePage.Instance.AddChidren(paneTargetsBaseFormp); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addDevicePage.Show(); - - addDevicePage.actionFreshAirTarget += (bindName) => + paneTargetsBaseFormp.Show(); + paneTargetsBaseFormp.actionFreshAirTarget += (bindName) => { Application.RunOnMainThread(() => { @@ -223,70 +344,9 @@ } }); }; - }; } #endregion - - /// <summary> - /// 鑾峰彇缁戝畾鐩爣 - /// </summary> - /// <param name="curControlDev"></param> - /// <returns></returns> - private async System.Threading.Tasks.Task<bool> GetBindName(CommonDevice curDev) - { - bool result = false; - //鑾峰彇闈㈡澘涓瓨鍦ㄧ殑缁戝畾鐩爣 - FreshAir curControlDev = curDev as FreshAir; - var panelBindListRes = await curControlDev.GetDeviceBindAsync(); - if (panelBindListRes != null && panelBindListRes.getAllBindResponseData != null) - { - foreach (var bDev in panelBindListRes.getAllBindResponseData.BindList) - { - curControlDev.bindList.Add(bDev); - var device = Common.LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint); - - if (device.Type == DeviceType.FreshAir) - { - //鑾峰彇璁惧绫诲瀷鐨� - var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device }); - //鏂伴闈㈡澘鐨勬柊椋庤澶囷紝鍒欎笉鏄剧ず - if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir) - { - continue; - } - bindFreshAirName = device.DeviceEpointName; - bindFreshAirDev = device; - } - if (device.Type == DeviceType.TemperatureSensor) - { - var bD = device as TemperatureSensor; - if (bD.SensorDiv == 1) - { - bindTemperatureName = device.DeviceEpointName; - bindTemperatureDev = device; - } - if (bD.SensorDiv == 2) - { - bindHumidityName = device.DeviceEpointName; - bindHumidityDev = device; - } - } - if (device.Type == DeviceType.FreshAirHumiditySensor) - { - bindHumidityName = device.DeviceEpointName; - bindHumidityDev = device; - } - if (device.Type == DeviceType.PMSensor) - { - bindPmName = device.DeviceEpointName; - bindPMDev = device; - } - } - result = true; - } - return result; - } #region 鈻� PM2.5鏉ユ簮_________________________ /// <summary> @@ -310,12 +370,11 @@ var btnPMStatu = rowPM.AddMostRightView(msg, 700); rowPM.ButtonClickEvent += (sender, e) => { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindPMDev, 4); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); + var paneTargetsBaseFormp = new PaneTargetsBaseForm(this.deviceObj, bindPMDev, BindInfo.BindType.PM); + Shared.Phone.UserView.HomePage.Instance.AddChidren(paneTargetsBaseFormp); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addDevicePage.Show(); - - addDevicePage.actionPMTarget += (bindName) => + paneTargetsBaseFormp.Show(); + paneTargetsBaseFormp.actionPMTarget += (bindName) => { Application.RunOnMainThread(() => { @@ -355,12 +414,11 @@ var btnTemperatureStatu = rowTemPerature.AddMostRightView(msg, 700); rowTemPerature.ButtonClickEvent += (sender, e) => { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindTemperatureDev, 2); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); + var paneTargetsBaseFormp = new PaneTargetsBaseForm(this.deviceObj, bindTemperatureDev, BindInfo.BindType.Temperature); + Shared.Phone.UserView.HomePage.Instance.AddChidren(paneTargetsBaseFormp); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addDevicePage.Show(); - - addDevicePage.actionTemperatureTarget += (bindName) => + paneTargetsBaseFormp.Show(); + paneTargetsBaseFormp.actionTemperatureTarget += (bindName) => { Application.RunOnMainThread(() => { @@ -400,12 +458,11 @@ var btnHumidityStatu = rowHumidity.AddMostRightView(msg, 700); rowHumidity.ButtonClickEvent += (sender, e) => { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindHumidityDev, 3); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); + var paneTargetsBaseFormp = new PaneTargetsBaseForm(this.deviceObj, bindHumidityDev, BindInfo.BindType.Humidity); + Shared.Phone.UserView.HomePage.Instance.AddChidren(paneTargetsBaseFormp); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addDevicePage.Show(); - - addDevicePage.actionHumidityTarget += (bindName) => + paneTargetsBaseFormp.Show(); + paneTargetsBaseFormp.actionHumidityTarget += (bindName) => { Application.RunOnMainThread(() => { @@ -439,13 +496,8 @@ rowLight.AddRightArrow(); rowLight.ButtonClickEvent += (sender, e) => { - //缁欐柊椋庨潰鏉垮缓绔嬩竴涓柊鐨勬敮鎸侀潰鏉垮璞★紝鐢�200绔偣璁剧疆 - var panel = new Panel(); - panel.DeviceAddr = this.deviceObj.DeviceAddr; - panel.DeviceEpoint = 200; - panel.CurrentGateWayId = this.deviceObj.CurrentGateWayId; - var form = new PanelFangyueFreshAirBackLightSettionForm(); - form.AddForm(panel); + var form = new PanelBrightnessAdjustForm(); + form.AddForm(this.deviceObj); }; } #endregion -- Gitblit v1.8.0