From 2ed75b8b337048e5d75e6d9ec8307633134f02fd Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 10 十月 2019 11:33:04 +0800 Subject: [PATCH] 个人中心添加楼层和创建房间,实装二级验证 --- ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs | 3469 +++++++++++++++++++++++++++++++---------------------------- 1 files changed, 1,840 insertions(+), 1,629 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs index b80edea..8004460 100755 --- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs +++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs @@ -1,7 +1,9 @@ 锘縰sing System; using System.Collections.Generic; using Shared.Common; +using Shared.Phone.Device.AC; using ZigBee.Device; +using Shared.Phone.Device.CommonForm; namespace Shared.Phone.UserView { @@ -33,9 +35,9 @@ /// </summary> private static readonly int topFrameLayout_Height = 500; /// <summary> - /// The height of the middle view.-- 1920-500-160 + /// 1524 /// </summary> - private static readonly int midView_Height = CommonPage.AppRealHeight - topFrameLayout_Height - CommonPage.TabbarHeight; + private static readonly int midView_Height = 1524; /// <summary> /// The height of the room page view. -- 550 /// </summary> @@ -229,6 +231,17 @@ break; case DeviceType.WindowCoveringDevice: + if ((common as Rollershade).DeviceStatusReport.CluterID == 258) + { + if ((common as Rollershade).DeviceStatusReport.AttriBute[0].AttributeId == 0) + { + //绐楀笜绫诲瀷 + var rollerShade = deviceUI.CommonDevice as Rollershade; + rollerShade.DeviceStatusReport = (common as Rollershade).DeviceStatusReport; + rollerShade.WcdType = (common as Rollershade).DeviceStatusReport.AttriBute[0].AttriButeData; + rollerShade.LastDateTime = DateTime.Now; + } + } if ((common as ZigBee.Device.Rollershade).DeviceStatusReport.CluterID == 3) { var rollershade = deviceUI.CommonDevice as ZigBee.Device.Rollershade; @@ -265,11 +278,34 @@ { case 0: //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝 - ac.currentLocalTemperature = attriButeList[0].AttriButeData / 100; + ac.currentLocalTemperature = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default; ac.LastDateTime = DateTime.Now; - //indoorTemperatureBtn.Text = $"瀹ゆ俯 {ac.currentLocalTemperature} 鈩�"; - //currentTemperatureBtn.Text = $"{ac.currentLocalTemperature} 鈩�"; - //Temparetrue + break; + + case 17: + //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鍐锋俯搴︼紝瀹為檯娓╁害涓衡�淐oolingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆� + ac.currentCoolingSetpoint = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default; + ac.LastDateTime = DateTime.Now; + break; + + case 18: + //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鐑俯搴︼紝瀹為檯娓╁害涓衡�淗eatingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆� + ac.currentHeatingSetpoint = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default; + ac.LastDateTime = DateTime.Now; + break; + + case 4096: + //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勮嚜鍔ㄦ俯搴︼紝瀹為檯娓╁害涓衡�淎utoSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆� + ac.currentAutoSetpoint = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default; + ac.LastDateTime = DateTime.Now; + break; + + case 28: + //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡 + //Off = 0 Auto = 1 Cool = 3 Heat = 4 FanOnly = 7 Dry = 8 + ac.currentSystemMode = attriButeList[0].AttriButeData; + ac.LastDateTime = DateTime.Now; + for (int j = 0; j < frameLayout.ChildrenCount; j++) { var tempView = frameLayout.GetChildren(j); @@ -280,42 +316,16 @@ if (tempView.Tag.ToString() == "Temparetrue") { - (tempView as Button).Text = $"{ac.currentLocalTemperature} 鈩�"; + (tempView as Button).Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 鈩�"; } - } - break; - case 17: - //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鍐锋俯搴︼紝瀹為檯娓╁害涓衡�淐oolingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆� - ac.currentCoolingSetpoint = attriButeList[0].AttriButeData / 100; - ac.LastDateTime = DateTime.Now; - break; - - case 18: - //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鐑俯搴︼紝瀹為檯娓╁害涓衡�淗eatingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆� - ac.currentHeatingSetpoint = attriButeList[0].AttriButeData / 100; - ac.LastDateTime = DateTime.Now; - break; - - case 28: - //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡 - //Off = 0 Auto = 1 Cool = 3 Heat = 4 FanOnly = 7 Dry = 8 - ac.currentSystemMode = attriButeList[0].AttriButeData; - ac.LastDateTime = DateTime.Now; - for (int j = 0; j < frameLayout.ChildrenCount; j++) - { - var tempView = frameLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } if (tempView.Tag.ToString() == deviceStatus_OnOffStatus) { - (tempView as Button).IsSelected = ac.currentSystemMode != 0; } } break; + } @@ -600,7 +610,7 @@ public UserHomeView() { ZbGateway.StatusList.Add(this); - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; + BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor; } /// <summary> @@ -608,55 +618,83 @@ /// </summary> public void Show() { - this.RemoveAll(); #region topview var topFrameLayout = new FrameLayout() { - Height = Application.GetRealHeight(topFrameLayout_Height), - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, + Y=Application.GetRealHeight(60), + Height = Application.GetRealHeight(127), + BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor, }; - this.AddChidren(topFrameLayout); + AddChidren(topFrameLayout); - var homeBtn = new Device.CommonForm.SelectedStatuButton() + var floor = new Button { - Y = Application.GetRealHeight(100), - X = Application.GetRealWidth(50), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = "Item/MyHome.png", - + X = Application.GetRealWidth(CommonFormResouce.X_Left), + Width = Application.GetMinRealAverage(69), + Height = Application.GetMinRealAverage(69), + Gravity = Gravity.CenterVertical, + UnSelectedImagePath = "Item/Floor.png" }; - topFrameLayout.AddChidren(homeBtn); + topFrameLayout.AddChidren(floor); - var residecneName = new Button() + var floorBtn = new Button { - Y = Application.GetRealHeight(100), - Width = Application.GetRealWidth(600), - Height = Application.GetRealHeight(110), - TextAlignment = TextAlignment.Center, - Text = Config.Instance.Home.Name ?? Language.StringByID(R.MyInternationalizationString.TheResidenceNameNull), - TextSize = 20, - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - Gravity = Gravity.CenterHorizontal + X=floor.Right, + Width=Application.GetRealWidth(500), + Height=Application.GetRealHeight(100), + Gravity = Gravity.CenterVertical, + TextAlignment =TextAlignment.CenterLeft, + TextColor=ZigbeeColor.Current.GXCTextColor, + Text=Config.Instance.Home.GetCurrentFloorName() }; - topFrameLayout.AddChidren(residecneName); + topFrameLayout.AddChidren(floorBtn); var messageBtn = new Button() { - X = Application.GetRealWidth(CommonPage.AppRealWidth - 150), - Y = Application.GetRealHeight(100), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = "Item/Message.png" + X = Application.GetRealWidth(953), + Width = Application.GetMinRealAverage(69), + Height = Application.GetMinRealAverage(69), + Gravity = Gravity.CenterVertical, + UnSelectedImagePath = "Item/Message.png", + SelectedImagePath="Item/MessageSelected.png" }; - //鏆傛椂闅愯棌 - //topFrameLayout.AddChidren(messageBtn); + topFrameLayout.AddChidren(messageBtn); - //鍒囨崲浣忓畢 - homeBtn.MouseUpEventHandler += (send, e) => + var residecneName = new Button() { + X=Application.GetRealWidth(CommonFormResouce.X_Left), + Y = Application.GetRealHeight(161), + Width = Application.GetRealWidth(700), + Height = Application.GetRealHeight(95), + TextAlignment = TextAlignment.CenterLeft, + Text = Config.Instance.Home.Name ?? Language.StringByID(R.MyInternationalizationString.TheResidenceNameNull), + TextSize = 24, + TextColor = ZigbeeColor.Current.GXCTextBlackColor + }; + if(Config.Instance.Home.IsOthreShare) + { + residecneName.Text = $"({Language.StringByID(R.MyInternationalizationString.Shared)}){Config.Instance.Home.Name}"; + } + AddChidren(residecneName); + + EventHandler<MouseEventArgs> selectFloor = (send, e) => + { + var floorFL = new Phone.Device.Category.SelectFloor(); + AddChidren(floorFL); + floorFL.Init(35,153); + floorFL.FloorAction = (floorName) => + { + floorBtn.Text = floorName; + }; + }; + floor.MouseUpEventHandler += selectFloor; + floorBtn.MouseUpEventHandler += selectFloor; + //鍒囨崲浣忓畢 + residecneName.MouseLongEventHandler += (send, e) => + { + var tempHomeBtn = send as Button; if (Config.Instance.HomeFilePathList.Count == 0) { var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.CurrentlyTheUserIshHouseIsEmptyPleaseBuildANewHouseFirst), Language.StringByID(R.MyInternationalizationString.Close), Language.StringByID(R.MyInternationalizationString.OK)); @@ -680,21 +718,22 @@ residenceListView.Close(); }; - var upperTriangleBtn = new Button() + var bg = new Button { - X = Application.GetRealWidth(25) + homeBtn.X, - Y = homeBtn.Bottom, - Width = Application.GetMinRealAverage(30), - Height = Application.GetMinRealAverage(15), - UnSelectedImagePath = "Item/UpperTriangle.png" + X = Application.GetRealWidth(35), + Y = Application.GetRealHeight(248), + Width = Application.GetMinRealAverage(449), + Height = Application.GetMinRealAverage(478), + UnSelectedImagePath = "Item/SelectHouse" }; - closeBGview.AddChidren(upperTriangleBtn); + closeBGview.AddChidren(bg); + var changeHomeFL = new FrameLayout() { - X = Application.GetRealWidth(25), - Y = upperTriangleBtn.Bottom, - Height = Application.GetRealHeight(340), - Width = Application.GetRealWidth(500), + X = Application.GetRealWidth(35), + Y = Application.GetRealHeight(271), + Height = Application.GetRealHeight(449), + Width = Application.GetRealWidth(440), Radius = CommonPage.BigFormRadius, BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor }; @@ -703,9 +742,9 @@ var changeHomeBtn = new Button() { X = Application.GetRealWidth(80), - Width = Application.GetRealWidth(450), - Height = Application.GetRealHeight(110), - TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, + Width = Application.GetRealWidth(350), + Height = Application.GetRealHeight(150), + TextColor = ZigbeeColor.Current.GXCTextBlackColor, TextID = R.MyInternationalizationString.ChangeHome, TextAlignment = TextAlignment.CenterLeft }; @@ -714,7 +753,7 @@ var scrolView = new VerticalScrolViewLayout() { Y = changeHomeBtn.Bottom, - Height = Application.GetRealHeight(220) + Height = Application.GetMinRealAverage(305-10) }; changeHomeFL.AddChidren(scrolView); @@ -729,34 +768,39 @@ } var rowView = new RowLayout() { - Height = Application.GetRealHeight(110) + Height = Application.GetRealHeight(150) }; scrolView.AddChidren(rowView); var pointBtn = new Device.CommonForm.SelectedStatuButton() { + X=Application.GetRealWidth(80), Width = Application.GetMinRealAverage(80), - Height = Application.GetMinRealAverage(110), + Height = Application.GetMinRealAverage(80), Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/Point.png", - SelectedImagePath = "Item/PointSelected.png", + UnSelectedImagePath = "Item/House.png", + SelectedImagePath = "Item/HouseSelected.png", IsSelected = home.Id == Config.Instance.Home.Id }; rowView.AddChidren(pointBtn); var nameBtn = new Device.CommonForm.SelectedStatuButton() { - X = Application.GetRealWidth(80), - Width = Application.GetRealWidth(500 - 80 - 50), + X = Application.GetRealWidth(173), + Width = Application.GetRealWidth(280), TextAlignment = TextAlignment.CenterLeft, Text = home.Name, - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - SelectedTextColor = ZigbeeColor.Current.GXCTextBlueColor, + TextColor = ZigbeeColor.Current.GXCTextGrayColor, + SelectedTextColor = ZigbeeColor.Current.GXCTextBlackColor, IsSelected = home.Id == Config.Instance.Home.Id }; + if(home.IsOthreShare) + { + nameBtn.Text = $"({Language.StringByID(R.MyInternationalizationString.Shared)}){home.Name}"; + } rowView.AddChidren(nameBtn); EventHandler<MouseEventArgs> selectedResidenceHandler = (send1, e1) => { - if (Config.Instance.Home == home) + if (Config.Instance.Home.FileName == homeFilePath) { return; } @@ -766,6 +810,10 @@ nameBtn.IsSelected = true; residecneName.Text = home.Name; + if(home.IsOthreShare) + { + nameBtn.Text = $"({Language.StringByID(R.MyInternationalizationString.Shared)}){home.Name}"; + } clickCheckBtn = pointBtn; clickNameBtn = nameBtn; residenceListView.Close(); @@ -781,6 +829,10 @@ clickCheckBtn = pointBtn; clickNameBtn = nameBtn; residecneName.Text = home.Name; + if (home.IsOthreShare) + { + residecneName.Text = nameBtn.Text = $"({Language.StringByID(R.MyInternationalizationString.Shared)}){home.Name}"; + } } else { @@ -795,39 +847,90 @@ { }; + #endregion - #region midView - var midView = new FrameLayout() + if(CanBindGateway()==false) { - Y = topFrameLayout.Bottom, - Height = midView_Height, - }; - AddChidren(midView); - #endregion + var roomPageView = new PageLayout() + { + Y = Application.GetRealHeight(302), + Width = Application.GetRealWidth(CommonPage.AppRealWidth - CommonPage.XLeft * 2), + Height = Application.GetMinRealAverage(roomPageView_Height), + Radius = CommonPage.BigFormRadius, + Gravity = Gravity.CenterHorizontal, + IsShowPoint = false + }; + AddChidren(roomPageView); - #region --roomPage - var roomPageView = new PageLayout() - { - Y = Application.GetRealHeight(50) + residecneName.Bottom, - Width = Application.GetRealWidth(CommonPage.AppRealWidth - CommonPage.XLeft * 2), - Height = Application.GetMinRealAverage(roomPageView_Height), - Radius = CommonPage.BigFormRadius, - Gravity = Gravity.CenterHorizontal, - IsShowPoint = false - }; - AddChidren(roomPageView); + //褰撳墠鎴块棿 + if (Shared.Common.Room.CanInitAllRoom == true) + { + //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom; + Room.CurrentRoom = Room.Lists[0]; + foreach (var room in Room.Lists) + { + var roomBackView = new FrameLayout() + { + BackgroundImagePath = room.BackgroundImage + }; + roomPageView.AddChidren(roomBackView); + var roomBG = new Button() + { + UnSelectedImagePath = "Room/HomeBG.png", + }; + roomBackView.AddChidren(roomBG); + var roomName = new Button() + { + X = Application.GetRealWidth(20), + Y = Application.GetRealHeight(20), + Width = Application.GetRealWidth(500), + Height = Application.GetRealHeight(80), + Text = room.Name, + TextAlignment = TextAlignment.CenterLeft, + TextColor = ZigbeeColor.Current.GXCTextWhiteColor, + TextSize = 18, + }; + roomBackView.AddChidren(roomName); + var roomListBtn = new Device.CommonForm.SelectedStatuButton() + { + X = roomPageView.Width - Application.GetRealWidth(100 + 20), + Y = Application.GetRealHeight(20), + Width = Application.GetMinRealAverage(100), + Height = Application.GetMinRealAverage(100), + UnSelectedImagePath = "Item/List.png", + SelectedImagePath = "Item/ListSelected.png" + }; + roomBackView.AddChidren(roomListBtn); - //褰撳墠鎴块棿 - if (Shared.Common.Room.canInitAllRoom == true) - { - //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom; - Room.CurrentRoom = Room.Lists[0]; - foreach (var room in Room.Lists) + roomListBtn.MouseUpEventHandler += (send, e) => + { + //var roomList = new Device.Room.RoomManagement(); + //HomePage.Instance.AddChidren(roomList); + //HomePage.Instance.PageIndex += 1; + //roomList.Show(); + //roomList.action += () => + //{ + // Show(); + //}; + + var editRoom = new Device.Room.AddRoom(); + HomePage.Instance.AddChidren(editRoom); + HomePage.Instance.PageIndex += 1; + editRoom.Show(); + editRoom.action += () => + { + Show(); + }; + + }; + } + } + else { var roomBackView = new FrameLayout() { - BackgroundImagePath = room.BackgroundImage + BackgroundImagePath = "Room/r0.png" }; roomPageView.AddChidren(roomBackView); var roomBG = new Button() @@ -841,172 +944,100 @@ Y = Application.GetRealHeight(20), Width = Application.GetRealWidth(500), Height = Application.GetRealHeight(80), - Text = room.Name, + Text = Language.StringByID(R.MyInternationalizationString.Favorite), TextAlignment = TextAlignment.CenterLeft, TextColor = ZigbeeColor.Current.GXCTextWhiteColor, TextSize = 18, }; roomBackView.AddChidren(roomName); - var roomListBtn = new Device.CommonForm.SelectedStatuButton() + var roomListBtn = new Button() { X = roomPageView.Width - Application.GetRealWidth(100 + 20), Y = Application.GetRealHeight(20), Width = Application.GetMinRealAverage(100), Height = Application.GetMinRealAverage(100), - UnSelectedImagePath = "Item/List.png", - SelectedImagePath = "Item/ListSelected.png" + UnSelectedImagePath = "Item/List.png" }; roomBackView.AddChidren(roomListBtn); - - roomListBtn.MouseUpEventHandler += (send, e) => - { - var roomList = new Device.Room.RoomManagement(); - HomePage.Instance.AddChidren(roomList); - HomePage.Instance.PageIndex += 1; - roomList.Show(); - roomList.action += () => - { - Show(); - }; - }; } + var functionSceneView = new FrameLayout() + { + Y = Application.GetRealHeight(861), + Width=Application.GetRealWidth(832), + Height = Application.GetRealHeight(167), + Gravity=Gravity.CenterHorizontal, + BackgroundImagePath="Item/SceneFunctionBG.png" + }; + AddChidren(functionSceneView); + + //鍔熻兘 + functionBtn = new Button() + { + X = Application.GetRealWidth(30), + Y=Application.GetRealHeight(12), + Width = Application.GetRealWidth(350), + Height = Application.GetRealHeight(100), + TextColor = ZigbeeColor.Current.GXCTextGrayColor3, + SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, + TextID = R.MyInternationalizationString.Function, + IsSelected = true + }; + functionSceneView.AddChidren(functionBtn); + + //鍦烘櫙 + var sceneBtn = new Button() + { + X = Application.GetRealWidth(430), + Y = Application.GetRealHeight(12), + Width = Application.GetRealWidth(360), + Height = Application.GetRealHeight(100), + TextColor = ZigbeeColor.Current.GXCTextGrayColor3, + SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, + TextID = R.MyInternationalizationString.Scence, + IsSelected = false + }; + functionSceneView.AddChidren(sceneBtn); + + //鍔熻兘鍜屽満鏅痓odyView + functionSceneBodyView = new FrameLayout() + { + Y = functionSceneView.Bottom, + Height = Application.GetRealHeight(750), + Gravity = Gravity.CenterHorizontal, + BackgroundColor=ZigbeeColor.Current.GXCGrayBackgroundColor + }; + AddChidren(functionSceneBodyView); + + //閫夋嫨鍔熻兘鍒嗘爮 + functionBtn.MouseUpEventHandler += (sender, e) => + { + sceneBtn.IsSelected = false; + functionBtn.IsSelected = true; + RefreshBodyView(); + }; + //閫夋嫨鍦烘櫙鍒嗘爮 + sceneBtn.MouseUpEventHandler += (sender, e) => + { + functionBtn.IsSelected = false; + sceneBtn.IsSelected = true; + RefreshBodyView(); + }; + + RefreshBodyView(); + + roomPageView.PageChange += (sender, e) => + { + //鍒囨崲褰撳墠鎴块棿 + Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.Lists[roomPageView.PageIndex]; + RefreshBodyView(); + }; } else { - var roomBackView = new FrameLayout() - { - BackgroundImagePath = "Room/r0.png" - }; - roomPageView.AddChidren(roomBackView); - var roomBG = new Button() - { - UnSelectedImagePath = "Room/HomeBG.png", - }; - roomBackView.AddChidren(roomBG); - var roomName = new Button() - { - X = Application.GetRealWidth(20), - Y = Application.GetRealHeight(20), - Width = Application.GetRealWidth(500), - Height = Application.GetRealHeight(80), - Text = Language.StringByID(R.MyInternationalizationString.Favorite), - TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.GXCTextWhiteColor, - TextSize = 18, - }; - roomBackView.AddChidren(roomName); - var roomListBtn = new Button() - { - X = roomPageView.Width - Application.GetRealWidth(100 + 20), - Y = Application.GetRealHeight(20), - Width = Application.GetMinRealAverage(100), - Height = Application.GetMinRealAverage(100), - UnSelectedImagePath = "Item/List.png" - }; - roomBackView.AddChidren(roomListBtn); + ShowNoGatewayTip(); } - var functionSceneView = new FrameLayout() - { - Y = roomPageView.Bottom, - Height = Application.GetRealHeight(CommonPage.AppRealHeight - CommonPage.TabbarHeight) - roomPageView.Bottom, - }; - AddChidren(functionSceneView); - //鍔熻兘 - functionBtn = new Button() - { - X = Application.GetRealWidth(50), - Width = Application.GetRealWidth(540 - 50) - 2, - Height = Application.GetRealHeight(150), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - SelectedTextColor = ZigbeeColor.Current.GXCTextBlueColor, - TextAlignment = TextAlignment.Center, - TextSize = 16, - TextID = R.MyInternationalizationString.Function, - IsSelected = true - }; - functionSceneView.AddChidren(functionBtn); - var functionSceneMidLine = new Button() - { - X = functionBtn.Right, - Width = 2, - Y = Application.GetRealHeight(60), - Height = Application.GetRealHeight(60), - BackgroundColor = ZigbeeColor.Current.GXCLineColor - }; - functionSceneView.AddChidren(functionSceneMidLine); - //鍦烘櫙 - var sceneBtn = new Button() - { - X = functionBtn.Right, - Width = Application.GetRealWidth(540 - 50), - Height = Application.GetRealHeight(150), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - SelectedTextColor = ZigbeeColor.Current.GXCTextBlueColor, - TextAlignment = TextAlignment.Center, - TextSize = 16, - TextID = R.MyInternationalizationString.Scence, - IsSelected = false - }; - functionSceneView.AddChidren(sceneBtn); - var functionSceneBottomLine = new Button() - { - Y = functionBtn.Bottom, - Height = CommonPage.LineHeight, - X = functionBtn.X, - Width = roomPageView.Width, - BackgroundColor = ZigbeeColor.Current.GXCLineColor - }; - functionSceneView.AddChidren(functionSceneBottomLine); - - var line = new Button() - { - Y = functionBtn.Bottom, - Height = CommonPage.LineHeight, - X = functionBtn.X, - Width = Application.GetRealWidth(540 - 50), - BackgroundColor = ZigbeeColor.Current.GXCButtonBlueColor - }; - functionSceneView.AddChidren(line); - //鍔熻兘鍜屽満鏅痓odyView - functionSceneBodyView = new FrameLayout() - { - Y = line.Bottom, - Height = functionSceneView.Height - functionBtn.Height, - Width = roomPageView.Width, - Gravity = Gravity.CenterHorizontal - }; - functionSceneView.AddChidren(functionSceneBodyView); - - //閫夋嫨鍔熻兘鍒嗘爮 - functionBtn.MouseUpEventHandler += (sender, e) => - { - sceneBtn.IsSelected = false; - functionBtn.IsSelected = true; - line.X = functionBtn.X; - RefreshBodyView(); - }; - //閫夋嫨鍦烘櫙鍒嗘爮 - sceneBtn.MouseUpEventHandler += (sender, e) => - { - functionBtn.IsSelected = false; - sceneBtn.IsSelected = true; - line.X = sceneBtn.X; - RefreshBodyView(); - }; - - RefreshBodyView(); - - #endregion - - roomPageView.PageChange += (sender, e) => - { - //鍒囨崲褰撳墠鎴块棿 - Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.Lists[roomPageView.PageIndex]; - RefreshBodyView(); - }; - //roomPageView.PageIndex = Room.Lists.IndexOf(Room.CurrentRoom); } #endregion @@ -1015,7 +1046,7 @@ public void RefreshBodyView() { - if (Room.canInitAllRoom == false) + if (Room.CanInitAllRoom == false) { return; } @@ -1040,7 +1071,7 @@ /// <returns><c>true</c>, if bing gateway was caned, <c>false</c> otherwise.</returns> private bool CanBindGateway() { - if (HadBindGateway() == false && UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 1) + if (HadBindGateway() == false && (UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 2)) { return true; } @@ -1066,26 +1097,59 @@ /// </summary> private void ShowNoGatewayTip() { - var addGatewayBtn = new Button() + var bg = new Button { - Height = Application.GetMinRealAverage(200), - Width = Application.GetMinRealAverage(200), - UnSelectedImagePath = "Room/AddScenceFunction.png", - Gravity = Gravity.Center + Y = Application.GetRealHeight(302), + Width = Application.GetMinRealAverage(717), + Height = Application.GetMinRealAverage(478), + Gravity = Gravity.CenterHorizontal, + UnSelectedImagePath = "Item/NoBindGW.png" }; - functionSceneBodyView.AddChidren(addGatewayBtn); - addGatewayBtn.MouseUpEventHandler += GoToAddGateWay; + AddChidren(bg); - var noGatewayTip = new Button() + var tip = new Button { - Y = addGatewayBtn.Bottom, - Height = Application.GetRealHeight(150), - TextID = R.MyInternationalizationString.NoGateway, - TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, - TextAlignment = TextAlignment.Center, + Y = Application.GetRealHeight(815), + Width = Application.GetMinRealAverage(717), + Height = Application.GetMinRealAverage(58), + Gravity = Gravity.CenterHorizontal, + TextID = R.MyInternationalizationString.NewAccountNeedBingGW, + TextColor = ZigbeeColor.Current.GXCTextGrayColor + }; + AddChidren(tip); + + var addBG = new Button + { + Y = Application.GetRealHeight(1048), + Height = Application.GetMinRealAverage(366), + Width = Application.GetMinRealAverage(971), + UnSelectedImagePath = "Item/VirtualFrame.png", Gravity = Gravity.CenterHorizontal }; - functionSceneBodyView.AddChidren(noGatewayTip); + AddChidren(addBG); + + var addGatewayBtn = new Button() + { + Y = Application.GetRealHeight(1143), + Height = Application.GetMinRealAverage(89), + Width = Application.GetMinRealAverage(89), + UnSelectedImagePath = "Item/Add_GW.png", + Gravity = Gravity.CenterHorizontal + }; + AddChidren(addGatewayBtn); + addGatewayBtn.MouseUpEventHandler += GoToAddGateWay; + + var addTip = new Button + { + Y = Application.GetRealHeight(1256), + Width = Application.GetMinRealAverage(717), + Height = Application.GetMinRealAverage(58), + Gravity = Gravity.CenterHorizontal, + TextID = R.MyInternationalizationString.AddSmartGW, + TextColor = ZigbeeColor.Current.GXCTextBlackColor + }; + AddChidren(addTip); + addTip.MouseUpEventHandler += GoToAddGateWay; } /// <summary> @@ -1095,8 +1159,8 @@ /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> private void GoToAddGateWay(object sender, MouseEventArgs mouseEventArgs) { - var selectNewGateWayForm = new UserCenter.GatewayAdd.NewGateWaySelectForm(); - selectNewGateWayForm.AddForm(); + UserCenter.GatewayAdd.NewGateWaySelectForm selectNewGateWayForm = new UserCenter.GatewayAdd.NewGateWaySelectForm { }; + selectNewGateWayForm.AddForm(selectNewGateWayForm); } #endregion @@ -1124,1216 +1188,1372 @@ /// </summary> private void ShowFunction() { - if (CanBindGateway() == false) + //閫夋嫨鍔熻兘--鐩存帴浠庢埧闂寸殑devicelist涓幏鍙� + var deviceList = Room.CurrentRoom.DeviceUIList; + if (deviceList == null) { - //閫夋嫨鍔熻兘--鐩存帴浠庢埧闂寸殑devicelist涓幏鍙� - var deviceList = Room.CurrentRoom.DeviceUIList; - if (deviceList == null) - { - return; - } + return; + } - if (deviceList.Count == 0) + if (deviceList.Count == 0) + { + ShowNoFunctionTip(); + } + else + { + deviceVerticalScrolViewLayout = new VerticalScrolViewLayout { }; + functionSceneBodyView.AddChidren(deviceVerticalScrolViewLayout); + foreach (var device in deviceList) { - ShowNoFunctionTip(); - } - else - { - deviceVerticalScrolViewLayout = new VerticalScrolViewLayout { }; - functionSceneBodyView.AddChidren(deviceVerticalScrolViewLayout); - foreach (var device in deviceList) + if (device == null || device.CommonDevice == null) { - if (device == null || device.CommonDevice == null) + continue; + } + //鍒犻櫎璁惧 + EventHandler<MouseEventArgs> delEvent = (sender, e) => + { + var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.ConfirmDelete), Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); + alert.Show(); + alert.ResultEventHandler += (send1, e1) => + { + if (e1) + { + Room.CurrentRoom.DeleteDevice(device.FileName); + //RefreshBodyView(); + deviceVerticalScrolViewLayout.RemoveViewByTag((sender as Button).Tag); + } + }; + }; + //鏀惰棌 + //EventHandler<MouseEventArgs> collectionEvent = (sender, e) => + //{ + // if ((sender as Button).IsSelected) + // { + // Room.Lists[0].DeleteDevice(device.FilePath); + // (sender as Button).IsSelected = false; + // if (Room.CurrentRoom == Room.Lists[0]) + // { + // DeviceVerticalScrolViewLayout.RemoveViewByTag((sender as Button).Tag); + // } + // } + // else + // { + // Room.Lists[0].AddDevice(device.FilePath); + // (sender as Button).IsSelected = true; + // } + // //RefreshBodyView(); + //}; + EventHandler<MouseEventArgs> collectionEvent = (sender, e) => + { + if (Room.CurrentRoom == Room.Lists[0]) + { + Room.Lists[0].DeleteDevice(device.FileName); + deviceVerticalScrolViewLayout.RemoveViewByTag((sender as Button).Tag); + } + }; + + //////鍒ゆ柇璁惧鏄惁鏀寔鐨勫睘鎬� 濡傚紑鍏崇瓑鎺у埗 + if (device.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice) + { + //绐楀笜 鍗峰笜 + var rollerShade = (ZigBee.Device.Rollershade)device.CommonDevice; + //涓嶄笂闈炶繙绋� + if (rollerShade.Gateway == null) { continue; } - //鍒犻櫎璁惧 - EventHandler<MouseEventArgs> delEvent = (sender, e) => + if (rollerShade.Gateway.IsVirtual) { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.ConfirmDelete), Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - alert.ResultEventHandler += (send1, e1) => + //鍙戦�佽鍙栫姸鎬佸懡浠� + ReadStatus(rollerShade, () => { - if (e1) - { - Room.CurrentRoom.DeleteDevice(device.FileName); - //RefreshBodyView(); - deviceVerticalScrolViewLayout.RemoveViewByTag((sender as Button).Tag); - } - }; + rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + }); + } + else + { + if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - rollerShade.LastDateTime).TotalSeconds) + { + rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + } + } + + var deviceFL = new FrameLayout + { + Height = Application.GetRealHeight(deviceFL_Height), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, + Tag = device }; - //鏀惰棌 - //EventHandler<MouseEventArgs> collectionEvent = (sender, e) => + deviceVerticalScrolViewLayout.AddChidren(deviceFL); + var deviceRowLayout = new RowLayout + { + Y = Application.GetRealHeight(25), + Height = Application.GetRealHeight(deviceFL_Height - 25) - 1, + LineColor = ZigbeeColor.Current.GXCBackgroundColor, + BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, + Radius = CommonPage.BigFormRadius, + Tag = device + }; + deviceFL.AddChidren(deviceRowLayout); + var deviceItemFL = new FrameLayout() + { + BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, + Radius = CommonPage.BigFormRadius + }; + deviceRowLayout.AddChidren(deviceItemFL); + var deviceIMG = new Button() + { + X = Application.GetRealWidth(50), + Y = Application.GetRealHeight(30), + Width = Application.GetMinRealAverage(110), + Height = Application.GetMinRealAverage(110), + UnSelectedImagePath = device.IconPath, + SelectedImagePath = device.OnlineIconPath, + IsSelected = rollerShade.IsOnline == 1, + Tag = deviceStatus_Online + }; + deviceItemFL.AddChidren(deviceIMG); + var deviceName = new Button() + { + X = Application.GetRealWidth(10), + Y = deviceIMG.Bottom, + Width = Application.GetRealWidth(180), + Height = Application.GetRealHeight(80), + TextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextAlignment = TextAlignment.Center, + Text = device.CommonDevice.DeviceEpointName, + TextSize = 10, + IsMoreLines = true + }; + deviceItemFL.AddChidren(deviceName); + + var closeBtnBG = new Device.CommonForm.SelectedStatuButton() + { + X = deviceName.Right, + Width = Application.GetMinRealAverage(250), + Height = Application.GetMinRealAverage(250), + Gravity = Gravity.CenterVertical, + }; + deviceItemFL.AddChidren(closeBtnBG); + + var closeBtn = new Device.CommonForm.SelectedStatuButton() + { + X = Application.GetRealWidth(50) + deviceName.Right, + Width = Application.GetMinRealAverage(110), + Height = Application.GetMinRealAverage(110), + Gravity = Gravity.CenterVertical, + UnSelectedImagePath = "WindowCovering/RollerShadeClose.png", + SelectedImagePath = "WindowCovering/RollerShadeCloseSelected.png", + //Visible=false + }; + deviceItemFL.AddChidren(closeBtn); + + var stopBtnBG = new Device.CommonForm.SelectedStatuButton() + { + X = Application.GetRealWidth(120) + closeBtn.Right, + Width = Application.GetMinRealAverage(250), + Height = Application.GetMinRealAverage(250), + Gravity = Gravity.CenterVertical, + }; + deviceItemFL.AddChidren(stopBtnBG); + var stopBtn = new Device.CommonForm.SelectedStatuButton() + { + X = Application.GetRealWidth(120) + closeBtn.Right, + Width = Application.GetMinRealAverage(110), + Height = Application.GetMinRealAverage(110), + Gravity = Gravity.CenterVertical, + UnSelectedImagePath = "WindowCovering/RollerShadeStop.png", + SelectedImagePath = "WindowCovering/RollerShadeStopSelected.png", + //Visible=false + }; + deviceItemFL.AddChidren(stopBtn); + + var openBtnBG = new Device.CommonForm.SelectedStatuButton() + { + X = Application.GetRealWidth(20) + stopBtn.Right, + Width = Application.GetMinRealAverage(250), + Height = Application.GetMinRealAverage(250), + Gravity = Gravity.CenterVertical, + }; + deviceItemFL.AddChidren(openBtnBG); + var openBtn = new Device.CommonForm.SelectedStatuButton() + { + X = Application.GetRealWidth(120) + stopBtn.Right, + Width = Application.GetMinRealAverage(110), + Height = Application.GetMinRealAverage(110), + Gravity = Gravity.CenterVertical, + UnSelectedImagePath = "WindowCovering/RollerShadeOpen.png", + SelectedImagePath = "WindowCovering/RollerShadeOpenSelected.png", + //Visible=false + }; + deviceItemFL.AddChidren(openBtn); + var collectionBtn = new Button() + { + X = deviceItemFL.Right - Application.GetRealWidth(150), + Y = Application.GetRealHeight(20), + Width = Application.GetMinRealAverage(80), + Height = Application.GetMinRealAverage(80), + UnSelectedImagePath = "Item/Collection.png", + SelectedImagePath = "Item/CollectionSelected.png", + Tag = device + }; + //*****鍏堥殣钘�***** + //deviceItemFL.AddChidren(collectionBtn); + var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton + { + Tag = device, + IsMoreLines = true + }; + + if (Room.CurrentRoom.IsLove) + { + deleteBtn.TextID = R.MyInternationalizationString.CancelCollect; + deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor; + deleteBtn.MouseUpEventHandler += collectionEvent; + deviceRowLayout.AddRightView(deleteBtn); + } + else if (Room.CurrentRoom.IsSharedRoom) + { + //涓嶅鐞� + } + else + { + deleteBtn.MouseUpEventHandler += delEvent; + deviceRowLayout.AddRightView(deleteBtn); + } + + if (rollerShade.WcdType == -1) + { + CommonPage.Loading.Start(); + new System.Threading.Thread(() => + { + ZigBee.Device.Rollershade.ReadWcdTypeAction(rollerShade, () => + { + Application.RunOnMainThread(() => + { + if (rollerShade.WcdType == 0) + { + closeBtn.UnSelectedImagePath = "WindowCovering/RollerShadeDown.png"; + closeBtn.SelectedImagePath = "WindowCovering/RollerShadeDownSelected.png"; + openBtn.UnSelectedImagePath = "WindowCovering/RollerShadeUp.png"; + openBtn.SelectedImagePath = "WindowCovering/RollerShadeUpSelected.png"; + } + else + { + closeBtn.UnSelectedImagePath = "WindowCovering/RollerShadeClose.png"; + closeBtn.SelectedImagePath = "WindowCovering/RollerShadeCloseSelected.png"; + openBtn.UnSelectedImagePath = "WindowCovering/RollerShadeOpen.png"; + openBtn.SelectedImagePath = "WindowCovering/RollerShadeOpenSelected.png"; + } + CommonPage.Loading.Hide(); + }); + }); + }) + { IsBackground = true }.Start(); + } + else if (rollerShade.WcdType == 0) + { + closeBtn.UnSelectedImagePath = "WindowCovering/RollerShadeDown.png"; + closeBtn.SelectedImagePath = "WindowCovering/RollerShadeDownSelected.png"; + openBtn.UnSelectedImagePath = "WindowCovering/RollerShadeUp.png"; + openBtn.SelectedImagePath = "WindowCovering/RollerShadeUpSelected.png"; + } + else + { + closeBtn.UnSelectedImagePath = "WindowCovering/RollerShadeClose.png"; + closeBtn.SelectedImagePath = "WindowCovering/RollerShadeCloseSelected.png"; + openBtn.UnSelectedImagePath = "WindowCovering/RollerShadeOpen.png"; + openBtn.SelectedImagePath = "WindowCovering/RollerShadeOpenSelected.png"; + } + + + EventHandler<MouseEventArgs> curtainHandler = (sender, e) => + { + var curtain = new Phone.Device.Curtain.RollerShadeControl(); + UserView.HomePage.Instance.ScrollEnabled = false; + UserView.HomePage.Instance.AddChidren(curtain); + UserView.HomePage.Instance.PageIndex += 1; + curtain.action = RefreshBodyView; + curtain.Show(device, Room.CurrentRoom); + }; + deviceItemFL.MouseUpEventHandler += curtainHandler; + //deviceItemFL.MouseLongEventHandler += curtainHandler; + deviceIMG.MouseUpEventHandler += curtainHandler; + deviceName.MouseUpEventHandler += curtainHandler; + + //绐楀笜鍏� + closeBtn.MouseUpEventHandler += (sender, e) => + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + rollerShade.CurtainUpDownStopControl(1); + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + }; + //绐楀笜鍋� + stopBtn.MouseUpEventHandler += (sender, e) => + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + rollerShade.CurtainUpDownStopControl(2); + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + }; + //绐楀笜寮� + openBtn.MouseUpEventHandler += (sender, e) => + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + rollerShade.CurtainUpDownStopControl(0); + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + }; + //collectionBtn.MouseUpEventHandler += (sender, e) => //{ - // if ((sender as Button).IsSelected) + // if (collectionBtn.IsSelected) // { // Room.Lists[0].DeleteDevice(device.FilePath); - // (sender as Button).IsSelected = false; - // if (Room.CurrentRoom == Room.Lists[0]) + // collectionBtn.IsSelected = false; + // } + // else + // { + // Room.Lists[0].AddDevice(device.FilePath); + // collectionBtn.IsSelected = true; + // } + // //RefreshBodyView(); + //}; + collectionBtn.MouseUpEventHandler += collectionEvent; + //var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj==device.FilePath); + //if(dev==null) + //{ + // collectionBtn.IsSelected = false; + //} + //else + //{ + // collectionBtn.IsSelected = true; + //} + + ////寮�鍏冲仠鎸夐挳鏄惁鏄剧ず + //foreach(var command in commandList) + //{ + // if (command == null) + // { + // continue; + // } + // if (command.commandId==0) + // { + // openBtn.Visible = true; + // } + // else if(command.commandId==1) + // { + // openBtn.Visible = true; + // } + // else if(command.commandId==2) + // { + // stopBtn.Visible = true; + // } + //} + } + else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput) + { + //寮�鍏崇伅 + var light = device.CommonDevice as ToggleLight; + //琛ヤ笂闈炶繙绋� + if (light.Gateway == null) + { + continue; + } + if (light.Gateway.IsVirtual) + { + //鍙戦�佽鍙栫姸鎬佸懡浠� + ReadStatus(light, () => + { + light.ReadOnOffStatus(); + light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + }); + } + else + { + if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - light.LastDateTime).TotalSeconds) + { + light.ReadOnOffStatus(); + light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + } + } + + + var deviceFL = new FrameLayout + { + Height = Application.GetRealHeight(deviceFL_Height), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, + Tag = device + }; + deviceVerticalScrolViewLayout.AddChidren(deviceFL); + var deviceRowLayout = new RowLayout + { + Y = Application.GetRealHeight(25), + Height = Application.GetRealHeight(deviceFL_Height - 25) - 1, + LineColor = ZigbeeColor.Current.GXCBackgroundColor, + BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, + Radius = CommonPage.BigFormRadius, + Tag = device + }; + deviceFL.AddChidren(deviceRowLayout); + + var deviceItemFL = new FrameLayout() + { + BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, + Radius = CommonPage.BigFormRadius + }; + deviceRowLayout.AddChidren(deviceItemFL); + var deviceIMG = new Button() + { + X = Application.GetRealWidth(50), + Y = Application.GetRealHeight(30), + Width = Application.GetMinRealAverage(110), + Height = Application.GetMinRealAverage(110), + UnSelectedImagePath = device.IconPath, + SelectedImagePath = device.OnlineIconPath, + IsSelected = light.IsOnline == 1, + Tag = deviceStatus_Online + }; + deviceItemFL.AddChidren(deviceIMG); + var deviceName = new Button() + { + X = Application.GetRealWidth(10), + Y = deviceIMG.Bottom, + Width = Application.GetRealWidth(180), + Height = Application.GetRealHeight(80), + TextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextAlignment = TextAlignment.Center, + Text = device.CommonDevice.DeviceEpointName, + TextSize = 10, + IsMoreLines = true + }; + deviceItemFL.AddChidren(deviceName); + + var collectionBtn = new Button() + { + X = deviceItemFL.Right - Application.GetRealWidth(150), + Y = Application.GetRealHeight(20), + Width = Application.GetMinRealAverage(80), + Height = Application.GetMinRealAverage(80), + UnSelectedImagePath = "Item/Collection.png", + SelectedImagePath = "Item/CollectionSelected.png", + Tag = device + }; + //***鍏堥殣钘�****** + //deviceItemFL.AddChidren(collectionBtn); + var switchBtnBG = new Button + { + X = deviceItemFL.Right - Application.GetRealWidth(250), + Width = Application.GetMinRealAverage(250), + Height = Application.GetMinRealAverage(250), + Gravity = Gravity.CenterVertical + }; + deviceItemFL.AddChidren(switchBtnBG); + + var switchBtn = new Button + { + X = deviceItemFL.Right - Application.GetRealWidth(200), + //Y = deviceItemFL.Bottom - Application.GetRealHeight(120), + Width = Application.GetMinRealAverage(183), + Height = Application.GetMinRealAverage(123), + UnSelectedImagePath = "Item/Switch.png", + SelectedImagePath = "Item/SwitchSelected.png", + IsSelected = light.OnOffStatus == 1, + Tag = deviceStatus_OnOffStatus, + //Visible=false + Gravity = Gravity.CenterVertical + }; + deviceItemFL.AddChidren(switchBtn); + switchBtn.MouseUpEventHandler += (send2, e2) => + { + switchBtn.IsSelected = !switchBtn.IsSelected; + if (switchBtn.IsSelected == true) + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + light.SwitchControl(1); + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } + else + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + light.SwitchControl(0); + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } + }; + + + var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton + { + Tag = device, + IsMoreLines = true + }; + if (Room.CurrentRoom.IsLove) + { + deleteBtn.TextID = R.MyInternationalizationString.CancelCollect; + deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor; + deleteBtn.MouseUpEventHandler += collectionEvent; + deviceRowLayout.AddRightView(deleteBtn); + } + else if (Room.CurrentRoom.IsSharedRoom) + { + //涓嶅鐞� + } + else + { + deleteBtn.MouseUpEventHandler += delEvent; + deviceRowLayout.AddRightView(deleteBtn); + } + + + EventHandler<MouseEventArgs> lightHandler = (sender, e) => + { + var lightControl = new Phone.Device.Light.LightControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + lightControl.action = RefreshBodyView; + lightControl.Show(device, Room.CurrentRoom); + }; + //deviceItemFL.MouseLongEventHandler += lightHandler; + deviceItemFL.MouseUpEventHandler += lightHandler; + deviceName.MouseUpEventHandler += lightHandler; + deviceIMG.MouseUpEventHandler += lightHandler; + + //collectionBtn.MouseUpEventHandler += (sender, e) => + //{ + // if (collectionBtn.IsSelected) + // { + // Room.Lists[0].DeleteDevice(device.FilePath); + // collectionBtn.IsSelected = false; + // if(Room.CurrentRoom==Room.Lists[0]) // { - // DeviceVerticalScrolViewLayout.RemoveViewByTag((sender as Button).Tag); + // RefreshBodyView(); // } // } // else // { // Room.Lists[0].AddDevice(device.FilePath); - // (sender as Button).IsSelected = true; + // collectionBtn.IsSelected = true; // } // //RefreshBodyView(); //}; - EventHandler<MouseEventArgs> collectionEvent = (sender, e) => + collectionBtn.MouseUpEventHandler += collectionEvent; + + //var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FilePath); + //if (dev == null) + //{ + // collectionBtn.IsSelected = false; + //} + //else + //{ + // collectionBtn.IsSelected = true; + //} + + } + else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch) + { + //绌烘皵寮�鍏� + var airSwitch = device.CommonDevice as AirSwitch; + + //琛ヤ笂闈炶繙绋� + if (airSwitch.Gateway == null) { - if (Room.CurrentRoom == Room.Lists[0]) + continue; + } + if (airSwitch.Gateway.IsVirtual) + { + //鍙戦�佽鍙栫姸鎬佸懡浠� + ReadStatus(airSwitch, () => { - Room.Lists[0].DeleteDevice(device.FileName); - deviceVerticalScrolViewLayout.RemoveViewByTag((sender as Button).Tag); + airSwitch.ReadOnOffStatus(); + airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + }); + } + else + { + //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� + if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) + { + airSwitch.ReadOnOffStatus(); + airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + } + } + + var deviceFL = new FrameLayout + { + Height = Application.GetRealHeight(deviceFL_Height), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, + Tag = device + }; + deviceVerticalScrolViewLayout.AddChidren(deviceFL); + var deviceRowLayout = new RowLayout + { + Y = Application.GetRealHeight(25), + Height = Application.GetRealHeight(deviceFL_Height - 25) - 1, + LineColor = ZigbeeColor.Current.GXCBackgroundColor, + BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, + Radius = CommonPage.BigFormRadius, + Tag = device + }; + deviceFL.AddChidren(deviceRowLayout); + + var deviceItemFL = new FrameLayout() + { + BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, + Radius = CommonPage.BigFormRadius + }; + deviceRowLayout.AddChidren(deviceItemFL); + var deviceIMG = new Button() + { + X = Application.GetRealWidth(50), + Y = Application.GetRealHeight(30), + Width = Application.GetMinRealAverage(110), + Height = Application.GetMinRealAverage(110), + UnSelectedImagePath = device.IconPath, + SelectedImagePath = device.OnlineIconPath, + IsSelected = airSwitch.IsOnline == 1, + Tag = deviceStatus_Online + }; + deviceItemFL.AddChidren(deviceIMG); + var deviceName = new Button() + { + X = Application.GetRealWidth(10), + Y = deviceIMG.Bottom, + Width = Application.GetRealWidth(180), + Height = Application.GetRealHeight(80), + TextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextAlignment = TextAlignment.Center, + Text = device.CommonDevice.DeviceEpointName, + TextSize = 10, + IsMoreLines = true + }; + deviceItemFL.AddChidren(deviceName); + + var collectionBtn = new Button() + { + X = deviceItemFL.Right - Application.GetRealWidth(150), + Y = Application.GetRealHeight(20), + Width = Application.GetMinRealAverage(80), + Height = Application.GetMinRealAverage(80), + UnSelectedImagePath = "Item/Collection.png", + SelectedImagePath = "Item/CollectionSelected.png", + Tag = device + }; + //***鍏堥殣钘�****** + //deviceItemFL.AddChidren(collectionBtn); + var switchBtnBG = new Button + { + X = deviceItemFL.Right - Application.GetRealWidth(250), + Width = Application.GetMinRealAverage(250), + Height = Application.GetMinRealAverage(250), + Gravity = Gravity.CenterVertical + }; + deviceItemFL.AddChidren(switchBtnBG); + var switchBtn = new Button + { + X = deviceItemFL.Right - Application.GetRealWidth(200), + //Y = deviceItemFL.Bottom - Application.GetRealHeight(120), + Width = Application.GetMinRealAverage(183), + Height = Application.GetMinRealAverage(123), + UnSelectedImagePath = "Item/Switch.png", + SelectedImagePath = "Item/SwitchSelected.png", + IsSelected = airSwitch.OnOffStatus == 1, + Tag = deviceStatus_OnOffStatus, + //Visible=false + Gravity = Gravity.CenterVertical + }; + deviceItemFL.AddChidren(switchBtn); + switchBtn.MouseUpEventHandler += (send2, e2) => + { + switchBtn.IsSelected = !switchBtn.IsSelected; + if (switchBtn.IsSelected == true) + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + airSwitch.SwitchControl(1); + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } + else + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + airSwitch.SwitchControl(0); + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); } }; - //////鍒ゆ柇璁惧鏄惁鏀寔鐨勫睘鎬� 濡傚紑鍏崇瓑鎺у埗 - if (device.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice) + var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton { - //绐楀笜 鍗峰笜 - var rollerShade = (ZigBee.Device.Rollershade)device.CommonDevice; - //涓嶄笂闈炶繙绋� - if (rollerShade.Gateway == null) - { - continue; - } - if (rollerShade.Gateway.IsVirtual) - { - //鍙戦�佽鍙栫姸鎬佸懡浠� - ReadStatus(rollerShade, () => - { - rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - }); - } - else - { - if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - rollerShade.LastDateTime).TotalSeconds) - { - rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - } - } - - var deviceFL = new FrameLayout - { - Height = Application.GetRealHeight(deviceFL_Height), - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = device - }; - deviceVerticalScrolViewLayout.AddChidren(deviceFL); - var deviceRowLayout = new RowLayout - { - Y = Application.GetRealHeight(25), - Height = Application.GetRealHeight(deviceFL_Height - 25) - 1, - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius, - Tag = device - }; - deviceFL.AddChidren(deviceRowLayout); - var deviceItemFL = new FrameLayout() - { - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius - }; - deviceRowLayout.AddChidren(deviceItemFL); - var deviceIMG = new Button() - { - X = Application.GetRealWidth(50), - Y = Application.GetRealHeight(30), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = device.IconPath, - SelectedImagePath = device.OnlineIconPath, - IsSelected = rollerShade.IsOnline == 1, - Tag = deviceStatus_Online - }; - deviceItemFL.AddChidren(deviceIMG); - var deviceName = new Button() - { - X = Application.GetRealWidth(10), - Y = deviceIMG.Bottom, - Width = Application.GetRealWidth(180), - Height = Application.GetRealHeight(80), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextAlignment = TextAlignment.Center, - Text = device.CommonDevice.DeviceEpointName, - TextSize = 10, - IsMoreLines = true - }; - deviceItemFL.AddChidren(deviceName); - var closeBtn = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(50) + deviceName.Right, - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "WindowCovering/RollerShadeClose.png", - SelectedImagePath = "WindowCovering/RollerShadeCloseSelected.png", - //Visible=false - }; - deviceItemFL.AddChidren(closeBtn); - var stopBtn = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(120) + closeBtn.Right, - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "WindowCovering/RollerShadeStop.png", - SelectedImagePath = "WindowCovering/RollerShadeStopSelected.png", - //Visible=false - }; - deviceItemFL.AddChidren(stopBtn); - var openBtn = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(120) + stopBtn.Right, - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "WindowCovering/RollerShadeOpen.png", - SelectedImagePath = "WindowCovering/RollerShadeOpenSelected.png", - //Visible=false - }; - - deviceItemFL.AddChidren(openBtn); - var collectionBtn = new Button() - { - X = deviceItemFL.Right - Application.GetRealWidth(150), - Y = Application.GetRealHeight(20), - Width = Application.GetMinRealAverage(80), - Height = Application.GetMinRealAverage(80), - UnSelectedImagePath = "Item/Collection.png", - SelectedImagePath = "Item/CollectionSelected.png", - Tag = device - }; - //*****鍏堥殣钘�***** - //deviceItemFL.AddChidren(collectionBtn); - var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton - { - Tag = device, - IsMoreLines = true - }; - - if (Room.CurrentRoom.IsLove) - { - deleteBtn.TextID = R.MyInternationalizationString.CancelCollect; - deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor; - deleteBtn.MouseUpEventHandler += collectionEvent; - deviceRowLayout.AddRightView(deleteBtn); - } - else if(Room.CurrentRoom.IsSharedRoom) - { - //涓嶅鐞� - } - else - { - deleteBtn.MouseUpEventHandler += delEvent; - deviceRowLayout.AddRightView(deleteBtn); - } - - - EventHandler<MouseEventArgs> curtainHandler = (sender, e) => - { - var curtain = new Phone.Device.Curtain.RollerShadeControl(); - UserView.HomePage.Instance.ScrollEnabled = false; - UserView.HomePage.Instance.AddChidren(curtain); - UserView.HomePage.Instance.PageIndex += 1; - curtain.action = RefreshBodyView; - curtain.Show(device, Room.CurrentRoom); - }; - deviceItemFL.MouseUpEventHandler += curtainHandler; - deviceItemFL.MouseLongEventHandler += curtainHandler; - deviceIMG.MouseUpEventHandler += curtainHandler; - deviceName.MouseUpEventHandler += curtainHandler; - - //绐楀笜鍏� - closeBtn.MouseUpEventHandler += (sender, e) => - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - rollerShade.CurtainUpDownStopControl(1); - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - { - if (Parent == null) - { - return; - } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - }; - //绐楀笜鍋� - stopBtn.MouseUpEventHandler += (sender, e) => - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - rollerShade.CurtainUpDownStopControl(2); - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - { - if (Parent == null) - { - return; - } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - }; - //绐楀笜寮� - openBtn.MouseUpEventHandler += (sender, e) => - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - rollerShade.CurtainUpDownStopControl(0); - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - { - if (Parent == null) - { - return; - } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - }; - //collectionBtn.MouseUpEventHandler += (sender, e) => - //{ - // if (collectionBtn.IsSelected) - // { - // Room.Lists[0].DeleteDevice(device.FilePath); - // collectionBtn.IsSelected = false; - // } - // else - // { - // Room.Lists[0].AddDevice(device.FilePath); - // collectionBtn.IsSelected = true; - // } - // //RefreshBodyView(); - //}; - collectionBtn.MouseUpEventHandler += collectionEvent; - //var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj==device.FilePath); - //if(dev==null) - //{ - // collectionBtn.IsSelected = false; - //} - //else - //{ - // collectionBtn.IsSelected = true; - //} - - ////寮�鍏冲仠鎸夐挳鏄惁鏄剧ず - //foreach(var command in commandList) - //{ - // if (command == null) - // { - // continue; - // } - // if (command.commandId==0) - // { - // openBtn.Visible = true; - // } - // else if(command.commandId==1) - // { - // openBtn.Visible = true; - // } - // else if(command.commandId==2) - // { - // stopBtn.Visible = true; - // } - //} + Tag = device, + IsMoreLines = true + }; + if (Room.CurrentRoom.IsLove) + { + deleteBtn.TextID = R.MyInternationalizationString.CancelCollect; + deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor; + deleteBtn.MouseUpEventHandler += collectionEvent; + deviceRowLayout.AddRightView(deleteBtn); } - else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput) + else if (Room.CurrentRoom.IsSharedRoom) { - //寮�鍏崇伅 - var light = device.CommonDevice as ToggleLight; - //琛ヤ笂闈炶繙绋� - if (light.Gateway == null) - { - continue; - } - if (light.Gateway.IsVirtual) - { - //鍙戦�佽鍙栫姸鎬佸懡浠� - ReadStatus(light, () => - { - light.ReadOnOffStatus(); - light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - }); - } - else - { - if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - light.LastDateTime).TotalSeconds) - { - light.ReadOnOffStatus(); - light.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - } - } - - - var deviceFL = new FrameLayout - { - Height = Application.GetRealHeight(deviceFL_Height), - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = device - }; - deviceVerticalScrolViewLayout.AddChidren(deviceFL); - var deviceRowLayout = new RowLayout - { - Y = Application.GetRealHeight(25), - Height = Application.GetRealHeight(deviceFL_Height - 25) - 1, - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius, - Tag = device - }; - deviceFL.AddChidren(deviceRowLayout); - - var deviceItemFL = new FrameLayout() - { - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius - }; - deviceRowLayout.AddChidren(deviceItemFL); - var deviceIMG = new Button() - { - X = Application.GetRealWidth(50), - Y = Application.GetRealHeight(30), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = device.IconPath, - SelectedImagePath = device.OnlineIconPath, - IsSelected = light.IsOnline == 1, - Tag = deviceStatus_Online - }; - deviceItemFL.AddChidren(deviceIMG); - var deviceName = new Button() - { - X = Application.GetRealWidth(10), - Y = deviceIMG.Bottom, - Width = Application.GetRealWidth(180), - Height = Application.GetRealHeight(80), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextAlignment = TextAlignment.Center, - Text = device.CommonDevice.DeviceEpointName, - TextSize = 10, - IsMoreLines = true - }; - deviceItemFL.AddChidren(deviceName); - - var collectionBtn = new Button() - { - X = deviceItemFL.Right - Application.GetRealWidth(150), - Y = Application.GetRealHeight(20), - Width = Application.GetMinRealAverage(80), - Height = Application.GetMinRealAverage(80), - UnSelectedImagePath = "Item/Collection.png", - SelectedImagePath = "Item/CollectionSelected.png", - Tag = device - }; - //***鍏堥殣钘�****** - //deviceItemFL.AddChidren(collectionBtn); - var switchBtn = new Button - { - X = deviceItemFL.Right - Application.GetRealWidth(200), - //Y = deviceItemFL.Bottom - Application.GetRealHeight(120), - Width = Application.GetMinRealAverage(183), - Height = Application.GetMinRealAverage(123), - UnSelectedImagePath = "Item/Switch.png", - SelectedImagePath = "Item/SwitchSelected.png", - IsSelected = light.OnOffStatus == 1, - Tag = deviceStatus_OnOffStatus, - //Visible=false - Gravity = Gravity.CenterVertical - }; - deviceItemFL.AddChidren(switchBtn); - switchBtn.MouseUpEventHandler += (send2, e2) => - { - switchBtn.IsSelected = !switchBtn.IsSelected; - if (switchBtn.IsSelected == true) - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - light.SwitchControl(1); - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - { - if (Parent == null) - { - return; - } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - } - else - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - light.SwitchControl(0); - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - { - if (Parent == null) - { - return; - } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - } - }; - - - var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton - { - Tag = device, - IsMoreLines = true - }; - if (Room.CurrentRoom.IsLove) - { - deleteBtn.TextID = R.MyInternationalizationString.CancelCollect; - deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor; - deleteBtn.MouseUpEventHandler += collectionEvent; - deviceRowLayout.AddRightView(deleteBtn); - } - else if(Room.CurrentRoom.IsSharedRoom) - { - //涓嶅鐞� - } - else - { - deleteBtn.MouseUpEventHandler += delEvent; - deviceRowLayout.AddRightView(deleteBtn); - } - - - EventHandler<MouseEventArgs> lightHandler = (sender, e) => - { - var lightControl = new Phone.Device.Light.LightControl(); - UserView.HomePage.Instance.AddChidren(lightControl); - UserView.HomePage.Instance.PageIndex += 1; - lightControl.action = RefreshBodyView; - lightControl.Show(device, Room.CurrentRoom); - }; - deviceItemFL.MouseLongEventHandler += lightHandler; - deviceItemFL.MouseUpEventHandler += lightHandler; - deviceName.MouseUpEventHandler += lightHandler; - deviceIMG.MouseUpEventHandler += lightHandler; - - //collectionBtn.MouseUpEventHandler += (sender, e) => - //{ - // if (collectionBtn.IsSelected) - // { - // Room.Lists[0].DeleteDevice(device.FilePath); - // collectionBtn.IsSelected = false; - // if(Room.CurrentRoom==Room.Lists[0]) - // { - // RefreshBodyView(); - // } - // } - // else - // { - // Room.Lists[0].AddDevice(device.FilePath); - // collectionBtn.IsSelected = true; - // } - // //RefreshBodyView(); - //}; - collectionBtn.MouseUpEventHandler += collectionEvent; - - //var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FilePath); - //if (dev == null) - //{ - // collectionBtn.IsSelected = false; - //} - //else - //{ - // collectionBtn.IsSelected = true; - //} - + //涓嶅鐞� } - else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch) + else { - //绌烘皵寮�鍏� - var airSwitch = device.CommonDevice as AirSwitch; - - //琛ヤ笂闈炶繙绋� - if (airSwitch.Gateway == null) - { - continue; - } - if (airSwitch.Gateway.IsVirtual) - { - //鍙戦�佽鍙栫姸鎬佸懡浠� - ReadStatus(airSwitch, () => - { - airSwitch.ReadOnOffStatus(); - airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - }); - } - else - { - //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� - if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) - { - airSwitch.ReadOnOffStatus(); - airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - } - } - - var deviceFL = new FrameLayout - { - Height = Application.GetRealHeight(deviceFL_Height), - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = device - }; - deviceVerticalScrolViewLayout.AddChidren(deviceFL); - var deviceRowLayout = new RowLayout - { - Y = Application.GetRealHeight(25), - Height = Application.GetRealHeight(deviceFL_Height - 25) - 1, - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius, - Tag = device - }; - deviceFL.AddChidren(deviceRowLayout); - - var deviceItemFL = new FrameLayout() - { - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius - }; - deviceRowLayout.AddChidren(deviceItemFL); - var deviceIMG = new Button() - { - X = Application.GetRealWidth(50), - Y = Application.GetRealHeight(30), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = device.IconPath, - SelectedImagePath = device.OnlineIconPath, - IsSelected = airSwitch.IsOnline == 1, - Tag = deviceStatus_Online - }; - deviceItemFL.AddChidren(deviceIMG); - var deviceName = new Button() - { - X = Application.GetRealWidth(10), - Y = deviceIMG.Bottom, - Width = Application.GetRealWidth(180), - Height = Application.GetRealHeight(80), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextAlignment = TextAlignment.Center, - Text = device.CommonDevice.DeviceEpointName, - TextSize = 10, - IsMoreLines = true - }; - deviceItemFL.AddChidren(deviceName); - - var collectionBtn = new Button() - { - X = deviceItemFL.Right - Application.GetRealWidth(150), - Y = Application.GetRealHeight(20), - Width = Application.GetMinRealAverage(80), - Height = Application.GetMinRealAverage(80), - UnSelectedImagePath = "Item/Collection.png", - SelectedImagePath = "Item/CollectionSelected.png", - Tag = device - }; - //***鍏堥殣钘�****** - //deviceItemFL.AddChidren(collectionBtn); - var switchBtn = new Button - { - X = deviceItemFL.Right - Application.GetRealWidth(200), - //Y = deviceItemFL.Bottom - Application.GetRealHeight(120), - Width = Application.GetMinRealAverage(183), - Height = Application.GetMinRealAverage(123), - UnSelectedImagePath = "Item/Switch.png", - SelectedImagePath = "Item/SwitchSelected.png", - IsSelected = airSwitch.OnOffStatus == 1, - Tag = deviceStatus_OnOffStatus, - //Visible=false - Gravity = Gravity.CenterVertical - }; - deviceItemFL.AddChidren(switchBtn); - switchBtn.MouseUpEventHandler += (send2, e2) => - { - switchBtn.IsSelected = !switchBtn.IsSelected; - if (switchBtn.IsSelected == true) - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - airSwitch.SwitchControl(1); - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - { - if (Parent == null) - { - return; - } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - } - else - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - airSwitch.SwitchControl(0); - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - { - if (Parent == null) - { - return; - } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - } - }; - - var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton - { - Tag = device, - IsMoreLines = true - }; - if (Room.CurrentRoom.IsLove) - { - deleteBtn.TextID = R.MyInternationalizationString.CancelCollect; - deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor; - deleteBtn.MouseUpEventHandler += collectionEvent; - deviceRowLayout.AddRightView(deleteBtn); - } - else if(Room.CurrentRoom.IsSharedRoom) - { - //涓嶅鐞� - } - else - { - deleteBtn.MouseUpEventHandler += delEvent; - deviceRowLayout.AddRightView(deleteBtn); - } - - - EventHandler<MouseEventArgs> airSwitchHandler = (sender, e) => - { - var airSwitchControl = new Phone.Device.AirSwitch.AirSwitchControl(); - UserView.HomePage.Instance.AddChidren(airSwitchControl); - UserView.HomePage.Instance.PageIndex += 1; - airSwitchControl.action = RefreshBodyView; - airSwitchControl.Show(device, Room.CurrentRoom); - }; - deviceItemFL.MouseLongEventHandler += airSwitchHandler; - deviceItemFL.MouseUpEventHandler += airSwitchHandler; - deviceName.MouseUpEventHandler += airSwitchHandler; - deviceIMG.MouseUpEventHandler += airSwitchHandler; - - //collectionBtn.MouseUpEventHandler += (sender, e) => - //{ - // if (collectionBtn.IsSelected) - // { - // Room.Lists[0].DeleteDevice(device.FilePath); - // collectionBtn.IsSelected = false; - // if(Room.CurrentRoom==Room.Lists[0]) - // { - // RefreshBodyView(); - // } - // } - // else - // { - // Room.Lists[0].AddDevice(device.FilePath); - // collectionBtn.IsSelected = true; - // } - // //RefreshBodyView(); - //}; - collectionBtn.MouseUpEventHandler += collectionEvent; - - //var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FilePath); - //if (dev == null) - //{ - // collectionBtn.IsSelected = false; - //} - //else - //{ - // collectionBtn.IsSelected = true; - //} + deleteBtn.MouseUpEventHandler += delEvent; + deviceRowLayout.AddRightView(deleteBtn); } - else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat) + + + EventHandler<MouseEventArgs> airSwitchHandler = (sender, e) => { - //鎭掓俯鍣�-AC-绌鸿皟 - var ac = device.CommonDevice as AC; + var airSwitchControl = new Phone.Device.AirSwitch.AirSwitchControl(); + UserView.HomePage.Instance.AddChidren(airSwitchControl); + UserView.HomePage.Instance.PageIndex += 1; + airSwitchControl.action = RefreshBodyView; + airSwitchControl.Show(device, Room.CurrentRoom); + }; + //deviceItemFL.MouseLongEventHandler += airSwitchHandler; + deviceItemFL.MouseUpEventHandler += airSwitchHandler; + deviceName.MouseUpEventHandler += airSwitchHandler; + deviceIMG.MouseUpEventHandler += airSwitchHandler; - //琛ヤ笂闈炶繙绋� - if (ac.Gateway == null) + //collectionBtn.MouseUpEventHandler += (sender, e) => + //{ + // if (collectionBtn.IsSelected) + // { + // Room.Lists[0].DeleteDevice(device.FilePath); + // collectionBtn.IsSelected = false; + // if(Room.CurrentRoom==Room.Lists[0]) + // { + // RefreshBodyView(); + // } + // } + // else + // { + // Room.Lists[0].AddDevice(device.FilePath); + // collectionBtn.IsSelected = true; + // } + // //RefreshBodyView(); + //}; + collectionBtn.MouseUpEventHandler += collectionEvent; + + //var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FilePath); + //if (dev == null) + //{ + // collectionBtn.IsSelected = false; + //} + //else + //{ + // collectionBtn.IsSelected = true; + //} + } + else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat) + { + //鎭掓俯鍣�-AC-绌鸿皟 + var ac = device.CommonDevice as AC; + + //琛ヤ笂闈炶繙绋� + if (ac.Gateway == null) + { + continue; + } + if (ac.Gateway.IsVirtual) + { + //鍙戦�佽鍙栫姸鎬佸懡浠� + ReadStatus(ac, () => { - continue; + ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + ac.ReadLocalTemperature(); + ac.ReadCoolingSetpoint(); + ac.ReadHeatingSetpoint(); + ac.ReadAutoSetpoint(); + ac.ReadFanMode(); + ac.ReadSystemMode(); + }); + } + else + { + //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� + if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) + { + ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + ac.ReadLocalTemperature(); + ac.ReadCoolingSetpoint(); + ac.ReadHeatingSetpoint(); + ac.ReadAutoSetpoint(); + ac.ReadFanMode(); + ac.ReadSystemMode(); } - if (ac.Gateway.IsVirtual) + } + + var deviceFL = new FrameLayout + { + Height = Application.GetRealHeight(deviceFL_Height), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, + Tag = device + }; + deviceVerticalScrolViewLayout.AddChidren(deviceFL); + var deviceRowLayout = new RowLayout + { + Y = Application.GetRealHeight(25), + Height = Application.GetRealHeight(deviceFL_Height - 25) - 1, + LineColor = ZigbeeColor.Current.GXCBackgroundColor, + BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, + Radius = CommonPage.BigFormRadius, + Tag = device + }; + deviceFL.AddChidren(deviceRowLayout); + + var deviceItemFL = new FrameLayout() + { + BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, + Radius = CommonPage.BigFormRadius + }; + deviceRowLayout.AddChidren(deviceItemFL); + var deviceIMG = new Button() + { + X = Application.GetRealWidth(50), + Y = Application.GetRealHeight(30), + Width = Application.GetMinRealAverage(110), + Height = Application.GetMinRealAverage(110), + UnSelectedImagePath = device.IconPath, + SelectedImagePath = device.OnlineIconPath, + IsSelected = ac.IsOnline == 1, + Tag = deviceStatus_Online + }; + deviceItemFL.AddChidren(deviceIMG); + var deviceName = new Button() + { + X = Application.GetRealWidth(10), + Y = deviceIMG.Bottom, + Width = Application.GetRealWidth(180), + Height = Application.GetRealHeight(80), + TextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextAlignment = TextAlignment.Center, + Text = device.CommonDevice.DeviceEpointName, + TextSize = 10, + IsMoreLines = true + }; + deviceItemFL.AddChidren(deviceName); + + var collectionBtn = new Button() + { + X = deviceItemFL.Right - Application.GetRealWidth(150), + Y = Application.GetRealHeight(20), + Width = Application.GetMinRealAverage(80), + Height = Application.GetMinRealAverage(80), + UnSelectedImagePath = "Item/Collection.png", + SelectedImagePath = "Item/CollectionSelected.png", + Tag = device + }; + //***鍏堥殣钘�****** + //deviceItemFL.AddChidren(collectionBtn); + + //鍑� + var reduceBtnBG = new Device.CommonForm.SelectedStatuButton() + { + X = deviceName.Right, + Width = Application.GetMinRealAverage(250), + Height = Application.GetMinRealAverage(250), + Gravity = Gravity.CenterVertical, + }; + deviceItemFL.AddChidren(reduceBtnBG); + + var reduceBtn = new Device.CommonForm.SelectedStatuButton() + { + X = Application.GetRealWidth(30) + deviceName.Right, + Width = Application.GetMinRealAverage(110), + Height = Application.GetMinRealAverage(110), + Gravity = Gravity.CenterVertical, + UnSelectedImagePath = "Item/Reduce.png", + SelectedImagePath = "Item/ReduceSelected.png", + }; + deviceItemFL.AddChidren(reduceBtn); + //褰撳墠娓╁害 + var currentTemperatureBtn = new Button() + { + X = Application.GetRealWidth(50) + reduceBtn.Right, + Width = Application.GetRealWidth(200), + Height = Application.GetRealHeight(110), + Gravity = Gravity.CenterVertical, + TextColor = ZigbeeColor.Current.TextBlack, + TextSize = 16, + Text = $"{Device.AC.ACControlBase.GetCurrentModeTemperature(ac)} 掳C", + Tag = "Temparetrue" + }; + deviceItemFL.AddChidren(currentTemperatureBtn); + reduceBtn.MouseUpEventHandler += (send2, e2) => + { + if (Device.AC.ACControlBase.IsOpen(ac) == false) { - //鍙戦�佽鍙栫姸鎬佸懡浠� - ReadStatus(ac, () => - { - ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - ac.ReadFanMode(); - ac.ReadSystemMode(); - ac.ReadLocalTemperature(); - ac.ReadCoolingSetpoint(); - ac.ReadHeatingSetpoint(); - }); + Device.AC.ACControlBase.ShowACIsCloseTip(); + return; } - else + //cool + if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) { - //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� - if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) + if (ac.currentCoolingSetpoint <= ACControlBase.Temperature_Low) { - ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - ac.ReadFanMode(); - ac.ReadSystemMode(); - ac.ReadLocalTemperature(); - ac.ReadCoolingSetpoint(); - ac.ReadHeatingSetpoint(); - } - } - - var deviceFL = new FrameLayout - { - Height = Application.GetRealHeight(deviceFL_Height), - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = device - }; - deviceVerticalScrolViewLayout.AddChidren(deviceFL); - var deviceRowLayout = new RowLayout - { - Y = Application.GetRealHeight(25), - Height = Application.GetRealHeight(deviceFL_Height - 25) - 1, - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius, - Tag = device - }; - deviceFL.AddChidren(deviceRowLayout); - - var deviceItemFL = new FrameLayout() - { - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius - }; - deviceRowLayout.AddChidren(deviceItemFL); - var deviceIMG = new Button() - { - X = Application.GetRealWidth(50), - Y = Application.GetRealHeight(30), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = device.IconPath, - SelectedImagePath = device.OnlineIconPath, - IsSelected = ac.IsOnline == 1, - Tag = deviceStatus_Online - }; - deviceItemFL.AddChidren(deviceIMG); - var deviceName = new Button() - { - X = Application.GetRealWidth(10), - Y = deviceIMG.Bottom, - Width = Application.GetRealWidth(180), - Height = Application.GetRealHeight(80), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextAlignment = TextAlignment.Center, - Text = device.CommonDevice.DeviceEpointName, - TextSize = 10, - IsMoreLines = true - }; - deviceItemFL.AddChidren(deviceName); - - var collectionBtn = new Button() - { - X = deviceItemFL.Right - Application.GetRealWidth(150), - Y = Application.GetRealHeight(20), - Width = Application.GetMinRealAverage(80), - Height = Application.GetMinRealAverage(80), - UnSelectedImagePath = "Item/Collection.png", - SelectedImagePath = "Item/CollectionSelected.png", - Tag = device - }; - //***鍏堥殣钘�****** - //deviceItemFL.AddChidren(collectionBtn); - - //鍑� - var reduceBtn = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(30) + deviceName.Right, - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/Reduce.png", - SelectedImagePath = "Item/ReduceSelected.png", - }; - deviceItemFL.AddChidren(reduceBtn); - //褰撳墠娓╁害 - var currentTemperatureBtn = new Button() - { - X = Application.GetRealWidth(50) + reduceBtn.Right, - Width = Application.GetRealWidth(200), - Height = Application.GetRealHeight(110), - Gravity = Gravity.CenterVertical, - TextColor = ZigbeeColor.Current.TextBlack, - TextSize = 16, - Text = $"{Device.AC.ACControlBase.GetCurrentModeTemperature(ac)} 掳C", - Tag = "Temparetrue" - }; - deviceItemFL.AddChidren(currentTemperatureBtn); - reduceBtn.MouseUpEventHandler += (send2, e2) => - { - if (Device.AC.ACControlBase.IsOpen(ac) == false) - { - Device.AC.ACControlBase.ShowACIsCloseTip(); return; } - //cool - if (ac.currentSystemMode == 3) - { - ac.currentCoolingSetpoint -= 1; - ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint); - currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C"; - } + ac.currentCoolingSetpoint -= 1; + ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100); + currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C"; + } //heat else if (ac.currentSystemMode == 4) + { + if (ac.currentHeatingSetpoint <= ACControlBase.Temperature_Low) { - ac.currentHeatingSetpoint -= 1; - ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint); - - currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C"; + return; } + ac.currentHeatingSetpoint -= 1; + ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100); + currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C"; + } + else if (ac.currentSystemMode == 1) + { + if (ac.currentAutoSetpoint <= ACControlBase.Temperature_Low) + { + return; + } + ac.currentAutoSetpoint -= 1; + ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100); + currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C"; + } //auto //dry //currentTemperatureBtn.Text = $"{Device.AC.ACControlBase.GetCurrentModeTemperature(ac)} 掳C"; }; - var addBtn = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(30) + currentTemperatureBtn.Right, - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/Add.png", - SelectedImagePath = "Item/AddSelected.png", - }; - deviceItemFL.AddChidren(addBtn); + var addBtnBG = new Device.CommonForm.SelectedStatuButton() + { + X = currentTemperatureBtn.Right, + Width = Application.GetMinRealAverage(250), + Height = Application.GetMinRealAverage(250), + Gravity = Gravity.CenterVertical + }; + deviceItemFL.AddChidren(addBtnBG); - addBtn.MouseUpEventHandler += (send2, e2) => + var addBtn = new Device.CommonForm.SelectedStatuButton() + { + X = Application.GetRealWidth(30) + currentTemperatureBtn.Right, + Width = Application.GetMinRealAverage(110), + Height = Application.GetMinRealAverage(110), + Gravity = Gravity.CenterVertical, + UnSelectedImagePath = "Item/Add.png", + SelectedImagePath = "Item/AddSelected.png", + }; + deviceItemFL.AddChidren(addBtn); + + addBtn.MouseUpEventHandler += (send2, e2) => + { + if (Device.AC.ACControlBase.IsOpen(ac) == false) { - if (Device.AC.ACControlBase.IsOpen(ac) == false) + Device.AC.ACControlBase.ShowACIsCloseTip(); + return; + } + //cool + if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) + { + if (ac.currentCoolingSetpoint >= ACControlBase.Temperature_High) { - Device.AC.ACControlBase.ShowACIsCloseTip(); return; } - //cool - if (ac.currentSystemMode == 3) - { - ac.currentCoolingSetpoint += 1; - ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint); + ac.currentCoolingSetpoint += 1; + ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100); - currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C"; - } + currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C"; + } //heat else if (ac.currentSystemMode == 4) + { + if (ac.currentHeatingSetpoint >= ACControlBase.Temperature_High) { - ac.currentHeatingSetpoint += 1; - ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint); - - currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C"; + return; } - //auto - //dry - }; + ac.currentHeatingSetpoint += 1; + ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100); - var switchBtn = new Button - { - X = deviceItemFL.Right - Application.GetRealWidth(200), - //Y = deviceItemFL.Bottom - Application.GetRealHeight(120), - Width = Application.GetMinRealAverage(183), - Height = Application.GetMinRealAverage(123), - UnSelectedImagePath = "Item/Switch.png", - SelectedImagePath = "Item/SwitchSelected.png", - IsSelected = ac.currentSystemMode != 0, - Tag = deviceStatus_OnOffStatus, - //Visible=false - Gravity = Gravity.CenterVertical - }; - deviceItemFL.AddChidren(switchBtn); - switchBtn.MouseUpEventHandler += (send2, e2) => - { - switchBtn.IsSelected = !switchBtn.IsSelected; - if (switchBtn.IsSelected == true) - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - ac.Open(); - - //鎺у埗寤舵椂鍥炶皟 - //DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - //{ - // if (Parent == null) - // { - // return; - // } - // RemoveUpdateControlDeviceStatuAction(zbGateway); - // if (sendedControlCommand == false) - // { - // DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - // } - //}); - } - else - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - ac.Close(); - - //鎺у埗寤舵椂鍥炶皟 - //DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - //{ - // if (Parent == null) - // { - // return; - // } - // RemoveUpdateControlDeviceStatuAction(zbGateway); - // if (sendedControlCommand == false) - // { - // DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - // } - //}); - } - }; - - var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton - { - Tag = device, - IsMoreLines = true - }; - if (Room.CurrentRoom.IsLove) - { - deleteBtn.TextID = R.MyInternationalizationString.CancelCollect; - deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor; - deleteBtn.MouseUpEventHandler += collectionEvent; - deviceRowLayout.AddRightView(deleteBtn); + currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C"; } - else if(Room.CurrentRoom.IsSharedRoom) + else if (ac.currentSystemMode == 1) { - //涓嶅鐞� - } - else - { - deleteBtn.MouseUpEventHandler += delEvent; - deviceRowLayout.AddRightView(deleteBtn); + if (ac.currentAutoSetpoint >= ACControlBase.Temperature_High) + { + return; + } + ac.currentAutoSetpoint += 1; + ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100); + currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C"; } + }; - EventHandler<MouseEventArgs> acHandler = (sender, e) => - { - var acControl = new Phone.Device.AC.ACControl { }; - UserView.HomePage.Instance.AddChidren(acControl); - UserView.HomePage.Instance.PageIndex += 1; - acControl.action = RefreshBodyView; - acControl.Show(device, Room.CurrentRoom); - }; - deviceItemFL.MouseLongEventHandler += acHandler; - deviceItemFL.MouseUpEventHandler += acHandler; - deviceName.MouseUpEventHandler += acHandler; - deviceIMG.MouseUpEventHandler += acHandler; - } - else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight) + var switchBtnBG = new Button { - //璋冨厜鐏� - var dimmableLight = device.CommonDevice as DimmableLight; + X = deviceItemFL.Right - Application.GetRealWidth(250), + Width = Application.GetMinRealAverage(250), + Height = Application.GetMinRealAverage(250), + Gravity = Gravity.CenterVertical + }; + deviceItemFL.AddChidren(switchBtnBG); + var switchBtn = new Button + { + X = deviceItemFL.Right - Application.GetRealWidth(200), + //Y = deviceItemFL.Bottom - Application.GetRealHeight(120), + Width = Application.GetMinRealAverage(183), + Height = Application.GetMinRealAverage(123), + UnSelectedImagePath = "Item/Switch.png", + SelectedImagePath = "Item/SwitchSelected.png", + IsSelected = ac.currentSystemMode != 0, + Tag = deviceStatus_OnOffStatus, + //Visible=false + Gravity = Gravity.CenterVertical + }; + deviceItemFL.AddChidren(switchBtn); + switchBtn.MouseUpEventHandler += (send2, e2) => + { + switchBtn.IsSelected = !switchBtn.IsSelected; + if (switchBtn.IsSelected == true) + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - //琛ヤ笂闈炶繙绋� - if (dimmableLight.Gateway == null) - { - continue; - } - if (dimmableLight.Gateway.IsVirtual) - { - //鍙戦�佽鍙栫姸鎬佸懡浠� - ReadStatus(dimmableLight, () => - { - dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - dimmableLight.ReadOnOffStatus(); - dimmableLight.ReadLevel(); - }); - } + ac.Open(); + + //鎺у埗寤舵椂鍥炶皟 + //DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + //{ + // if (Parent == null) + // { + // return; + // } + // RemoveUpdateControlDeviceStatuAction(zbGateway); + // if (sendedControlCommand == false) + // { + // DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + // } + //}); + } else { - //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� - if ((DateTime.Now - dimmableLight.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) - { - dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - dimmableLight.ReadOnOffStatus(); - dimmableLight.ReadLevel(); + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + ac.Close(); + + //鎺у埗寤舵椂鍥炶皟 + //DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + //{ + // if (Parent == null) + // { + // return; + // } + // RemoveUpdateControlDeviceStatuAction(zbGateway); + // if (sendedControlCommand == false) + // { + // DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + // } + //}); } + }; + + var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton + { + Tag = device, + IsMoreLines = true + }; + if (Room.CurrentRoom.IsLove) + { + deleteBtn.TextID = R.MyInternationalizationString.CancelCollect; + deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor; + deleteBtn.MouseUpEventHandler += collectionEvent; + deviceRowLayout.AddRightView(deleteBtn); + } + else if (Room.CurrentRoom.IsSharedRoom) + { + //涓嶅鐞� + } + else + { + deleteBtn.MouseUpEventHandler += delEvent; + deviceRowLayout.AddRightView(deleteBtn); + } + + + EventHandler<MouseEventArgs> acHandler = (sender, e) => + { + var acControl = new Phone.Device.AC.ACControl { }; + UserView.HomePage.Instance.AddChidren(acControl); + UserView.HomePage.Instance.PageIndex += 1; + acControl.action = RefreshBodyView; + acControl.Show(device, Room.CurrentRoom); + }; + //deviceItemFL.MouseLongEventHandler += acHandler; + deviceItemFL.MouseUpEventHandler += acHandler; + deviceName.MouseUpEventHandler += acHandler; + deviceIMG.MouseUpEventHandler += acHandler; + } + else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight) + { + //璋冨厜鐏� + var dimmableLight = device.CommonDevice as DimmableLight; + + //琛ヤ笂闈炶繙绋� + if (dimmableLight.Gateway == null) + { + continue; + } + if (dimmableLight.Gateway.IsVirtual) + { + //鍙戦�佽鍙栫姸鎬佸懡浠� + ReadStatus(dimmableLight, () => + { + dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + dimmableLight.ReadOnOffStatus(); + dimmableLight.ReadLevel(); + }); + } + else + { + //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� + if ((DateTime.Now - dimmableLight.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) + { + dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + dimmableLight.ReadOnOffStatus(); + dimmableLight.ReadLevel(); } + } - var deviceFL = new FrameLayout - { - Height = Application.GetRealHeight(deviceFL_Height), - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = device - }; - deviceVerticalScrolViewLayout.AddChidren(deviceFL); - var deviceRowLayout = new RowLayout - { - Y = Application.GetRealHeight(25), - Height = Application.GetRealHeight(deviceFL_Height - 25) - 1, - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius, - Tag = device - }; - deviceFL.AddChidren(deviceRowLayout); + var deviceFL = new FrameLayout + { + Height = Application.GetRealHeight(deviceFL_Height), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, + Tag = device + }; + deviceVerticalScrolViewLayout.AddChidren(deviceFL); + var deviceRowLayout = new RowLayout + { + Y = Application.GetRealHeight(25), + Height = Application.GetRealHeight(deviceFL_Height - 25) - 1, + LineColor = ZigbeeColor.Current.GXCBackgroundColor, + BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, + Radius = CommonPage.BigFormRadius, + Tag = device + }; + deviceFL.AddChidren(deviceRowLayout); - var deviceItemFL = new FrameLayout() - { - BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, - Radius = CommonPage.BigFormRadius - }; - deviceRowLayout.AddChidren(deviceItemFL); - var deviceIMG = new Button() - { - X = Application.GetRealWidth(50), - Y = Application.GetRealHeight(30), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - UnSelectedImagePath = device.IconPath, - SelectedImagePath = device.OnlineIconPath, - IsSelected = dimmableLight.IsOnline == 1, - Tag = deviceStatus_Online - }; - deviceItemFL.AddChidren(deviceIMG); - var deviceName = new Button() - { - X = Application.GetRealWidth(10), - Y = deviceIMG.Bottom, - Width = Application.GetRealWidth(180), - Height = Application.GetRealHeight(80), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextAlignment = TextAlignment.Center, - Text = device.CommonDevice.DeviceEpointName, - TextSize = 10, - IsMoreLines = true - }; - deviceItemFL.AddChidren(deviceName); + var deviceItemFL = new FrameLayout() + { + BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor, + Radius = CommonPage.BigFormRadius + }; + deviceRowLayout.AddChidren(deviceItemFL); + var deviceIMG = new Button() + { + X = Application.GetRealWidth(50), + Y = Application.GetRealHeight(30), + Width = Application.GetMinRealAverage(110), + Height = Application.GetMinRealAverage(110), + UnSelectedImagePath = device.IconPath, + SelectedImagePath = device.OnlineIconPath, + IsSelected = dimmableLight.IsOnline == 1, + Tag = deviceStatus_Online + }; + deviceItemFL.AddChidren(deviceIMG); + var deviceName = new Button() + { + X = Application.GetRealWidth(10), + Y = deviceIMG.Bottom, + Width = Application.GetRealWidth(180), + Height = Application.GetRealHeight(80), + TextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextAlignment = TextAlignment.Center, + Text = device.CommonDevice.DeviceEpointName, + TextSize = 10, + IsMoreLines = true + }; + deviceItemFL.AddChidren(deviceName); - var levelSeekBar = new HorizontalSeekBar() - { - X=deviceIMG.Right+Application.GetRealWidth(50), - Width = Application.GetRealWidth(500), - Height = Application.GetRealHeight(80), - Gravity = Gravity.CenterVertical, - BackgroundColor = ZigbeeColor.Current.GXCSliderUnSelectedColor, - ThumbColor = ZigbeeColor.Current.GXCButtonBlueColor, - BorderColor = ZigbeeColor.Current.GXCButtonBlueColor, - ProgressColor = ZigbeeColor.Current.GXCButtonBlueColor, - Max = 254, - Tag = "LevelSeekBar", - Progress = dimmableLight.Level, - SleepTime=sleepSpan - }; - deviceItemFL.AddChidren(levelSeekBar); - levelSeekBar.ProgressChanged += (send2, e2) => - { - dimmableLight.SetLevel(levelSeekBar.Progress); - }; + var levelSeekBar = new HorizontalSeekBar() + { + X = deviceIMG.Right + Application.GetRealWidth(50), + Width = Application.GetRealWidth(500), + Height = Application.GetRealHeight(80), + Gravity = Gravity.CenterVertical, + BackgroundColor = ZigbeeColor.Current.GXCSliderUnSelectedColor, + ThumbColor = ZigbeeColor.Current.GXCButtonBlueColor, + BorderColor = ZigbeeColor.Current.GXCButtonBlueColor, + ProgressColor = ZigbeeColor.Current.GXCButtonBlueColor, + Max = 254, + Tag = "LevelSeekBar", + Progress = dimmableLight.Level, + SleepTime = sleepSpan + }; + deviceItemFL.AddChidren(levelSeekBar); + levelSeekBar.ProgressChanged += (send2, e2) => + { + dimmableLight.SetLevel(levelSeekBar.Progress); + }; - var collectionBtn = new Button() + var collectionBtn = new Button() + { + X = deviceItemFL.Right - Application.GetRealWidth(150), + Y = Application.GetRealHeight(20), + Width = Application.GetMinRealAverage(80), + Height = Application.GetMinRealAverage(80), + UnSelectedImagePath = "Item/Collection.png", + SelectedImagePath = "Item/CollectionSelected.png", + Tag = device + }; + //***鍏堥殣钘�****** + //deviceItemFL.AddChidren(collectionBtn); + var switchBtnBG = new Button + { + X = deviceItemFL.Right - Application.GetRealWidth(250), + Width = Application.GetMinRealAverage(250), + Height = Application.GetMinRealAverage(250), + Gravity = Gravity.CenterVertical + }; + deviceItemFL.AddChidren(switchBtnBG); + var switchBtn = new Button + { + X = deviceItemFL.Right - Application.GetRealWidth(200), + //Y = deviceItemFL.Bottom - Application.GetRealHeight(120), + Width = Application.GetMinRealAverage(183), + Height = Application.GetMinRealAverage(123), + UnSelectedImagePath = "Item/Switch.png", + SelectedImagePath = "Item/SwitchSelected.png", + IsSelected = dimmableLight.OnOffStatus == 1, + Tag = deviceStatus_OnOffStatus, + //Visible=false + Gravity = Gravity.CenterVertical + }; + deviceItemFL.AddChidren(switchBtn); + switchBtn.MouseUpEventHandler += (send2, e2) => + { + switchBtn.IsSelected = !switchBtn.IsSelected; + if (switchBtn.IsSelected == true) { - X = deviceItemFL.Right - Application.GetRealWidth(150), - Y = Application.GetRealHeight(20), - Width = Application.GetMinRealAverage(80), - Height = Application.GetMinRealAverage(80), - UnSelectedImagePath = "Item/Collection.png", - SelectedImagePath = "Item/CollectionSelected.png", - Tag = device - }; - //***鍏堥殣钘�****** - //deviceItemFL.AddChidren(collectionBtn); - var switchBtn = new Button - { - X = deviceItemFL.Right - Application.GetRealWidth(200), - //Y = deviceItemFL.Bottom - Application.GetRealHeight(120), - Width = Application.GetMinRealAverage(183), - Height = Application.GetMinRealAverage(123), - UnSelectedImagePath = "Item/Switch.png", - SelectedImagePath = "Item/SwitchSelected.png", - IsSelected = dimmableLight.OnOffStatus == 1, - Tag = deviceStatus_OnOffStatus, - //Visible=false - Gravity = Gravity.CenterVertical - }; - deviceItemFL.AddChidren(switchBtn); - switchBtn.MouseUpEventHandler += (send2, e2) => - { - switchBtn.IsSelected = !switchBtn.IsSelected; - if (switchBtn.IsSelected == true) - { //zbGateway = device.CommonDevice.Gateway; //sendedControlCommand = false; //zbGateway.ReportAction += UpdateDeviceControllStatu; @@ -2344,19 +2564,19 @@ //鎺у埗寤舵椂鍥炶皟 //DeviceUI.SendCommandDelayAction(device.CommonDevice, () => //{ - //if (Parent == null) - //{ - // return; - //} - //RemoveUpdateControlDeviceStatuAction(zbGateway); - //if (sendedControlCommand == false) - //{ - // DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - //} + //if (Parent == null) + //{ + // return; + //} + //RemoveUpdateControlDeviceStatuAction(zbGateway); + //if (sendedControlCommand == false) + //{ + // DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + //} //}); } - else - { + else + { //zbGateway = device.CommonDevice.Gateway; //sendedControlCommand = false; //zbGateway.ReportAction += UpdateDeviceControllStatu; @@ -2378,87 +2598,83 @@ // } //}); } - }; + }; - var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton - { - Tag = device, - IsMoreLines = true - }; - if (Room.CurrentRoom.IsLove) - { - deleteBtn.TextID = R.MyInternationalizationString.CancelCollect; - deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor; - deleteBtn.MouseUpEventHandler += collectionEvent; - deviceRowLayout.AddRightView(deleteBtn); - } - else if(Room.CurrentRoom.IsSharedRoom) - { - //涓嶅鐞� - } - else - { - deleteBtn.MouseUpEventHandler += delEvent; - deviceRowLayout.AddRightView(deleteBtn); - } - - EventHandler<MouseEventArgs> dimmableLightHandler = (sender, e) => - { - var dimmableLightControl = new Phone.Device.Light.DimmableLightControl(); - UserView.HomePage.Instance.AddChidren(dimmableLightControl); - UserView.HomePage.Instance.PageIndex += 1; - UserView.HomePage.Instance.ScrollEnabled = false; - dimmableLightControl.action = RefreshBodyView; - dimmableLightControl.Show(device, Room.CurrentRoom); - }; - deviceItemFL.MouseLongEventHandler += dimmableLightHandler; - deviceItemFL.MouseUpEventHandler += dimmableLightHandler; - deviceName.MouseUpEventHandler += dimmableLightHandler; - deviceIMG.MouseUpEventHandler += dimmableLightHandler; - - //collectionBtn.MouseUpEventHandler += (sender, e) => - //{ - // if (collectionBtn.IsSelected) - // { - // Room.Lists[0].DeleteDevice(device.FilePath); - // collectionBtn.IsSelected = false; - // if(Room.CurrentRoom==Room.Lists[0]) - // { - // RefreshBodyView(); - // } - // } - // else - // { - // Room.Lists[0].AddDevice(device.FilePath); - // collectionBtn.IsSelected = true; - // } - // //RefreshBodyView(); - //}; - collectionBtn.MouseUpEventHandler += collectionEvent; - - //var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FilePath); - //if (dev == null) - //{ - // collectionBtn.IsSelected = false; - //} - //else - //{ - // collectionBtn.IsSelected = true; - //} - } - else if (device.CommonDevice.Type == DeviceType.OnOffSwitch) + var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton { - //鎸夐敭 - var panel = (Panel)device.CommonDevice; - + Tag = device, + IsMoreLines = true + }; + if (Room.CurrentRoom.IsLove) + { + deleteBtn.TextID = R.MyInternationalizationString.CancelCollect; + deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor; + deleteBtn.MouseUpEventHandler += collectionEvent; + deviceRowLayout.AddRightView(deleteBtn); } + else if (Room.CurrentRoom.IsSharedRoom) + { + //涓嶅鐞� + } + else + { + deleteBtn.MouseUpEventHandler += delEvent; + deviceRowLayout.AddRightView(deleteBtn); + } + + EventHandler<MouseEventArgs> dimmableLightHandler = (sender, e) => + { + var dimmableLightControl = new Phone.Device.Light.DimmableLightControl(); + UserView.HomePage.Instance.AddChidren(dimmableLightControl); + UserView.HomePage.Instance.PageIndex += 1; + UserView.HomePage.Instance.ScrollEnabled = false; + dimmableLightControl.action = RefreshBodyView; + dimmableLightControl.Show(device, Room.CurrentRoom); + }; + //deviceItemFL.MouseLongEventHandler += dimmableLightHandler; + deviceItemFL.MouseUpEventHandler += dimmableLightHandler; + deviceName.MouseUpEventHandler += dimmableLightHandler; + deviceIMG.MouseUpEventHandler += dimmableLightHandler; + + //collectionBtn.MouseUpEventHandler += (sender, e) => + //{ + // if (collectionBtn.IsSelected) + // { + // Room.Lists[0].DeleteDevice(device.FilePath); + // collectionBtn.IsSelected = false; + // if(Room.CurrentRoom==Room.Lists[0]) + // { + // RefreshBodyView(); + // } + // } + // else + // { + // Room.Lists[0].AddDevice(device.FilePath); + // collectionBtn.IsSelected = true; + // } + // //RefreshBodyView(); + //}; + collectionBtn.MouseUpEventHandler += collectionEvent; + + //var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FilePath); + //if (dev == null) + //{ + // collectionBtn.IsSelected = false; + //} + //else + //{ + // collectionBtn.IsSelected = true; + //} + } + else if (device.CommonDevice.Type == DeviceType.OnOffSwitch) + { + //鎸夐敭 + var panel = (Panel)device.CommonDevice; + } } } - else - { - ShowNoGatewayTip(); - } + } #endregion @@ -2486,97 +2702,95 @@ /// </summary> private void ShowScene() { - if (CanBindGateway() == false) + //閫夋嫨鍦烘櫙 + var sceneList = Room.CurrentRoom.SceneUIList; + if (sceneList == null) { - //閫夋嫨鍦烘櫙 - var sceneList = Room.CurrentRoom.SceneUIList; - if (sceneList == null) + return; + } + if (sceneList.Count == 0) + { + ShowNoSceneTip(); + } + else + { + var sceneScrolView = new VerticalScrolViewLayout { }; + functionSceneBodyView.AddChidren(sceneScrolView); + foreach (var scene in sceneList) { - return; - } - if (sceneList.Count == 0) - { - ShowNoSceneTip(); - } - else - { - var sceneScrolView = new VerticalScrolViewLayout { }; - functionSceneBodyView.AddChidren(sceneScrolView); - foreach (var scene in sceneList) + if (scene == null) { - if (scene == null) - { - continue; - } - var sceneFL = new FrameLayout() - { - Height = Application.GetRealHeight(400), - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = scene - }; - sceneScrolView.AddChidren(sceneFL); - var sceneRowLayout = new RowLayout() - { - Y = Application.GetRealHeight(30), - Height = Application.GetRealHeight(400 - 10 - 30), - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - Radius = CommonPage.BigFormRadius - }; - sceneFL.AddChidren(sceneRowLayout); - var sceneItemFL = new FrameLayout() - { - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - Radius = CommonPage.BigFormRadius - }; - sceneRowLayout.AddChidren(sceneItemFL); - var sceneImg = new Button() - { - UnSelectedImagePath = scene.IconPath, - Radius = CommonPage.BigFormRadius - }; - sceneItemFL.AddChidren(sceneImg); - var hardBlackBG = new Button() - { - BackgroundColor = ZigbeeColor.Current.GXCBlack70Color, - SelectedBackgroundColor = ZigbeeColor.Current.GXCBlack80Color, - Radius = CommonPage.BigFormRadius - }; - sceneItemFL.AddChidren(hardBlackBG); - var sceneNameBtn = new Button() - { - Text = scene.Name, - TextColor = ZigbeeColor.Current.GXCTextWhiteColor, - TextSize = 20 - }; - sceneItemFL.AddChidren(sceneNameBtn); - //缂栬緫 - var editBtn = new Device.CommonForm.RowLayoutEditButton - { - TextID = R.MyInternationalizationString.Edit, - Tag = scene - }; - //鍒犻櫎 - var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton - { - Tag = scene - }; - if (!Room.CurrentRoom.IsSharedRoom) - { - sceneRowLayout.AddRightView(editBtn); - sceneRowLayout.AddRightView(deleteBtn); - } + continue; + } + var sceneFL = new FrameLayout() + { + Height = Application.GetRealHeight(400), + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, + Tag = scene + }; + sceneScrolView.AddChidren(sceneFL); + var sceneRowLayout = new RowLayout() + { + Y = Application.GetRealHeight(30), + Height = Application.GetRealHeight(400 - 10 - 30), + LineColor = ZigbeeColor.Current.GXCBackgroundColor, + Radius = CommonPage.BigFormRadius + }; + sceneFL.AddChidren(sceneRowLayout); + var sceneItemFL = new FrameLayout() + { + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, + Radius = CommonPage.BigFormRadius + }; + sceneRowLayout.AddChidren(sceneItemFL); + var sceneImg = new Button() + { + UnSelectedImagePath = scene.IconPath, + Radius = CommonPage.BigFormRadius + }; + sceneItemFL.AddChidren(sceneImg); + var hardBlackBG = new Button() + { + BackgroundColor = ZigbeeColor.Current.GXCBlack70Color, + SelectedBackgroundColor = ZigbeeColor.Current.GXCBlack80Color, + Radius = CommonPage.BigFormRadius + }; + sceneItemFL.AddChidren(hardBlackBG); + var sceneNameBtn = new Button() + { + Text = scene.Name, + TextColor = ZigbeeColor.Current.GXCTextWhiteColor, + TextSize = 20 + }; + sceneItemFL.AddChidren(sceneNameBtn); + //缂栬緫 + var editBtn = new Device.CommonForm.RowLayoutEditButton + { + TextID = R.MyInternationalizationString.Edit, + Tag = scene + }; + //鍒犻櫎 + var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton + { + Tag = scene + }; + if (!Room.CurrentRoom.IsSharedRoom) + { + sceneRowLayout.AddRightView(editBtn); + sceneRowLayout.AddRightView(deleteBtn); + } - EventHandler<MouseEventArgs> sceneDownHandler = (sender, e) => - { - hardBlackBG.IsSelected = true; - }; - sceneNameBtn.MouseDownEventHandler += sceneDownHandler; - hardBlackBG.MouseDownEventHandler += sceneDownHandler; + EventHandler<MouseEventArgs> sceneDownHandler = (sender, e) => + { + hardBlackBG.IsSelected = true; + }; + sceneNameBtn.MouseDownEventHandler += sceneDownHandler; + hardBlackBG.MouseDownEventHandler += sceneDownHandler; - //璋冪敤鍦烘櫙 - EventHandler<MouseEventArgs> sceneUpHandler = async (sender, e) => - { - hardBlackBG.IsSelected = false; + //璋冪敤鍦烘櫙 + EventHandler<MouseEventArgs> sceneUpHandler = async (sender, e) => + { + hardBlackBG.IsSelected = false; //1鎴愬姛 0澶辫触 //鍚庨潰琛ヤ笂鐩稿叧鎻愮ず // Error鍙傛暟鍚箟 @@ -2586,74 +2800,70 @@ //<para>4锛氬叾浠栭敊璇�</para> //<para>5锛氭暟鎹紶杈撻敊璇紙鍦ㄦ煇娆″鎴风鍚戠綉鍏冲彂閫佹暟鎹殑杩囩▼涓紝缃戝叧鍦ㄥ悎鐞嗘椂闂磋寖鍥村唴鎺ユ敹瀹㈡埛绔暟鎹笉瀹屾暣瀵艰嚧璇ラ敊璇彂鐢熴�傚瀹㈡埛绔悜缃戝叧涓�娆″彂閫�100涓瓧鑺傜殑鏁版嵁锛屼絾缃戝叧绛夊緟鎺ユ敹浜嗕竴绉掑彧鎺ユ敹浜�80涓瓧鑺傘�傚彂鐢熻閿欒锛岀綉鍏冲皢涓诲姩鍏抽棴瀹㈡埛绔繛鎺ワ級</para> var sceneOpenAllData = await ZigBee.Device.Scene.ControlSceneAsync(scene.Id, 0); - if (sceneOpenAllData == null || sceneOpenAllData.sceneOpenData == null) + if (sceneOpenAllData == null || sceneOpenAllData.sceneOpenData == null) + { + return; + } + if (sceneOpenAllData.sceneOpenData.Result == 0) + { + if (sceneOpenAllData.errorResponData == null) { return; } - if (sceneOpenAllData.sceneOpenData.Result == 0) + CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.ControlSceneFail); + } + }; + sceneNameBtn.MouseUpEventHandler += sceneUpHandler; + hardBlackBG.MouseUpEventHandler += sceneUpHandler; + + //缂栬緫鍦烘櫙 + EventHandler<MouseEventArgs> editEvent = (sender, e) => + { + SceneRoomUI.EditScene(scene, Room.CurrentRoom); + }; + editBtn.MouseUpEventHandler += editEvent; + + //鍒犻櫎鍦烘櫙 + EventHandler<MouseEventArgs> delEvent = (sender, e) => + { + var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.ConfirmDelete), Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); + alert.Show(); + alert.ResultEventHandler += async (send1, e1) => + { + if (e1) { - if (sceneOpenAllData.errorResponData == null) + //0 绉婚櫎澶辫触 1 绉婚櫎鎴愬姛 2 娌℃湁璇ュ満鏅� + var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(scene.Id); + if (removeSceneAllData == null || removeSceneAllData.removeSceneData == null) { return; } - CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.ControlSceneFail); - } - }; - sceneNameBtn.MouseUpEventHandler += sceneUpHandler; - hardBlackBG.MouseUpEventHandler += sceneUpHandler; - - //缂栬緫鍦烘櫙 - EventHandler<MouseEventArgs> editEvent = (sender, e) => - { - SceneRoomUI.EditScene(scene, Room.CurrentRoom); - }; - editBtn.MouseUpEventHandler += editEvent; - - //鍒犻櫎鍦烘櫙 - EventHandler<MouseEventArgs> delEvent = (sender, e) => - { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.ConfirmDelete), Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - alert.ResultEventHandler += async (send1, e1) => - { - if (e1) + if (removeSceneAllData.removeSceneData.Result == 1) { - //0 绉婚櫎澶辫触 1 绉婚櫎鎴愬姛 2 娌℃湁璇ュ満鏅� - var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(scene.Id); - if (removeSceneAllData == null || removeSceneAllData.removeSceneData == null) - { - return; - } - if (removeSceneAllData.removeSceneData.Result == 1) - { //1鎴愬姛 Room.CurrentRoom.RemoveScene(scene); //RefreshBodyView(); sceneScrolView.RemoveViewByTag((sender as Button).Tag); - } - else if (removeSceneAllData.removeSceneData.Result == 0) - { + } + else if (removeSceneAllData.removeSceneData.Result == 0) + { //0 绉婚櫎澶辫触 CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.DeleteSceneFail); - } - else if (removeSceneAllData.removeSceneData.Result == 2) - { + } + else if (removeSceneAllData.removeSceneData.Result == 2) + { //2 娌℃湁璇ュ満鏅� Room.CurrentRoom.RemoveScene(scene); //RefreshBodyView(); sceneScrolView.RemoveViewByTag((sender as Button).Tag); - } } - }; + } }; - deleteBtn.MouseUpEventHandler += delEvent; - } + }; + deleteBtn.MouseUpEventHandler += delEvent; } } - else - { - ShowNoGatewayTip(); - } + } #endregion @@ -2671,6 +2881,7 @@ new System.Threading.Thread(async () => { Config.Instance.HomeId = home.Id; + Config.Instance.Home = House.GetHouseByFilePath(home.FileName); Global.CreateHomeDirectory(home.Id); Config.Instance.Save(); //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼ -- Gitblit v1.8.0