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