From eb424d24e39bab4a245725f35deab3f234ea0f13 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期五, 13 十二月 2019 10:48:50 +0800 Subject: [PATCH] 2019.12.13 --- ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs | 151 +++++++++++++++++++++---------------------------- 1 files changed, 65 insertions(+), 86 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs index 5b44e56..230ce9c 100644 --- a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs @@ -3,6 +3,7 @@ using ZigBee.Device; using Shared.Phone.Device.CommonForm; using Shared.Phone.UserView; +using Shared.Phone.Device.DeviceLogic; namespace Shared.Phone.Device.AC { @@ -112,7 +113,15 @@ /// mArcScaleSeekBar /// </summary> private ArcScaleSeekBar mArcScaleSeekBar = new ArcScaleSeekBar { }; + /// <summary> + /// 娓呮磥鐘舵�� + /// </summary> + private LeftIconButtonRow cleanStatu; + /// <summary> + /// IsDrawerLockMode + /// </summary> + public bool IsDrawerLockMode; #endregion #region 鈼� 鎺ュ彛___________________________ @@ -230,6 +239,22 @@ FanSwingModeBtn.IsSelected = true; } break; + + case 4097: + //杩囪檻缃戞竻娲楁爣蹇�:42 + ac.CleanStatu = attriButeList[0].AttriButeData == 42; + cleanStatu.Visible = ac.CleanStatu; + break; + + case 4099: + var value = Convert.ToString(attriButeList[0].AttriButeData, 2).PadLeft(16, '0'); + var modeStr = value.Substring(value.Length - 5, 5); + for (int j = 0; j < modeStr.Length; j++) + { + ac.listSupportMode[j] = Convert.ToInt32(modeStr[j]) == 49 ? 1 : 0; + } + break; + } } @@ -333,6 +358,8 @@ { BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; ZigBee.Device.ZbGateway.StatusList.Add(this); + HomePage.Instance.ScrollEnabled = false; + } #endregion @@ -348,6 +375,11 @@ //action(); //action = null; RemoveUpdateControlDeviceStatuAction(); + HomePage.Instance.ScrollEnabled = true; + if (IsDrawerLockMode) + { + CommonPage.Instance.IsDrawerLockMode = false; + } base.RemoveFromParent(); } @@ -379,26 +411,7 @@ //鍙戦�佽鍙栫姸鎬佸懡浠� UserView.UserHomeView.ReadStatus(ac, () => { - new System.Threading.Thread(() => - { - System.Threading.Thread.Sleep(100); - ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - System.Threading.Thread.Sleep(100); - ac.ReadLocalTemperature(); - System.Threading.Thread.Sleep(100); - ac.ReadCoolingSetpoint(); - System.Threading.Thread.Sleep(100); - ac.ReadHeatingSetpoint(); - System.Threading.Thread.Sleep(100); - ac.ReadAutoSetpoint(); - System.Threading.Thread.Sleep(100); - ac.ReadFanMode(); - System.Threading.Thread.Sleep(100); - ac.ReadSystemMode(); - System.Threading.Thread.Sleep(100); - ac.ReadSystemFansSwingMode(); - }) - { IsBackground = true }.Start(); + ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice); }); } else @@ -406,26 +419,7 @@ //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) { - new System.Threading.Thread(() => - { - System.Threading.Thread.Sleep(100); - ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - System.Threading.Thread.Sleep(100); - ac.ReadLocalTemperature(); - System.Threading.Thread.Sleep(100); - ac.ReadCoolingSetpoint(); - System.Threading.Thread.Sleep(100); - ac.ReadHeatingSetpoint(); - System.Threading.Thread.Sleep(100); - ac.ReadAutoSetpoint(); - System.Threading.Thread.Sleep(100); - ac.ReadFanMode(); - System.Threading.Thread.Sleep(100); - ac.ReadSystemMode(); - System.Threading.Thread.Sleep(100); - ac.ReadSystemFansSwingMode(); - }) - { IsBackground = true }.Start(); + ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice); } } @@ -439,9 +433,7 @@ collectionBtn.IsSelected = true; } - BindEvent(); - } #endregion @@ -461,7 +453,6 @@ RemoveFromParent(); }; - var moreBtn = new Button { X = Application.GetRealWidth(953), @@ -473,7 +464,6 @@ top.topView.AddChidren(moreBtn); moreBtn.MouseUpEventHandler += More; - } /// <summary> /// AddBodyView @@ -498,6 +488,11 @@ BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor }; bodyFrameLayout.AddChidren(itemView); + + cleanStatu = new LeftIconButtonRow(400, 80, 0, 20); + itemView.AddChidren(cleanStatu); + cleanStatu.Init("AC/AC_TIP.png", "AC/AC_TIP.png", Language.StringByID(R.MyInternationalizationString.NeedCleanAC), false); + cleanStatu.Visible = false; collectionBtn = new Button() { @@ -546,19 +541,16 @@ itemView.AddChidren(mArcScaleSeekBar); mArcScaleSeekBar.OnStopTrackingTouchEvent += (sender, e) => { - //cool //dry if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) { ac.currentCoolingSetpoint = e; ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100); } - //heat else if (ac.currentSystemMode == 4) { ac.currentHeatingSetpoint = e; ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100); } - //auto else if (ac.currentSystemMode == 1) { ac.currentAutoSetpoint = e; @@ -566,7 +558,6 @@ } }; - //褰撳墠妯″紡 currentModeBtn = new Button() { Y = Application.GetRealHeight(599), @@ -577,7 +568,7 @@ Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode) }; itemView.AddChidren(currentModeBtn); - //闄嶄綆娓╁害 + reduceTemperatureBtn = new Button() { X = Application.GetRealWidth(268), @@ -588,7 +579,6 @@ }; itemView.AddChidren(reduceTemperatureBtn); - //娣诲姞娓╁害 addTemperatureBtn = new Button() { X = Application.GetRealWidth(628), @@ -599,7 +589,6 @@ }; itemView.AddChidren(addTemperatureBtn); - //鎵 FanSwingModeBtn = new Button() { X = Application.GetRealWidth(156), @@ -612,7 +601,6 @@ }; itemView.AddChidren(FanSwingModeBtn); - //妯″紡 modeBtn = new Button() { X = Application.GetRealWidth(346), @@ -625,7 +613,6 @@ }; itemView.AddChidren(modeBtn); - //寮�鍏� switchBtn = new Button() { X = Application.GetRealWidth(536), @@ -638,7 +625,6 @@ }; itemView.AddChidren(switchBtn); - //椋庨�� fanModeBtn = new Button() { X = Application.GetRealWidth(729), @@ -927,13 +913,13 @@ }; closeBGview.AddChidren(changeModeBG); - var changeModeFL = new FrameLayout() + var changeModeFL = new VerticalScrolViewLayout() { X = Application.GetRealWidth(230), Y = Application.GetRealHeight(450), Height = Application.GetRealHeight(900), Width = Application.GetRealWidth(modeItem_Width), - Radius = CommonPage.BigFormRadius, + Radius = CommonFormResouce.BigFormRadius, BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, //BackgroundIagePath="AC/SelectedModeBG.png" }; @@ -945,7 +931,7 @@ Width = Application.GetRealWidth(modeItem_Width - modeItem_X), Height = Application.GetRealHeight(modeItem_Height), TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextID = R.MyInternationalizationString.SelectFanMode, + TextID = R.MyInternationalizationString.SelectMode, TextAlignment = TextAlignment.CenterLeft }; changeModeFL.AddChidren(changeModeBtn); @@ -957,7 +943,10 @@ Height = Application.GetRealHeight(modeItem_Height), Tag = ZigBee.Device.AC.AcMode.Auto }; - changeModeFL.AddChidren(mode_Auto); + if (ac.listSupportMode[4] == 1) + { + changeModeFL.AddChidren(mode_Auto); + } mode_Auto.Init("AC/Mode_Auto.png", "AC/Mode_AutoSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Auto)); var mode_Cool = new CommonForm.ACLeftIconButtonRowLayout() @@ -967,7 +956,10 @@ Height = Application.GetRealHeight(modeItem_Height), Tag = ZigBee.Device.AC.AcMode.Cool }; - changeModeFL.AddChidren(mode_Cool); + if (ac.listSupportMode[0] == 1) + { + changeModeFL.AddChidren(mode_Cool); + } mode_Cool.Init("AC/Mode_Cool.png", "AC/Mode_CoolSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Cool)); var mode_Heat = new CommonForm.ACLeftIconButtonRowLayout() @@ -977,7 +969,10 @@ Height = Application.GetRealHeight(modeItem_Height), Tag = ZigBee.Device.AC.AcMode.Heat }; - changeModeFL.AddChidren(mode_Heat); + if (ac.listSupportMode[1] == 1) + { + changeModeFL.AddChidren(mode_Heat); + } mode_Heat.Init("AC/Mode_Heat.png", "AC/Mode_HeatSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Heat)); var mode_Dry = new CommonForm.ACLeftIconButtonRowLayout() @@ -987,7 +982,10 @@ Height = Application.GetRealHeight(modeItem_Height), Tag = ZigBee.Device.AC.AcMode.Dry }; - changeModeFL.AddChidren(mode_Dry); + if (ac.listSupportMode[3] == 1) + { + changeModeFL.AddChidren(mode_Dry); + } mode_Dry.Init("AC/Mode_Dry.png", "AC/Mode_DrySelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Dry)); var mode_Fan = new CommonForm.ACLeftIconButtonRowLayout() @@ -997,8 +995,12 @@ Height = Application.GetRealHeight(modeItem_Height), Tag = ZigBee.Device.AC.AcMode.FanOnly }; - changeModeFL.AddChidren(mode_Fan); + if (ac.listSupportMode[2] == 1) + { + changeModeFL.AddChidren(mode_Fan); + } mode_Fan.Init("AC/Mode_Fan.png", "AC/Mode_FanSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_FanOnly), false); + mode_Auto.TitleButton.MouseUpEventHandler += ChangeMode_MouseUpEvent; mode_Auto.IconButton.MouseUpEventHandler += ChangeMode_MouseUpEvent; @@ -1093,13 +1095,11 @@ ac.currentSystemMode = (int)acMode; mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac); ac.SetSystemModeAsync(acMode); - - } #endregion - #region 鈼� 鍒囨崲鎵___________________________ + #region 鈼� 鍒囨崲鎵______________________ /// <summary> @@ -1292,7 +1292,6 @@ mode = ZigBee.Device.AC.FanSwingMode.Fifth; } - ChangeFanSwing(mode); } @@ -1332,7 +1331,6 @@ ACControlBase.ShowACIsCloseTip(); return; } - //cool //dry if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) { if (ac.currentCoolingSetpoint >= ACControlBase.Temperature_High) @@ -1341,10 +1339,8 @@ } ac.currentCoolingSetpoint += 1; ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100); - //currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C"; mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint; } - //heat else if (ac.currentSystemMode == 4) { if (ac.currentHeatingSetpoint >= ACControlBase.Temperature_High) @@ -1353,10 +1349,8 @@ } ac.currentHeatingSetpoint += 1; ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100); - //currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C"; mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint; } - //auto else if (ac.currentSystemMode == 1) { if (ac.currentAutoSetpoint >= ACControlBase.Temperature_High) @@ -1365,10 +1359,8 @@ } ac.currentAutoSetpoint += 1; ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100); - //currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C"; mArcScaleSeekBar.Progress = ac.currentAutoSetpoint; } - } #endregion @@ -1387,7 +1379,6 @@ ACControlBase.ShowACIsCloseTip(); return; } - //cool //dry if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) { if (ac.currentCoolingSetpoint <= ACControlBase.Temperature_Low) @@ -1396,11 +1387,8 @@ } ac.currentCoolingSetpoint -= 1; ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100); - - //currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C"; mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint; } - //heat else if (ac.currentSystemMode == 4) { if (ac.currentHeatingSetpoint <= ACControlBase.Temperature_Low) @@ -1409,11 +1397,8 @@ } ac.currentHeatingSetpoint -= 1; ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100); - - //currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C"; mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint; } - //auto else if (ac.currentSystemMode == 1) { if (ac.currentAutoSetpoint <= ACControlBase.Temperature_Low) @@ -1422,11 +1407,8 @@ } ac.currentAutoSetpoint -= 1; ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100); - - //currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C"; mArcScaleSeekBar.Progress = ac.currentAutoSetpoint; } - } #endregion @@ -1463,7 +1445,6 @@ /// </summary> private void RemoveUpdateControlDeviceStatuAction() { - //绉婚櫎action if (zbGateway != null) { zbGateway.ReportAction -= UpdateDeviceControllStatu; @@ -1502,7 +1483,6 @@ /// <param name="e">E.</param> private void Collection(object sender, MouseEventArgs e) { - //collection if (collectionBtn.IsSelected) { Shared.Common.Room.Lists[0].DeleteDevice(device.FileName); @@ -1527,7 +1507,6 @@ private void BackToRoomHandler(object sender, MouseEventArgs mouseEventArgs) { //backToRoom - } #endregion -- Gitblit v1.8.0