From d569f44a62fa915d4f01a80c21e617f676b6c5ea Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 18 十月 2019 10:12:10 +0800
Subject: [PATCH] 2019.10.18

---
 ZigbeeApp/Shared/Phone/Device/Category/Category.cs | 2091 +++++++++++++++++++++++++---------------------------------
 1 files changed, 909 insertions(+), 1,182 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
old mode 100755
new mode 100644
index c41f1d2..2ace0e4
--- a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
@@ -4,6 +4,7 @@
 using Shared.Phone.UserView;
 using Shared.R;
 using ZigBee.Device;
+using Shared.Phone.Device.CommonForm;
 
 namespace Shared.Phone.Device.Category
 {
@@ -19,21 +20,29 @@
         /// </summary>
         public static Category instance;
         /// <summary>
+        /// low_High
+        /// </summary>
+        private const int low_High= 127;
+        /// <summary>
         /// 鍔熻兘
         /// </summary>
-        public Button functionBtn;
+        private ButtonLineForm functionBtn;
         /// <summary>
         /// 鍦烘櫙
         /// </summary>
-        public Button sceneBtn;
+        private ButtonLineForm sceneBtn;
         /// <summary>
         /// 鑷姩鍖�
         /// </summary>
-        public Button automationBtn;
+        private ButtonLineForm automationBtn;
+        /// <summary>
+        /// 鍦烘櫙鍔熻兘涓儴鑳屾櫙bodyView
+        /// </summary>
+        public FrameLayout functionSceneBodyView;
         /// <summary>
         /// 涓儴鑳屾櫙bodyView
         /// </summary>
-        public FrameLayout functionSceneBodyView;
+        public FrameLayout functionSceneAutoBodyView;
         /// <summary>
         /// 鐩稿悓鐨勮澶囧垪琛�
         /// </summary>
@@ -50,10 +59,6 @@
         /// 鍙充笂瑙掓坊鍔犳寜閽�
         /// </summary>
         private Device.CommonForm.SelectedStatuButton addBtn;
-        /// <summary>
-        /// 鍒嗘爮搴曢儴绾挎潯.
-        /// </summary>
-        private Button line;
         /// <summary>
         /// 缃戝叧
         /// </summary>
@@ -73,11 +78,11 @@
         /// <summary>
         /// 褰撳墠鍔熻兘绫诲瀷鎸夐挳
         /// </summary>
-        private Button tempFunctionTypeBtn;
+        private FunctionButton tempFunctionTypeBtn;
         /// <summary>
         /// 鍔熻兘绫诲瀷鎸夐挳
         /// </summary>
-        private Button functionTypeIMG;
+        private FunctionButton functionTypeIMG;
         /// <summary>
         /// 鍔熻兘绫诲瀷
         /// </summary>
@@ -86,6 +91,14 @@
         /// 璁惧绫诲瀷RowLayout
         /// </summary>
         private RowLayout typeRowLayout;
+        /// <summary>
+        /// 妤煎眰
+        /// </summary>
+        private Button floorBtn;
+        /// <summary>
+        /// 閫夋嫨妤煎眰
+        /// </summary>
+        private Button selectFloorBtn;
 
         #endregion
 
@@ -455,13 +468,13 @@
                                         }
                                     }
                                     break;
-                                case DeviceType.WindowCoveringDevice:
+                                case DeviceType.WindowCoveringDevice:
                                     var rollerShape = deviceUI.CommonDevice as Rollershade;
                                     //璁板綍鍥炲鏃堕棿
                                     rollerShape.LastDateTime = DateTime.Now;
                                     rollerShape.IsOnline = (common as Rollershade).IsOnline;
                                     for (int j = 0; j < rowLayout.ChildrenCount; j++)
-                                    {
+                                    {
                                         var tempView = rowLayout.GetChildren(j);
                                         if (tempView.Tag == null)
                                         {
@@ -520,7 +533,7 @@
         /// </summary>
         public Category()
         {
-            BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
+            BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
             instance = this;
         }
 
@@ -530,156 +543,131 @@
         /// <param name="selectedBtn">閫変腑閭d釜鐣岄潰 0--鍔熻兘 1--鍦烘櫙 2--鑷姩鍖� </param>
         public void Show(int selectedBtn = 1)
         {
+            
             ZbGateway.StatusList.Add(this);
             RemoveAll();
+
             #region topview
             var topView = new FrameLayout()
             {
-                Height = Application.GetRealHeight(CommonPage.Navigation_Height),
-                BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor,
+                Y = Application.GetRealHeight(104),
+                Height = Application.GetRealHeight(low_High),
+                BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
             };
             this.AddChidren(topView);
 
             var title = new Button()
             {
-                Y = Application.GetRealHeight(CommonPage.NavigationTitle_Y),
-                Height = Application.GetRealHeight(CommonPage.Navigation_Height - CommonPage.NavigationTitle_Y),
-                TextAlignment = TextAlignment.Center,
+                X = Application.GetRealWidth(CommonFormResouce.X_Left),
+                Height = Application.GetRealHeight(95),
+                Width = Application.GetRealWidth(CommonFormResouce.TopTitle_Width),
+                Gravity = Gravity.CenterVertical,
+                TextAlignment = TextAlignment.CenterLeft,
                 TextID = R.MyInternationalizationString.Category,
                 TextSize = 20,
-                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                Width = Application.GetRealWidth(CommonPage.AppRealWidth - 500),
-                Gravity = Gravity.CenterHorizontal
+                TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor,
             };
             topView.AddChidren(title);
 
-            addBtn = new Device.CommonForm.SelectedStatuButton()
+            addBtn = new SelectedStatuButton()
             {
-                Y = Application.GetRealHeight(CommonPage.NavigationTitle_Y),
-                Width = Application.GetMinRealAverage(100),
-                Height = Application.GetMinRealAverage(100),
-                UnSelectedImagePath = "Item/Add.png",
-                SelectedImagePath = "Item/AddSelected.png",
-                X = Application.GetRealWidth(CommonPage.AppRealWidth - 150),
+                X = Application.GetRealWidth(953),
+                Width = Application.GetMinRealAverage(104),
+                Height = Application.GetMinRealAverage(104),
+                Gravity = Gravity.CenterVertical,
+                UnSelectedImagePath = "Item/Add_Category.png",
+                SelectedImagePath = "Item/Add_Category.png"
             };
             topView.AddChidren(addBtn);
             #endregion
 
             #region midFL
-            int functionSceneAuto_width;
-            //鎴愬憳娌℃湁鏉冮檺灞曠ず鑷姩鍖栫晫闈�
-            if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 3)
-            {
-                functionSceneAuto_width = 1080 / 2;
-            }
-            else
-            {
-                functionSceneAuto_width = 1080 / 3;
-            }
-            var functionSceneAuto_height = 120;
             var midFL = new FrameLayout
             {
                 Y = topView.Bottom,
-                Height = Application.GetRealHeight(CommonPage.AppRealHeight - CommonPage.TabbarHeight) - topView.Bottom
+                Height = Application.GetRealHeight(CommonPage.AppRealHeight - CommonPage.TabbarHeight) - topView.Bottom,
+                BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
             };
             AddChidren(midFL);
+
             var functionSceneAutoBG = new FrameLayout()
             {
-                Height = Application.GetRealHeight(functionSceneAuto_height),
-                BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor
+                Height = Application.GetRealHeight(low_High),
+                BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
             };
             midFL.AddChidren(functionSceneAutoBG);
             //鍔熻兘
-            functionBtn = new Button()
-            {
-                Width = Application.GetRealWidth(functionSceneAuto_width),
-                Height = Application.GetRealHeight(functionSceneAuto_height),
-                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                SelectedTextColor = ZigbeeColor.Current.GXCTextBlueColor,
-                TextAlignment = TextAlignment.Center,
-                TextSize = 16,
-                TextID = R.MyInternationalizationString.Function,
-                IsSelected = false
-            };
-            midFL.AddChidren(functionBtn);
+            functionBtn = new ButtonLineForm(CommonFormResouce.X_Left, 34, 150, 68);
+            functionSceneAutoBG.AddChidren(functionBtn);
+            functionBtn.Init();
+            functionBtn.SetTitle(R.MyInternationalizationString.Function);
+
             //鍦烘櫙
-            sceneBtn = new Button()
-            {
-                X = functionBtn.Right,
-                Width = Application.GetRealWidth(functionSceneAuto_width),
-                Height = Application.GetRealHeight(functionSceneAuto_height),
-                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                SelectedTextColor = ZigbeeColor.Current.GXCTextBlueColor,
-                TextAlignment = TextAlignment.Center,
-                TextSize = 16,
-                TextID = R.MyInternationalizationString.Scence,
-                IsSelected = false
-            };
-            midFL.AddChidren(sceneBtn);
+            sceneBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 + 20, 34, 150, 68);
+            functionSceneAutoBG.AddChidren(sceneBtn);
+            sceneBtn.Init();
+            sceneBtn.SetTitle(R.MyInternationalizationString.Scence);
+
             //鑷姩鍖�
-            automationBtn = new Button()
-            {
-                X = sceneBtn.Right,
-                Width = Application.GetRealWidth(functionSceneAuto_width),
-                Height = Application.GetRealHeight(functionSceneAuto_height),
-                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                SelectedTextColor = ZigbeeColor.Current.GXCTextBlueColor,
-                TextAlignment = TextAlignment.Center,
-                TextSize = 16,
-                TextID = R.MyInternationalizationString.Automation,
-                IsSelected = false
-            };
+            automationBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 * 2 + 20, 34, 150, 68);
+            automationBtn.Init();
+            automationBtn.SetTitle(R.MyInternationalizationString.Automation);
             //闅愯棌鑷姩鍖�
             if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo != 3)
             {
-                midFL.AddChidren(automationBtn);
+                functionSceneAutoBG.AddChidren(automationBtn);
             }
 
-            var functionSceneBottomLine = new Button()
+            floorBtn = new Button()
             {
-                Y = functionBtn.Bottom,
-                Height = CommonPage.LineHeight,
-                X = functionBtn.X,
-                BackgroundColor = ZigbeeColor.Current.GXCLineColor
+                X = Application.GetRealWidth(750),
+                Width = Application.GetRealWidth(200),
+                Height = Application.GetRealHeight(60),
+                Gravity = Gravity.CenterVertical,
+                TextAlignment = TextAlignment.CenterRight,
+                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
             };
-            midFL.AddChidren(functionSceneBottomLine);
-            line = new Button()
+
+            selectFloorBtn = new Button()
             {
-                Y = functionBtn.Bottom,
-                Height = CommonPage.LineHeight,
-                X = sceneBtn.X,
-                Width = Application.GetRealWidth(functionSceneAuto_width),
-                BackgroundColor = ZigbeeColor.Current.GXCButtonBlueColor
+                X = Application.GetRealWidth(950),
+                Width = Application.GetMinRealAverage(69),
+                Height = Application.GetMinRealAverage(69),
+                Gravity = Gravity.CenterVertical,
+                UnSelectedImagePath = "Item/Drop_Down.png"
             };
-            midFL.AddChidren(line);
-            //鍔熻兘鍜屽満鏅痓odyView
-            functionSceneBodyView = new FrameLayout()
+
+            if (Config.Instance.Home.FloorDics.Count > 0)
             {
-                Y = line.Bottom,
-                Height = Application.GetRealHeight(CommonPage.AppRealHeight - CommonPage.TabbarHeight) - functionBtn.Height - topView.Height - CommonPage.LineHeight,
+                floorBtn.Text = Config.Instance.Home.GetCurrentFloorName;
+                functionSceneAutoBG.AddChidren(floorBtn);
+                functionSceneAutoBG.AddChidren(selectFloorBtn);
+            }
+
+            functionSceneAutoBodyView = new FrameLayout
+            {
+                Y = functionSceneAutoBG.Bottom,
+                Height = Application.GetRealHeight(1423),
+                BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
             };
-            midFL.AddChidren(functionSceneBodyView);
+            midFL.AddChidren(functionSceneAutoBodyView);
 
             if (selectedBtn == 0)
             {
                 addBtn.Visible = false;
                 functionBtn.IsSelected = true;
-                line.X = functionBtn.X;
             }
             else if (selectedBtn == 1)
             {
                 addBtn.Visible = true;
                 sceneBtn.IsSelected = true;
-                line.X = sceneBtn.X;
             }
             else if (selectedBtn == 2)
             {
                 addBtn.Visible = true;
                 automationBtn.IsSelected = true;
-                line.X = automationBtn.X;
             }
             RefreshBodyView();
-
 
             #endregion
             //缁戝畾鎸夐挳浜嬩欢
@@ -695,13 +683,34 @@
         private void BindEvent()
         {
             //閫夋嫨鍔熻兘鍒嗘爮
-            functionBtn.MouseUpEventHandler += FunctionBtn_MouseUpEventHandler;
+            functionBtn.NameBtn.MouseUpEventHandler += FunctionBtn_MouseUpEventHandler;
             //閫夋嫨鍦烘櫙鍒嗘爮
-            sceneBtn.MouseUpEventHandler += SceneBtn_MouseUpEventHandler;
+            sceneBtn.NameBtn.MouseUpEventHandler += SceneBtn_MouseUpEventHandler;
             //閫変腑鑷姩鍖�
-            automationBtn.MouseUpEventHandler += AutomationBtn_MouseUpEventHandler;
+            automationBtn.NameBtn.MouseUpEventHandler += AutomationBtn_MouseUpEventHandler;
             //鍙充笂瑙掓坊鍔犳寜閽�
             addBtn.MouseUpEventHandler += AddBtn_MouseUpEventHandler;
+
+            selectFloorBtn.MouseUpEventHandler += SelectedFloor_MouseUpEventHandler;
+            floorBtn.MouseUpEventHandler+= SelectedFloor_MouseUpEventHandler;
+
+        }
+
+        /// <summary>
+        /// 閫夋嫨妤煎眰
+        /// </summary>
+        /// <param name="sender">Sender.</param>
+        /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
+        private void SelectedFloor_MouseUpEventHandler(object sender, MouseEventArgs mouseEventArgs)
+        {
+            var floors = new SelectFloor ();
+            AddChidren(floors);
+            floors.Init(599,357,Direction.Right);
+            floors.FloorAction += (floorName) =>
+            {
+                floorBtn.Text = floorName;
+                RefreshBodyView();
+            };
         }
 
         /// <summary>
@@ -714,7 +723,6 @@
             functionBtn.IsSelected = true;
             sceneBtn.IsSelected = false;
             automationBtn.IsSelected = false;
-            line.X = functionBtn.X;
             addBtn.Visible = false;
             RefreshBodyView();
         }
@@ -729,7 +737,6 @@
             functionBtn.IsSelected = false;
             sceneBtn.IsSelected = true;
             automationBtn.IsSelected = false;
-            line.X = sceneBtn.X;
             addBtn.Visible = true;
             RefreshBodyView();
         }
@@ -744,7 +751,6 @@
             functionBtn.IsSelected = false;
             sceneBtn.IsSelected = false;
             automationBtn.IsSelected = true;
-            line.X = automationBtn.X;
             addBtn.Visible = true;
             RefreshBodyView();
         }
@@ -780,12 +786,6 @@
             var scene = new CategoryAddScene();
             UserView.HomePage.Instance.AddChidren(scene);
             UserView.HomePage.Instance.PageIndex += 1;
-            CategoryAddScene.sceneTargetDevicesList?.Clear();
-            CategoryAddScene.SceneText = "";
-            CategoryAddScene.CurrentRoom = Shared.Common.Room.CurrentRoom;
-            CategoryAddScene.ModifySceneUI = null;
-            CategoryAddScene.Modify = false;
-            CategoryAddScene.ImagePath = "Scene/Scene0.png";
             scene.Show();
         }
 
@@ -812,7 +812,7 @@
         /// </summary>
         public void RefreshBodyView()
         {
-            functionSceneBodyView.RemoveAll();
+            functionSceneAutoBodyView.RemoveAll();
             if (functionBtn.IsSelected)
             {
                 ShowFunction();
@@ -835,16 +835,49 @@
         /// </summary>
         public void ShowFunction()
         {
+            AddRoomView();
+        }
+
+        /// <summary>
+        /// 鎻愮ず娌℃湁鍔熻兘
+        /// </summary>
+        private void ShowNoFunctionTip()
+        {
+            var noFunction = new Button()
+            {
+                Y=Application.GetRealHeight(320),
+                Width=Application.GetMinRealAverage(757),
+                Height = Application.GetMinRealAverage(435),
+                UnSelectedImagePath="Item/NoFunction.png",
+                Gravity = Gravity.CenterHorizontal
+            };
+            functionSceneBodyView.AddChidren(noFunction);
+
+            var noFunctionTip = new Button()
+            {
+                Y = noFunction.Bottom + Application.GetRealHeight(32),
+                Height = Application.GetRealHeight(200),
+                Width = Application.GetRealWidth(700),
+                Gravity = Gravity.CenterHorizontal,
+                Text = Language.StringByID(R.MyInternationalizationString.NoFunction).Replace("{\\r\\n}","\r\n"),
+                TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
+                TextAlignment = TextAlignment.Center,
+                IsMoreLines=true
+            };
+            functionSceneBodyView.AddChidren(noFunctionTip);
+        }
+
+        /// <summary>
+        /// RefreshFunction
+        /// </summary>
+        /// <param name="room"></param>
+        private void RefreshFunction(Common.Room room)
+        {
             //绉婚櫎鐩戝惉
             RemoveAllUpdateControlDeviceStatuAction();
-            //閫夋嫨鍔熻兘--鐩存帴浠庢埧闂寸殑devicelist涓幏鍙�
-            Shared.Common.Room.GetAllRoomDeviceUIList();
-            Shared.Common.Room.GetAllRoomDeviceTypeList();
-            if (Common.Room.AllRoomDeviceUIList == null)
-            {
-                return;
-            }
-            if (Common.Room.AllRoomDeviceUIList.Count == 0)
+            functionSceneBodyView.RemoveAll();
+
+            if (room.DeviceUIList.Count == 0)
             {
                 ShowNoFunctionTip();
             }
@@ -852,26 +885,538 @@
             {
                 functionTypeScrowView = new HorizontalScrolViewLayout
                 {
-                    Height = Application.GetRealHeight(CommonPage.RowHeight) - 1,
-                    Width = Application.GetRealWidth(CommonPage.AppRealWidth)
+                    X = Application.GetRealWidth(CommonFormResouce.X_Left),
+                    Height = Application.GetRealHeight(279),
+                    Width = Application.GetRealWidth(1028),
+                    BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
                 };
                 functionSceneBodyView.AddChidren(functionTypeScrowView);
-                var typeLine = new Button()
-                {
-                    Y = functionTypeScrowView.Bottom,
-                    Width = Application.GetRealWidth(CommonPage.AppRealWidth),
-                    Height = 1,
-                    BackgroundColor = ZigbeeColor.Current.GXCLineColor
-                };
-                functionSceneBodyView.AddChidren(typeLine);
+
                 deviceListScrolView = new VerticalScrolViewLayout
                 {
-                    Y = typeLine.Bottom,
-                    Height = functionSceneBodyView.Height - Application.GetRealHeight(CommonPage.RowHeight) - 1
+                    X = Application.GetRealWidth(CommonFormResouce.X_Left),
+                    Y = functionTypeScrowView.Bottom + Application.GetRealHeight(50),
+                    Width = Application.GetRealWidth(1028),
+                    Height = functionSceneBodyView.Height - Application.GetRealHeight(279 + 50) - 1,
+                    BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
+
                 };
                 functionSceneBodyView.AddChidren(deviceListScrolView);
-                tempFunctionTypeBtn = new Button();
-                foreach (var deviceType in Common.Room.AllRoomDeviceTypeList)
+                tempFunctionTypeBtn = new FunctionButton();
+
+                EventHandler<MouseEventArgs> ShowSameTypeFunction = (object typeSender, MouseEventArgs mouseEventArgs) =>
+                {
+                    tempFunctionTypeBtn.IsSelected = false;
+                    tempFunctionTypeBtn = (typeSender as Button).Parent as FunctionButton;
+                    ((typeSender as Button).Parent as FunctionButton).IsSelected = true;
+
+                    deviceListScrolView.RemoveAll();
+
+                    var sameTypeList = new List<DeviceUI> { };
+                    foreach (var devieceUI in room.DeviceUIList)
+                    {
+                        if (devieceUI == null || devieceUI.CommonDevice == null)
+                        {
+                            continue;
+                        }
+                        if (devieceUI.CommonDevice.Type.ToString() == (typeSender as Button).Tag.ToString())
+                        {
+                            if (!sameTypeList.Contains(devieceUI))
+                            {
+                                sameTypeList.Add(devieceUI);
+                            }
+                        }
+                    }
+                    foreach (var deviceUI in sameTypeList)
+                    {
+                        //鍒犻櫎璁惧
+                        EventHandler<MouseEventArgs> delEvent = (delSender, delE) =>
+                        {
+                            var alert = new CustomAlert();
+                            AddChidren(alert);
+                            alert.Show(Language.StringByID(R.MyInternationalizationString.ConfirmDelete));
+                            alert.ResultEventHandler += (e2) =>
+                            {
+                                if (e2)
+                                {
+                                    Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.CommonDevice);
+                                    deviceListScrolView.RemoveViewByTag((delSender as Button).Tag);
+                                    sameTypeList.Remove(deviceUI);
+                                    if (sameTypeList.Count == 0)
+                                    {
+                                        RefreshBodyView();
+                                    }
+                                }
+                            };
+                        };
+                        EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) =>
+                        {
+                            var detailInfo = new Device.CommonForm.DeviceDetailInfo { };
+                            UserView.HomePage.Instance.AddChidren(detailInfo);
+                            UserView.HomePage.Instance.PageIndex += 1;
+                            detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom);
+                            detailInfo.action = RefreshBodyView;
+                        };
+
+                        if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput)
+                        {
+                            //鐏�
+                            var light = deviceUI.CommonDevice as ZigBee.Device.ToggleLight;
+                            //琛ヤ笂闈炶繙绋�
+                            if (light.Gateway == null)
+                            {
+                                continue;
+                            }
+                            if (light.Gateway.IsVirtual)
+                            {
+                                UserHomeView.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 deviceTypeRowLayout = new RowLayout()
+                            {
+                                Height = Application.GetRealHeight(127 + 35),
+                                LineColor = ZigbeeColor.Current.GXCBackgroundColor,
+                                Tag = deviceUI
+                            };
+                            deviceListScrolView.AddChidren(deviceTypeRowLayout);
+
+                            var deviceRow = new FunctionRow(0, 35);
+                            deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
+                            deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
+                            deviceRow.SetStatu(light.IsOnline == 1);
+                            deviceTypeRowLayout.AddChidren(deviceRow);
+
+
+                            deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
+                            {
+                                zbGateway = deviceUI.CommonDevice.Gateway;
+                                sendedControlCommand = false;
+                                zbGateway.ReportAction += UpdateDeviceControllStatu;
+                                AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
+                                (send2 as CommonForm.SelectedStatuButton).IsSelected = !(send2 as CommonForm.SelectedStatuButton).IsSelected;
+                                if ((send2 as CommonForm.SelectedStatuButton).IsSelected)
+                                {
+                                    light.SwitchControl(1);
+                                }
+                                else
+                                {
+                                    light.SwitchControl(0);
+                                }
+                                //鎺у埗寤舵椂鍥炶皟
+                                DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
+                                {
+                                    if (Parent == null)
+                                    {
+                                        return;
+                                    }
+                                    RemoveUpdateControlDeviceStatuAction(zbGateway);
+                                    if (sendedControlCommand == false)
+                                    {
+                                        DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
+                                    }
+                                });
+                            };
+
+                            var editBtn = new CommonForm.RowLayoutEditButton()
+                            {
+                                Tag = deviceUI,
+                                Radius = 0
+                            };
+                            deviceTypeRowLayout.AddRightView(editBtn);
+                            editBtn.MouseUpEventHandler += deviceDetailHandler;
+
+                            var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
+                            {
+                                Tag = deviceUI,
+                                Radius = 0
+                            };
+                            deviceTypeRowLayout.AddRightView(delBtn);
+                            delBtn.MouseUpEventHandler += delEvent;
+                        }
+                        else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch)
+                        {
+                            //绌烘皵寮�鍏�
+                            var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch;
+                            //琛ヤ笂闈炶繙绋�
+                            if (airSwitch.Gateway == null)
+                            {
+                                continue;
+                            }
+                            if (airSwitch.Gateway.IsVirtual)
+                            {
+                                UserHomeView.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 deviceTypeRowLayout = new RowLayout()
+                            {
+                                Height = Application.GetRealHeight(127 + 35),
+                                LineColor = ZigbeeColor.Current.GXCBackgroundColor,
+                                Tag = deviceUI
+                            };
+                            deviceListScrolView.AddChidren(deviceTypeRowLayout);
+
+                            var deviceRow = new FunctionRow(0, 35);
+                            deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
+                            deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
+                            deviceRow.SetStatu(airSwitch.IsOnline == 1);
+                            deviceTypeRowLayout.AddChidren(deviceRow);
+
+                            deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
+                            {
+                                zbGateway = deviceUI.CommonDevice.Gateway;
+                                sendedControlCommand = false;
+                                zbGateway.ReportAction += UpdateDeviceControllStatu;
+                                AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
+
+                                (send2 as CommonForm.SelectedStatuButton).IsSelected = !(send2 as CommonForm.SelectedStatuButton).IsSelected;
+                                if ((send2 as CommonForm.SelectedStatuButton).IsSelected)
+                                {
+                                    airSwitch.SwitchControl(1);
+                                }
+                                else
+                                {
+                                    airSwitch.SwitchControl(0);
+                                }
+                                //鎺у埗寤舵椂鍥炶皟
+                                DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
+                                {
+                                    if (Parent == null)
+                                    {
+                                        return;
+                                    }
+                                    RemoveUpdateControlDeviceStatuAction(zbGateway);
+                                    if (sendedControlCommand == false)
+                                    {
+                                        DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
+                                    }
+                                });
+                            };
+
+                            var editBtn = new CommonForm.RowLayoutEditButton()
+                            {
+                                Tag = deviceUI,
+                                Radius = 0
+                            };
+                            deviceTypeRowLayout.AddRightView(editBtn);
+                            editBtn.MouseUpEventHandler += deviceDetailHandler;
+
+                            var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
+                            {
+                                Tag = deviceUI,
+                                Radius = 0
+                            };
+                            deviceTypeRowLayout.AddRightView(delBtn);
+                            delBtn.MouseUpEventHandler += delEvent;
+                        }
+                        else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight)
+                        {
+                            //璋冨厜鐏�
+                            var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight;
+                            //琛ヤ笂闈炶繙绋�
+                            if (dimmableLight.Gateway == null)
+                            {
+                                continue;
+                            }
+                            if (dimmableLight.Gateway.IsVirtual)
+                            {
+                                UserHomeView.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 deviceTypeRowLayout = new RowLayout()
+                            {
+                                Height = Application.GetRealHeight(127 + 35),
+                                LineColor = ZigbeeColor.Current.GXCBackgroundColor,
+                                Tag = deviceUI
+                            };
+                            deviceListScrolView.AddChidren(deviceTypeRowLayout);
+
+                            var deviceRow = new FunctionRow(0, 35);
+                            deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
+                            deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
+                            deviceRow.SetStatu(dimmableLight.IsOnline == 1);
+                            deviceTypeRowLayout.AddChidren(deviceRow);
+
+                            deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
+                            {
+                                zbGateway = deviceUI.CommonDevice.Gateway;
+                                sendedControlCommand = false;
+                                zbGateway.ReportAction += UpdateDeviceControllStatu;
+                                AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
+
+                                (send2 as CommonForm.SelectedStatuButton).IsSelected = !(send2 as CommonForm.SelectedStatuButton).IsSelected;
+                                if ((send2 as CommonForm.SelectedStatuButton).IsSelected)
+                                {
+                                    dimmableLight.SwitchControl(1);
+                                }
+                                else
+                                {
+                                    dimmableLight.SwitchControl(0);
+                                }
+                                //鎺у埗寤舵椂鍥炶皟
+                                DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
+                                {
+                                    if (Parent == null)
+                                    {
+                                        return;
+                                    }
+                                    RemoveUpdateControlDeviceStatuAction(zbGateway);
+                                    if (sendedControlCommand == false)
+                                    {
+                                        DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
+                                    }
+                                });
+                            };
+
+                            var editBtn = new CommonForm.RowLayoutEditButton()
+                            {
+                                Tag = deviceUI,
+                                Radius = 0
+                            };
+                            deviceTypeRowLayout.AddRightView(editBtn);
+                            editBtn.MouseUpEventHandler += deviceDetailHandler;
+
+                            var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
+                            {
+                                Tag = deviceUI,
+                                Radius = 0
+                            };
+                            deviceTypeRowLayout.AddRightView(delBtn);
+                            delBtn.MouseUpEventHandler += delEvent;
+
+                        }
+                        else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat)
+                        {
+                            //绌鸿皟
+                            var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
+                            //琛ヤ笂闈炶繙绋�
+                            if (ac.Gateway == null)
+                            {
+                                continue;
+                            }
+                            if (ac.Gateway.IsVirtual)
+                            {
+                                //鍙戦�佽鍙栫姸鎬佸懡浠�
+                                UserView.UserHomeView.ReadStatus(ac, () =>
+                                {
+                                    ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+                                    ac.ReadFanMode();
+                                    ac.ReadSystemMode();
+                                    ac.ReadLocalTemperature();
+                                    ac.ReadCoolingSetpoint();
+                                    ac.ReadHeatingSetpoint();
+                                });
+                            }
+                            else
+                            {
+                                //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵��
+                                if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
+                                {
+                                    ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+                                    ac.ReadFanMode();
+                                    ac.ReadSystemMode();
+                                    ac.ReadLocalTemperature();
+                                    ac.ReadCoolingSetpoint();
+                                    ac.ReadHeatingSetpoint();
+                                }
+                            }
+
+                            var deviceTypeRowLayout = new RowLayout()
+                            {
+                                Height = Application.GetRealHeight(127 + 35),
+                                LineColor = ZigbeeColor.Current.GXCBackgroundColor,
+                                Tag = deviceUI
+                            };
+                            deviceListScrolView.AddChidren(deviceTypeRowLayout);
+
+                            var deviceRow = new FunctionRow(0, 35);
+                            deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
+                            deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
+                            deviceRow.SetStatu(ac.IsOnline == 1);
+                            deviceTypeRowLayout.AddChidren(deviceRow);
+
+                            deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) =>
+                            {
+                                zbGateway = deviceUI.CommonDevice.Gateway;
+                                sendedControlCommand = false;
+                                zbGateway.ReportAction += UpdateDeviceControllStatu;
+                                AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
+
+                                (send2 as CommonForm.SelectedStatuButton).IsSelected = !(send2 as CommonForm.SelectedStatuButton).IsSelected;
+                                if ((send2 as CommonForm.SelectedStatuButton).IsSelected)
+                                {
+                                    ac.Open();
+                                }
+                                else
+                                {
+                                    ac.Close();
+                                }
+                                //鎺у埗寤舵椂鍥炶皟
+                                DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
+                                {
+                                    if (Parent == null)
+                                    {
+                                        return;
+                                    }
+                                    RemoveUpdateControlDeviceStatuAction(zbGateway);
+                                    if (sendedControlCommand == false)
+                                    {
+                                        DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
+                                    }
+                                });
+                            };
+
+                            var editBtn = new CommonForm.RowLayoutEditButton()
+                            {
+                                Tag = deviceUI,
+                                Radius = 0
+                            };
+                            deviceTypeRowLayout.AddRightView(editBtn);
+                            editBtn.MouseUpEventHandler += deviceDetailHandler;
+
+                            var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
+                            {
+                                Tag = deviceUI,
+                                Radius = 0
+                            };
+                            deviceTypeRowLayout.AddRightView(delBtn);
+                            delBtn.MouseUpEventHandler += delEvent;
+                        }
+                        else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice)
+                        {
+                            //鍗峰笜
+                            var rollerShade = deviceUI.CommonDevice as ZigBee.Device.Rollershade;
+                            //涓嶄笂闈炶繙绋�
+                            if (rollerShade.Gateway == null)
+                            {
+                                continue;
+                            }
+                            if (rollerShade.Gateway.IsVirtual)
+                            {
+                                UserHomeView.ReadStatus(rollerShade, () =>
+                                {
+                                    rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+                                });
+                            }
+                            else
+                            {
+                                //闃叉鐭椂闂村唴澶氭璇诲彇
+                                if ((DateTime.Now - rollerShade.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
+                                {
+                                    rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
+                                }
+                            }
+
+
+                            var deviceTypeRowLayout = new RowLayout()
+                            {
+                                Height = Application.GetRealHeight(127 + 35),
+                                LineColor = ZigbeeColor.Current.GXCLineColor,
+                                Tag = deviceUI
+                            };
+                            deviceListScrolView.AddChidren(deviceTypeRowLayout);
+
+                            var deviceRow = new FunctionRow(0, 35);
+                            deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath);
+                            deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName);
+                            deviceRow.SetStatu(rollerShade.IsOnline == 1);
+                            deviceTypeRowLayout.AddChidren(deviceRow);
+
+                            var editBtn = new CommonForm.RowLayoutEditButton()
+                            {
+                                Tag = deviceUI,
+                                Radius = 0
+                            };
+                            deviceTypeRowLayout.AddRightView(editBtn);
+                            editBtn.MouseUpEventHandler += deviceDetailHandler;
+
+                            var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
+                            {
+                                Tag = deviceUI,
+                                Radius = 0
+                            };
+                            deviceTypeRowLayout.AddRightView(delBtn);
+                            delBtn.MouseUpEventHandler += delEvent;
+
+
+                            deviceRow.SwitchBtn.MouseUpEventHandler += (sender, e) =>
+                            {
+                                zbGateway = deviceUI.CommonDevice.Gateway;
+                                sendedControlCommand = false;
+                                zbGateway.ReportAction += UpdateDeviceControllStatu;
+                                AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
+
+                                (sender as CommonForm.SelectedStatuButton).IsSelected = !(sender as CommonForm.SelectedStatuButton).IsSelected;
+                                if ((sender as CommonForm.SelectedStatuButton).IsSelected)
+                                {
+                                    rollerShade.CurtainUpDownStopControl(0);
+                                }
+                                else
+                                {
+                                    rollerShade.CurtainUpDownStopControl(1);
+                                }
+
+                                //鎺у埗寤舵椂鍥炶皟
+                                DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
+                                {
+                                    if (Parent == null)
+                                    {
+                                        return;
+                                    }
+                                    RemoveUpdateControlDeviceStatuAction(zbGateway);
+                                    if (sendedControlCommand == false)
+                                    {
+                                        DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
+                                    }
+                                });
+                            };
+                        }
+                        else
+                        {
+
+                        }
+                    }
+                };
+
+                foreach (var deviceType in Common.Room.GetdeviceTypes(room))
                 {
                     typeRowLayout = new RowLayout()
                     {
@@ -880,760 +1425,115 @@
                         Tag = deviceType
                     };
                     functionTypeScrowView.AddChidren(typeRowLayout);
-                    functionTypeIMG = new Button()
+
+                    functionTypeIMG = new FunctionButton()
                     {
-                        Width = Application.GetMinRealAverage(110),
-                        Height = Application.GetMinRealAverage(110),
-                        Gravity = Gravity.Center,
-                        UnSelectedImagePath = DeviceUI.GetDeviceTypeUnSelectedImagePath(deviceType),
-                        SelectedImagePath = DeviceUI.GetDeviceTypeSelectedImagePath(deviceType),
                         Tag = deviceType
                     };
+                    functionTypeIMG.Init(DeviceUI.GetDeviceTypeUnSelectedImagePath(deviceType), DeviceUI.GetDeviceTypeUnSelectedImagePath(deviceType));
+                    functionTypeIMG.SetTitle(DeviceUI.GetDeviceTypeName(deviceType));
                     typeRowLayout.AddChidren(functionTypeIMG);
 
-                    functionTypeIMG.MouseUpEventHandler += ShowSameTypeFunction;
 
-                    if (deviceType == Shared.Common.Room.AllRoomDeviceUIList[0].CommonDevice.Type)
+                    functionTypeIMG.ImageBtn.MouseUpEventHandler += ShowSameTypeFunction;
+                    functionTypeIMG.NameBtn.MouseUpEventHandler += ShowSameTypeFunction;
+                    functionTypeIMG.ImageBG.MouseUpEventHandler += ShowSameTypeFunction;
+
+                    if (deviceType == room.DeviceUIList[0].CommonDevice.Type)
                     {
-                        ShowSameTypeFunction(functionTypeIMG, null);
+                        ShowSameTypeFunction(functionTypeIMG.ImageBtn, null);
                     }
+
                 }
+
+
             }
         }
 
         /// <summary>
-        /// 鏄剧ず鐩稿悓绫诲瀷鐨勫姛鑳�
+        /// AddRoomView
         /// </summary>
-        /// <param name="typeSender">typeSender.</param>
-        /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
-        private void ShowSameTypeFunction(object typeSender, MouseEventArgs mouseEventArgs)
+        private void AddRoomView()
         {
-            //閫夋嫨鍔熻兘--鐩存帴浠庢埧闂寸殑devicelist涓幏鍙�
-            Shared.Common.Room.GetAllRoomDeviceUIList();
-            tempFunctionTypeBtn.IsSelected = false;
-            (typeSender as Button).IsSelected = true;
-            tempFunctionTypeBtn = (typeSender as Button);
-            deviceListScrolView.RemoveAll();
-
-            var sameTypeList = new List<DeviceUI> { };
-            foreach (var devieceUI in Common.Room.AllRoomDeviceUIList)
+            var roomFL = new HorizontalScrolViewLayout()
             {
-                if (devieceUI == null || devieceUI.CommonDevice == null)
-                {
-                    continue;
-                }
-                if (devieceUI.CommonDevice.Type.ToString() == (typeSender as Button).Tag.ToString())
-                {
-                    if (!sameTypeList.Contains(devieceUI))
-                    {
-                        sameTypeList.Add(devieceUI);
-                    }
-                }
-            }
-            foreach (var deviceUI in sameTypeList)
-            {
-                //鍒犻櫎璁惧
-                EventHandler<MouseEventArgs> delEvent = (delSender, delE) =>
-                {
-                    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, e2) =>
-                    {
-                        if (e2)
-                        {
-                            Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.CommonDevice, false);
-                            deviceListScrolView.RemoveViewByTag((delSender as Button).Tag);
-                            sameTypeList.Remove(deviceUI);
-                            if (sameTypeList.Count == 0)
-                            {
-                                RefreshBodyView();
-                            }
-                        }
-                    };
-                };
-                EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) =>
-                {
-                    var detailInfo = new Device.CommonForm.DeviceDetailInfo { };
-                    UserView.HomePage.Instance.AddChidren(detailInfo);
-                    UserView.HomePage.Instance.PageIndex += 1;
-                    detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom);
-                    detailInfo.action = RefreshBodyView;
-                };
-
-                if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput)
-                {
-                    //鐏�
-                    var light = deviceUI.CommonDevice as ZigBee.Device.ToggleLight;
-                    //琛ヤ笂闈炶繙绋�
-                    if (light.Gateway == null)
-                    {
-                        continue;
-                    }
-                    if (light.Gateway.IsVirtual)
-                    {
-                        UserHomeView.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 deviceTypeRowLayout = new RowLayout()
-                    {
-                        Height = Application.GetRealHeight(CommonPage.RowHeight),
-                        LineColor = ZigbeeColor.Current.GXCLineColor,
-                        Tag = deviceUI
-                    };
-                    deviceListScrolView.AddChidren(deviceTypeRowLayout);
-                    var deviceIMG = new Button()
-                    {
-                        X = Application.GetRealWidth(CommonPage.XLeft),
-                        Width = Application.GetMinRealAverage(110),
-                        Height = Application.GetMinRealAverage(110),
-                        UnSelectedImagePath = deviceUI.IconPath,
-                        SelectedImagePath = deviceUI.OnlineIconPath,
-                        Gravity = Gravity.CenterVertical,
-                        IsSelected = light.IsOnline == 1,
-                        Tag = deviceStatus_Online
-                    };
-                    deviceTypeRowLayout.AddChidren(deviceIMG);
-                    var deviceNameBtn = new Button()
-                    {
-                        X = Application.GetRealWidth(50) + deviceIMG.Right,
-                        Width = Application.GetRealWidth(500),
-                        Text = deviceUI.CommonDevice.DeviceEpointName,
-                        TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                        TextAlignment = TextAlignment.CenterLeft
-                    };
-                    deviceTypeRowLayout.AddChidren(deviceNameBtn);
-                    var switchBtn = new Button
-                    {
-                        X = deviceTypeRowLayout.Right - Application.GetRealWidth(200),
-                        Width = Application.GetMinRealAverage(183),
-                        Height = Application.GetMinRealAverage(123),
-                        UnSelectedImagePath = "Item/Switch.png",
-                        SelectedImagePath = "Item/SwitchSelected.png",
-                        IsSelected = light.OnOffStatus == 1,
-                        Tag = deviceStatus_OnOffStatus,
-                        Gravity = Gravity.CenterVertical
-                    };
-                    deviceTypeRowLayout.AddChidren(switchBtn);
-
-                    switchBtn.MouseUpEventHandler += (send2, e2) =>
-                    {
-                        zbGateway = deviceUI.CommonDevice.Gateway;
-                        sendedControlCommand = false;
-                        zbGateway.ReportAction += UpdateDeviceControllStatu;
-                        AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
-                        switchBtn.IsSelected = !switchBtn.IsSelected;
-                        if (switchBtn.IsSelected == true)
-                        {
-                            light.SwitchControl(1);
-                        }
-                        else
-                        {
-                            light.SwitchControl(0);
-                        }
-                        //鎺у埗寤舵椂鍥炶皟
-                        DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
-                        {
-                            if (Parent == null)
-                            {
-                                return;
-                            }
-                            RemoveUpdateControlDeviceStatuAction(zbGateway);
-                            if (sendedControlCommand == false)
-                            {
-                                DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
-                            }
-                        });
-                    };
-
-                    var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
-                    {
-                        Tag = deviceUI,
-                        Radius = 0
-                    };
-                    deviceTypeRowLayout.AddRightView(delBtn);
-                    delBtn.MouseUpEventHandler += delEvent;
-
-                    deviceTypeRowLayout.MouseUpEventHandler += deviceDetailHandler;
-                    deviceIMG.MouseUpEventHandler += deviceDetailHandler;
-                    deviceNameBtn.MouseUpEventHandler += deviceDetailHandler;
-                }
-                else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch)
-                {
-                    //绌烘皵寮�鍏�
-                    var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch;
-                    //琛ヤ笂闈炶繙绋�
-                    if (airSwitch.Gateway == null)
-                    {
-                        continue;
-                    }
-                    if (airSwitch.Gateway.IsVirtual)
-                    {
-                        UserHomeView.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 deviceTypeRowLayout = new RowLayout()
-                    {
-                        Height = Application.GetRealHeight(CommonPage.RowHeight),
-                        LineColor = ZigbeeColor.Current.GXCLineColor,
-                        Tag = deviceUI
-                    };
-                    deviceListScrolView.AddChidren(deviceTypeRowLayout);
-                    var deviceIMG = new Button()
-                    {
-                        X = Application.GetRealWidth(CommonPage.XLeft),
-                        Width = Application.GetMinRealAverage(110),
-                        Height = Application.GetMinRealAverage(110),
-                        UnSelectedImagePath = deviceUI.IconPath,
-                        SelectedImagePath = deviceUI.OnlineIconPath,
-                        Gravity = Gravity.CenterVertical,
-                        IsSelected = airSwitch.IsOnline == 1,
-                        Tag = deviceStatus_Online
-                    };
-                    deviceTypeRowLayout.AddChidren(deviceIMG);
-                    var deviceNameBtn = new Button()
-                    {
-                        X = Application.GetRealWidth(50) + deviceIMG.Right,
-                        Width = Application.GetRealWidth(500),
-                        Text = deviceUI.CommonDevice.DeviceEpointName,
-                        TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                        TextAlignment = TextAlignment.CenterLeft
-                    };
-                    deviceTypeRowLayout.AddChidren(deviceNameBtn);
-                    var switchBtn = new Button
-                    {
-                        X = deviceTypeRowLayout.Right - Application.GetRealWidth(200),
-                        Width = Application.GetMinRealAverage(183),
-                        Height = Application.GetMinRealAverage(123),
-                        UnSelectedImagePath = "Item/Switch.png",
-                        SelectedImagePath = "Item/SwitchSelected.png",
-                        IsSelected = airSwitch.OnOffStatus == 1,
-                        Tag = deviceStatus_OnOffStatus,
-                        Gravity = Gravity.CenterVertical
-                    };
-                    deviceTypeRowLayout.AddChidren(switchBtn);
-                    switchBtn.MouseUpEventHandler += (send2, e2) =>
-                    {
-                        zbGateway = deviceUI.CommonDevice.Gateway;
-                        sendedControlCommand = false;
-                        zbGateway.ReportAction += UpdateDeviceControllStatu;
-                        AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
-
-                        switchBtn.IsSelected = !switchBtn.IsSelected;
-                        if (switchBtn.IsSelected == true)
-                        {
-                            airSwitch.SwitchControl(1);
-                        }
-                        else
-                        {
-                            airSwitch.SwitchControl(0);
-                        }
-                        //鎺у埗寤舵椂鍥炶皟
-                        DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
-                        {
-                            if (Parent == null)
-                            {
-                                return;
-                            }
-                            RemoveUpdateControlDeviceStatuAction(zbGateway);
-                            if (sendedControlCommand == false)
-                            {
-                                DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
-                            }
-                        });
-                    };
-                    var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
-                    {
-                        Tag = deviceUI,
-                        Radius = 0
-                    };
-                    deviceTypeRowLayout.AddRightView(delBtn);
-                    delBtn.MouseUpEventHandler += delEvent;
-
-                    deviceTypeRowLayout.MouseUpEventHandler += deviceDetailHandler;
-                    deviceIMG.MouseUpEventHandler += deviceDetailHandler;
-                    deviceNameBtn.MouseUpEventHandler += deviceDetailHandler;
-                }
-                else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight)
-                {
-                    //璋冨厜鐏�
-                    var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight;
-                    //琛ヤ笂闈炶繙绋�
-                    if (dimmableLight.Gateway == null)
-                    {
-                        continue;
-                    }
-                    if (dimmableLight.Gateway.IsVirtual)
-                    {
-                        UserHomeView.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 deviceTypeRowLayout = new RowLayout()
-                    {
-                        Height = Application.GetRealHeight(CommonPage.RowHeight),
-                        LineColor = ZigbeeColor.Current.GXCLineColor,
-                        Tag = deviceUI
-                    };
-                    deviceListScrolView.AddChidren(deviceTypeRowLayout);
-                    var deviceIMG = new Button()
-                    {
-                        X = Application.GetRealWidth(CommonPage.XLeft),
-                        Width = Application.GetMinRealAverage(110),
-                        Height = Application.GetMinRealAverage(110),
-                        UnSelectedImagePath = deviceUI.IconPath,
-                        SelectedImagePath = deviceUI.OnlineIconPath,
-                        Gravity = Gravity.CenterVertical,
-                        IsSelected = dimmableLight.IsOnline == 1,
-                        Tag = deviceStatus_Online
-                    };
-                    deviceTypeRowLayout.AddChidren(deviceIMG);
-                    var deviceNameBtn = new Button()
-                    {
-                        X = Application.GetRealWidth(50) + deviceIMG.Right,
-                        Width = Application.GetRealWidth(500),
-                        Text = deviceUI.CommonDevice.DeviceEpointName,
-                        TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                        TextAlignment = TextAlignment.CenterLeft
-                    };
-                    deviceTypeRowLayout.AddChidren(deviceNameBtn);
-                    var switchBtn = new Button
-                    {
-                        X = deviceTypeRowLayout.Right - Application.GetRealWidth(200),
-                        Width = Application.GetMinRealAverage(183),
-                        Height = Application.GetMinRealAverage(123),
-                        UnSelectedImagePath = "Item/Switch.png",
-                        SelectedImagePath = "Item/SwitchSelected.png",
-                        IsSelected = dimmableLight.OnOffStatus == 1,
-                        Tag = deviceStatus_OnOffStatus,
-                        Gravity = Gravity.CenterVertical
-                    };
-                    deviceTypeRowLayout.AddChidren(switchBtn);
-                    switchBtn.MouseUpEventHandler += (send2, e2) =>
-                    {
-                        zbGateway = deviceUI.CommonDevice.Gateway;
-                        sendedControlCommand = false;
-                        zbGateway.ReportAction += UpdateDeviceControllStatu;
-                        AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
-
-                        switchBtn.IsSelected = !switchBtn.IsSelected;
-                        if (switchBtn.IsSelected == true)
-                        {
-                            dimmableLight.SwitchControl(1);
-                        }
-                        else
-                        {
-                            dimmableLight.SwitchControl(0);
-                        }
-                        //鎺у埗寤舵椂鍥炶皟
-                        DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
-                        {
-                            if (Parent == null)
-                            {
-                                return;
-                            }
-                            RemoveUpdateControlDeviceStatuAction(zbGateway);
-                            if (sendedControlCommand == false)
-                            {
-                                DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
-                            }
-                        });
-                    };
-                    var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
-                    {
-                        Tag = deviceUI,
-                        Radius = 0
-                    };
-                    deviceTypeRowLayout.AddRightView(delBtn);
-                    delBtn.MouseUpEventHandler += delEvent;
-
-                    deviceTypeRowLayout.MouseUpEventHandler += deviceDetailHandler;
-                    deviceIMG.MouseUpEventHandler += deviceDetailHandler;
-                    deviceNameBtn.MouseUpEventHandler += deviceDetailHandler;
-                }
-                else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat)
-                {
-                    //绌鸿皟
-                    var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
-                    //琛ヤ笂闈炶繙绋�
-                    if (ac.Gateway == null)
-                    {
-                        continue;
-                    }
-                    if (ac.Gateway.IsVirtual)
-                    {
-                        //鍙戦�佽鍙栫姸鎬佸懡浠�
-                        UserView.UserHomeView.ReadStatus(ac, () =>
-                        {
-                            ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
-                            ac.ReadFanMode();
-                            ac.ReadSystemMode();
-                            ac.ReadLocalTemperature();
-                            ac.ReadCoolingSetpoint();
-                            ac.ReadHeatingSetpoint();
-                        });
-                    }
-                    else
-                    {
-                        //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵��
-                        if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
-                        {
-                            ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
-                            ac.ReadFanMode();
-                            ac.ReadSystemMode();
-                            ac.ReadLocalTemperature();
-                            ac.ReadCoolingSetpoint();
-                            ac.ReadHeatingSetpoint();
-                        }
-                    }
-
-                    var deviceTypeRowLayout = new RowLayout()
-                    {
-                        Height = Application.GetRealHeight(CommonPage.RowHeight),
-                        LineColor = ZigbeeColor.Current.GXCLineColor,
-                        Tag = deviceUI
-                    };
-                    deviceListScrolView.AddChidren(deviceTypeRowLayout);
-                    var deviceIMG = new Button()
-                    {
-                        X = Application.GetRealWidth(CommonPage.XLeft),
-                        Width = Application.GetMinRealAverage(110),
-                        Height = Application.GetMinRealAverage(110),
-                        UnSelectedImagePath = deviceUI.IconPath,
-                        SelectedImagePath = deviceUI.OnlineIconPath,
-                        Gravity = Gravity.CenterVertical,
-                        IsSelected = ac.IsOnline == 1,
-                        Tag = deviceStatus_Online
-                    };
-                    deviceTypeRowLayout.AddChidren(deviceIMG);
-                    var deviceNameBtn = new Button()
-                    {
-                        X = Application.GetRealWidth(50) + deviceIMG.Right,
-                        Width = Application.GetRealWidth(500),
-                        Text = deviceUI.CommonDevice.DeviceEpointName,
-                        TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                        TextAlignment = TextAlignment.CenterLeft
-                    };
-                    deviceTypeRowLayout.AddChidren(deviceNameBtn);
-                    var switchBtn = new Button
-                    {
-                        X = deviceTypeRowLayout.Right - Application.GetRealWidth(200),
-                        Width = Application.GetMinRealAverage(183),
-                        Height = Application.GetMinRealAverage(123),
-                        UnSelectedImagePath = "Item/Switch.png",
-                        SelectedImagePath = "Item/SwitchSelected.png",
-                        IsSelected = Device.AC.ACControlBase.IsOpen(ac),
-                        Tag = deviceStatus_OnOffStatus,
-                        Gravity = Gravity.CenterVertical
-                    };
-                    deviceTypeRowLayout.AddChidren(switchBtn);
-                    switchBtn.MouseUpEventHandler += (send2, e2) =>
-                    {
-                        zbGateway = deviceUI.CommonDevice.Gateway;
-                        sendedControlCommand = false;
-                        zbGateway.ReportAction += UpdateDeviceControllStatu;
-                        AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
-
-                        switchBtn.IsSelected = !switchBtn.IsSelected;
-                        if (switchBtn.IsSelected == true)
-                        {
-                            ac.Open();
-                        }
-                        else
-                        {
-                            ac.Close();
-                        }
-                        //鎺у埗寤舵椂鍥炶皟
-                        DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
-                        {
-                            if (Parent == null)
-                            {
-                                return;
-                            }
-                            RemoveUpdateControlDeviceStatuAction(zbGateway);
-                            if (sendedControlCommand == false)
-                            {
-                                DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
-                            }
-                        });
-                    };
-                    var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
-                    {
-                        Tag = deviceUI,
-                        Radius = 0
-                    };
-                    deviceTypeRowLayout.AddRightView(delBtn);
-                    delBtn.MouseUpEventHandler += delEvent;
-
-                    deviceTypeRowLayout.MouseUpEventHandler += deviceDetailHandler;
-                    deviceIMG.MouseUpEventHandler += deviceDetailHandler;
-                    deviceNameBtn.MouseUpEventHandler += deviceDetailHandler;
-                }
-                else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice)
-                {
-                    //鍗峰笜
-                    var rollerShade = deviceUI.CommonDevice as ZigBee.Device.Rollershade;
-                    //涓嶄笂闈炶繙绋�
-                    if (rollerShade.Gateway == null)
-                    {
-                        continue;
-                    }
-                    if (rollerShade.Gateway.IsVirtual)
-                    {
-                        UserHomeView.ReadStatus(rollerShade, () =>
-                        {
-                            rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
-                        });
-                    }
-                    else
-                    {
-                        //闃叉鐭椂闂村唴澶氭璇诲彇
-                        if ((DateTime.Now - rollerShade.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
-                        {
-                            rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
-                        }
-                    }
-
-
-                    var deviceTypeRowLayout = new RowLayout()
-                    {
-                        Height = Application.GetRealHeight(CommonPage.RowHeight),
-                        LineColor = ZigbeeColor.Current.GXCLineColor,
-                        Tag = deviceUI
-                    };
-                    deviceListScrolView.AddChidren(deviceTypeRowLayout);
-                    var deviceIMG = new Button()
-                    {
-                        X = Application.GetRealWidth(CommonPage.XLeft),
-                        Width = Application.GetMinRealAverage(110),
-                        Height = Application.GetMinRealAverage(110),
-                        UnSelectedImagePath = deviceUI.IconPath,
-                        SelectedImagePath = deviceUI.OnlineIconPath,
-                        Gravity = Gravity.CenterVertical,
-                        IsSelected = rollerShade.IsOnline == 1,
-                        Tag = deviceStatus_Online
-                    };
-                    deviceTypeRowLayout.AddChidren(deviceIMG);
-                    var deviceNameBtn = new Button()
-                    {
-                        X = Application.GetRealWidth(50) + deviceIMG.Right,
-                        Width = Application.GetRealWidth(350),
-                        Text = deviceUI.CommonDevice.DeviceEpointName,
-                        TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                        TextAlignment = TextAlignment.CenterLeft
-                    };
-                    deviceTypeRowLayout.AddChidren(deviceNameBtn);
-
-                    var closeBtn = new Device.CommonForm.SelectedStatuButton()
-                    {
-                        X = Application.GetRealWidth(50) + deviceNameBtn.Right,
-                        Width = Application.GetMinRealAverage(110),
-                        Height = Application.GetMinRealAverage(110),
-                        Gravity = Gravity.CenterVertical,
-                        UnSelectedImagePath = "WindowCovering/RollerShadeClose.png",
-                        SelectedImagePath = "WindowCovering/RollerShadeCloseSelected.png",
-                    };
-                    deviceTypeRowLayout.AddChidren(closeBtn);
-                    var stopBtn = new Device.CommonForm.SelectedStatuButton()
-                    {
-                        X = Application.GetRealWidth(50) + closeBtn.Right,
-                        Width = Application.GetMinRealAverage(110),
-                        Height = Application.GetMinRealAverage(110),
-                        Gravity = Gravity.CenterVertical,
-                        UnSelectedImagePath = "WindowCovering/RollerShadeStop.png",
-                        SelectedImagePath = "WindowCovering/RollerShadeStopSelected.png",
-                    };
-                    deviceTypeRowLayout.AddChidren(stopBtn);
-                    var openBtn = new Device.CommonForm.SelectedStatuButton()
-                    {
-                        X = Application.GetRealWidth(50) + stopBtn.Right,
-                        Width = Application.GetMinRealAverage(110),
-                        Height = Application.GetMinRealAverage(110),
-                        Gravity = Gravity.CenterVertical,
-                        UnSelectedImagePath = "WindowCovering/RollerShadeOpen.png",
-                        SelectedImagePath = "WindowCovering/RollerShadeOpenSelected.png",
-                    };
-                    deviceTypeRowLayout.AddChidren(openBtn);
-
-                    var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
-                    {
-                        Tag = deviceUI,
-                        Radius = 0
-                    };
-                    deviceTypeRowLayout.AddRightView(delBtn);
-                    delBtn.MouseUpEventHandler += delEvent;
-
-                    //绐楀笜鍏�
-                    closeBtn.MouseUpEventHandler += (sender, e) =>
-                    {
-                        zbGateway = deviceUI.CommonDevice.Gateway;
-                        sendedControlCommand = false;
-                        zbGateway.ReportAction += UpdateDeviceControllStatu;
-                        AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
-
-                        rollerShade.CurtainUpDownStopControl(1);
-
-                        //鎺у埗寤舵椂鍥炶皟
-                        DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
-                        {
-                            if (Parent == null)
-                            {
-                                return;
-                            }
-                            RemoveUpdateControlDeviceStatuAction(zbGateway);
-                            if (sendedControlCommand == false)
-                            {
-                                DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
-                            }
-                        });
-                    };
-                    //绐楀笜鍋�
-                    stopBtn.MouseUpEventHandler += (sender, e) =>
-                    {
-                        zbGateway = deviceUI.CommonDevice.Gateway;
-                        sendedControlCommand = false;
-                        zbGateway.ReportAction += UpdateDeviceControllStatu;
-                        AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
-
-                        rollerShade.CurtainUpDownStopControl(2);
-
-                        //鎺у埗寤舵椂鍥炶皟
-                        DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
-                        {
-                            if (Parent == null)
-                            {
-                                return;
-                            }
-                            RemoveUpdateControlDeviceStatuAction(zbGateway);
-                            if (sendedControlCommand == false)
-                            {
-                                DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
-                            }
-                        });
-                    };
-                    //绐楀笜寮�
-                    openBtn.MouseUpEventHandler += (sender, e) =>
-                    {
-                        zbGateway = deviceUI.CommonDevice.Gateway;
-                        sendedControlCommand = false;
-                        zbGateway.ReportAction += UpdateDeviceControllStatu;
-                        AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice);
-
-                        rollerShade.CurtainUpDownStopControl(0);
-
-                        //鎺у埗寤舵椂鍥炶皟
-                        DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () =>
-                        {
-                            if (Parent == null)
-                            {
-                                return;
-                            }
-                            RemoveUpdateControlDeviceStatuAction(zbGateway);
-                            if (sendedControlCommand == false)
-                            {
-                                DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
-                            }
-                        });
-                    };
-                    deviceTypeRowLayout.MouseUpEventHandler += deviceDetailHandler;
-                    deviceIMG.MouseUpEventHandler += deviceDetailHandler;
-                    deviceNameBtn.MouseUpEventHandler += deviceDetailHandler;
-                }
-                else
-                {
-                    var deviceTypeRowLayout = new RowLayout()
-                    {
-                        Height = Application.GetRealHeight(CommonPage.RowHeight),
-                        LineColor = ZigbeeColor.Current.GXCLineColor,
-                        Tag = deviceUI
-                    };
-                    deviceListScrolView.AddChidren(deviceTypeRowLayout);
-                    var deviceIMG = new Button()
-                    {
-                        X = Application.GetRealWidth(CommonPage.XLeft),
-                        Width = Application.GetMinRealAverage(110),
-                        Height = Application.GetMinRealAverage(110),
-                        UnSelectedImagePath = deviceUI.IconPath,
-                        SelectedImagePath = deviceUI.OnlineIconPath,
-                        Gravity = Gravity.CenterVertical,
-                        Tag = deviceStatus_Online
-                    };
-                    deviceTypeRowLayout.AddChidren(deviceIMG);
-                    var deviceNameBtn = new Button()
-                    {
-                        X = Application.GetRealWidth(50) + deviceIMG.Right,
-                        Width = Application.GetRealWidth(500),
-                        Text = deviceUI.CommonDevice.DeviceEpointName,
-                        TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                        TextAlignment = TextAlignment.CenterLeft
-                    };
-                    deviceTypeRowLayout.AddChidren(deviceNameBtn);
-                    var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
-                    {
-                        Tag = deviceUI,
-                        Radius = 0
-                    };
-                    deviceTypeRowLayout.AddRightView(delBtn);
-                    delBtn.MouseUpEventHandler += delEvent;
-
-                    deviceTypeRowLayout.MouseUpEventHandler += deviceDetailHandler;
-                    deviceIMG.MouseUpEventHandler += deviceDetailHandler;
-                    deviceNameBtn.MouseUpEventHandler += deviceDetailHandler;
-                }
-            }
-        }
-
-        /// <summary>
-        /// 鎻愮ず娌℃湁鍔熻兘
-        /// </summary>
-        private void ShowNoFunctionTip()
-        {
-            var noFunctionTip = new Button()
-            {
-                Height = Application.GetMinRealAverage(200),
-                TextID = R.MyInternationalizationString.NoFunction,
-                TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
-                TextAlignment = TextAlignment.Center,
-                Gravity = Gravity.CenterVertical
+                X = Application.GetRealWidth(CommonFormResouce.X_Left),
+                Height = Application.GetRealHeight(167),
+                Width = Application.GetRealWidth(CommonPage.AppRealWidth - CommonFormResouce.X_Left),
+                BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
             };
-            functionSceneBodyView.AddChidren(noFunctionTip);
+            functionSceneAutoBodyView.AddChidren(roomFL);
+
+            //鍔熻兘鍜屽満鏅痓odyView
+            functionSceneBodyView = new FrameLayout()
+            {
+                Y = roomFL.Bottom,
+                Height = Application.GetRealHeight(1316),
+                BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
+            };
+            functionSceneAutoBodyView.AddChidren(functionSceneBodyView);
+
+            Button curBtn = new Button();
+            foreach (var room in Common.Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom())
+            {
+                var row = new RowLayout()
+                {
+                    Width = Application.GetRealWidth(187 + 50),
+                    Height = Application.GetRealHeight(167),
+                    LineColor = ZigbeeColor.Current.GXCGrayBackgroundColor
+                };
+                roomFL.AddChidren(row);
+
+                var roomBtn = new Button()
+                {
+                    Width = Application.GetRealWidth(187),
+                    Height = Application.GetRealHeight(78),
+                    Radius = (uint)Application.GetRealHeight(78 / 2),
+                    Gravity = Gravity.Center,
+                    Text = room.Name,
+                    TextColor = ZigbeeColor.Current.GXCTextGrayColor,
+                    SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
+                    BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor3,
+                    SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonSelectedColor,
+                    BorderColor = ZigbeeColor.Current.GXCBorderUnSelectedColor,
+                    BorderWidth = 1
+                };
+                row.AddChidren(roomBtn);
+                if (room.IsLove)
+                {
+                    roomBtn.IsSelected = true;
+                    curBtn = roomBtn;
+
+                    if(sceneBtn.IsSelected)
+                    {
+                        RefreshScene(room);
+                    }
+                    else
+                    {
+                        RefreshFunction(room);
+                    }
+                   
+                }
+                roomBtn.MouseUpEventHandler += (sender, e) =>
+                {
+                    if ((sender as Button) == curBtn)
+                    {
+                        return;
+                    }
+                    (sender as Button).IsSelected = true;
+                    curBtn.IsSelected = false;
+                    curBtn = sender as Button;
+                    if (sceneBtn.IsSelected)
+                    {
+                        RefreshScene(room);
+                    }
+                    else
+                    {
+                        RefreshFunction(room);
+                    }
+                };
+            }
+            
         }
 
         #endregion
@@ -1644,133 +1544,122 @@
         /// </summary>
         public void ShowScene()
         {
-            //鍒锋柊鍦烘櫙
-            //var reFreshResult=await Shared.Common.Room.RefreshSceneUIList();
-            Shared.Common.SceneRoomUI.GetAllSceneRoomUIList();
-            if (SceneRoomUI.AllSceneRoomUIList == null)
-            {
-                return;
-            }
-            var sceneList = SceneRoomUI.AllSceneRoomUIList;
-            Shared.Common.Room.GetAllRoomDeviceUIList();
+            AddRoomView();
+        }
+
+        /// <summary>
+        /// RefreshScene
+        /// </summary>
+        /// <param name="room"></param>
+        public void RefreshScene(Common.Room room)
+        {
+            var sceneList = room.SceneUIList;
             if (sceneList.Count == 0)
             {
                 ShowNoSceneTip();
             }
             else
             {
-                var sceneScrolView = new VerticalScrolViewLayout { };
+                var sceneScrolView = new VerticalScrolViewLayout
+                {
+                    Y = Application.GetRealHeight(58)
+                };
                 functionSceneBodyView.AddChidren(sceneScrolView);
-                foreach (var sceneRoomUI in sceneList)
+                foreach (var scene in sceneList)
                 {
                     var sceneFL = new FrameLayout()
                     {
-                        Width = Application.GetRealWidth(CommonPage.AppRealWidth - 100),
-                        Height = Application.GetRealHeight(400),
-                        Gravity = Gravity.CenterHorizontal,
-                        BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
-                        Tag = sceneRoomUI
+                        Height = Application.GetRealHeight(446),
+                        BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
+                        Tag = scene
                     };
                     sceneScrolView.AddChidren(sceneFL);
-                    var sceneRowLayout = new RowLayout()
+                    var sceneRowLayout = new RowLayout
                     {
-                        Y = Application.GetRealHeight(30),
-                        Height = Application.GetRealHeight(400 - 30 - 10),
-                        Gravity = Gravity.CenterHorizontal,
-                        LineColor = ZigbeeColor.Current.GXCBackgroundColor,
+                        Y = Application.GetRealHeight(46),
+                        Height = Application.GetRealHeight(446 - 46),
+                        LineColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
                         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 = sceneRoomUI.sceneUI.IconPath,
-                        Radius = CommonPage.BigFormRadius
+                        X = Application.GetRealWidth(179),
+                        Width = Application.GetRealWidth(844),
+                        Height = Application.GetRealHeight(400),
+                        BackgroundColor = ZigbeeColor.Current.GXCRedColor,
+                        UnSelectedImagePath = scene.IconPath,
+                        Radius = (uint)Application.GetRealHeight(17)
                     };
                     sceneRowLayout.AddChidren(sceneImg);
 
-                    var sceneBGBtn = new Button()
+                    var leftFL = new FrameLayout
                     {
-                        BackgroundColor = ZigbeeColor.Current.GXCBlack70Color,
-                        SelectedBackgroundColor = ZigbeeColor.Current.GXCBlack80Color,
-                        Radius = CommonPage.BigFormRadius
+                        X = Application.GetRealWidth(CommonFormResouce.X_Left),
+                        Y = Application.GetRealHeight(58),
+                        Width = Application.GetRealWidth(251),
+                        Height = Application.GetRealHeight(282),
+                        BackgroundColor = ZigbeeColor.Current.GXCBlackBackgroundColor2,
+                        Radius = (uint)Application.GetRealHeight(17)
                     };
-                    sceneRowLayout.AddChidren(sceneBGBtn);
-                    var roomNameBtn = new Button()
+                    sceneRowLayout.AddChidren(leftFL);
+
+                    var collectionBtn = new Button
                     {
-                        X = Application.GetRealWidth(30),
-                        Y = Application.GetRealHeight(1),
-                        Width = Application.GetRealWidth(600),
-                        Height = Application.GetRealHeight(110),
-                        Text = $"{sceneRoomUI.room.Name}",
-                        TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
-                        TextSize = 12,
-                        TextAlignment = TextAlignment.CenterLeft
+                        X = Application.GetRealWidth(23),
+                        Y = Application.GetRealHeight(23),
+                        Width = Application.GetMinRealAverage(65),
+                        Height = Application.GetMinRealAverage(65),
+                        UnSelectedImagePath = "Item/Collection.png",
+                        SelectedImagePath = "Item/CollectionSelected.png"
                     };
-                    sceneRowLayout.AddChidren(roomNameBtn);
+                    leftFL.AddChidren(collectionBtn);
 
                     var sceneNameBtn = new Button()
                     {
-                        Width = Application.GetRealWidth(700),
+                        Width = Application.GetRealWidth(176),
                         Height = Application.GetRealHeight(200),
                         TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
-                        TextSize = 20,
-                        Text = sceneRoomUI.sceneUI.Name,
-                        Gravity = Gravity.Center
+                        Text = scene.Name,
+                        Gravity = Gravity.Center,
+                        IsMoreLines = true
                     };
-                    sceneRowLayout.AddChidren(sceneNameBtn);
-                    var moreBtn = new Device.CommonForm.SelectedStatuButton()
-                    {
-                        Y = Application.GetRealHeight(1),
-                        X = sceneRowLayout.Width - Application.GetRealWidth(150),
-                        Width = Application.GetMinRealAverage(110),
-                        Height = Application.GetMinRealAverage(110),
-                        UnSelectedImagePath = "Item/MoreWhite.png",
-                        SelectedImagePath = "Item/MoreSelected.png"
-                    };
-                    sceneRowLayout.AddChidren(moreBtn);
+                    leftFL.AddChidren(sceneNameBtn);
 
-                    //缂栬緫寤舵椂
-                    var leftDelayTimeBtn = new Device.CommonForm.RowLayoutEditButton()
+                    //瀹氭椂
+                    var delayBtn = new RowLayoutDeleteButton
                     {
-                        Tag = sceneRoomUI.sceneUI.SceneDelayTime
+                        TextID = R.MyInternationalizationString.Delay,
+                        Tag = scene.SceneDelayTime
                     };
+                    sceneRowLayout.AddLeftView(delayBtn);
 
+                    //缂栬緫
+                    var settingBtn = new Device.CommonForm.RowLayoutEditButton()
+                    {
+                        TextID = R.MyInternationalizationString.Setting,
+                        Tag = scene.SceneDelayTime
+                    };
                     //鍒犻櫎
                     var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton
                     {
-                        Tag = sceneRoomUI
+                        Tag = scene
                     };
 
-                    if(!sceneRoomUI.room.IsSharedRoom)
+                    if (!room.IsSharedRoom)
                     {
-                        sceneRowLayout.AddRightView(leftDelayTimeBtn);
+                        sceneRowLayout.AddRightView(settingBtn);
                         sceneRowLayout.AddRightView(deleteBtn);
                     }
 
                     //璋冪敤鍦烘櫙
-                    EventHandler<MouseEventArgs> sceneDownHandler = (sender, e) =>
-                    {
-                        sceneBGBtn.IsSelected = true;
-                    };
-                    sceneBGBtn.MouseDownEventHandler += sceneDownHandler;
-                    sceneImg.MouseDownEventHandler += sceneDownHandler;
-                    sceneRowLayout.MouseDownEventHandler += sceneDownHandler;
-                    sceneNameBtn.MouseDownEventHandler += sceneDownHandler;
-                    sceneFL.MouseDownEventHandler += sceneDownHandler;
-
                     EventHandler<MouseEventArgs> sceneUpHandler = async (sender, e) =>
                     {
-                        sceneBGBtn.IsSelected = false;
                         //1鎴愬姛 0澶辫触
                         //鍚庨潰琛ヤ笂鐩稿叧鎻愮ず
                         //瑕佸厛浠庣綉鍏宠鍙栧欢鏃舵槸鍚︽鍦ㄦ墽琛岋紝濡傛灉鏄繘琛屽�掕鏃讹紝涓嶅厑璁稿湪鐐瑰嚮
-                        var sceneOpenAllData = await ZigBee.Device.Scene.ControlSceneAsync(sceneRoomUI.sceneUI.Id, sceneRoomUI.sceneUI.SceneDelayTime);
+                        var sceneOpenAllData = await ZigBee.Device.Scene.ControlSceneAsync(scene.Id, scene.SceneDelayTime);
                         //涓荤綉鍏充笉鍦ㄧ嚎
                         if (sceneOpenAllData == null)
                         {
@@ -1795,22 +1684,22 @@
                             return;
                         }
                     };
-                    sceneBGBtn.MouseUpEventHandler += sceneUpHandler;
                     sceneImg.MouseUpEventHandler += sceneUpHandler;
-                    sceneRowLayout.MouseUpEventHandler += sceneUpHandler;
-                    sceneFL.MouseUpEventHandler += sceneUpHandler;
-                    sceneNameBtn.MouseUpEventHandler += sceneUpHandler;
                     //鍒犻櫎鍦烘櫙
                     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) =>
+                        var tip = new CustomAlert { };
+                        AddChidren(tip);
+                        tip.Show(Language.StringByID(R.MyInternationalizationString.ConfirmDelete));
+
+                        //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();
+                        tip.ResultEventHandler += async (e1) =>
                         {
                             if (e1)
                             {
                                 //0 绉婚櫎澶辫触 1 绉婚櫎鎴愬姛 2 娌℃湁璇ュ満鏅�
-                                var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(sceneRoomUI.sceneUI.Id);
+                                var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(scene.Id);
                                 if (removeSceneAllData == null || removeSceneAllData.removeSceneData == null)
                                 {
                                     //CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheMainGatewayIsNotOnLine);
@@ -1820,7 +1709,7 @@
                                 //1鎴愬姛
                                 if (removeSceneAllData.removeSceneData.Result == 1)
                                 {
-                                    sceneRoomUI.room.RemoveScene(sceneRoomUI.sceneUI);
+                                    room.RemoveScene(scene);
                                     //RefreshBodyView();
                                     sceneScrolView.RemoveViewByTag((sender as Button).Tag);
                                 }
@@ -1833,7 +1722,7 @@
                                 //2 娌℃湁璇ュ満鏅�
                                 else if (removeSceneAllData.removeSceneData.Result == 2)
                                 {
-                                    sceneRoomUI.room.RemoveScene(sceneRoomUI.sceneUI);
+                                    room.RemoveScene(scene);
                                     //RefreshBodyView();
                                     sceneScrolView.RemoveViewByTag((sender as Button).Tag);
                                     CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneIsNull);
@@ -1844,12 +1733,12 @@
                     };
                     deleteBtn.MouseUpEventHandler += delEvent;
                     //缂栬緫鍦烘櫙
-                    moreBtn.MouseUpEventHandler += (sender, e) =>
+                    settingBtn.MouseUpEventHandler += (sender, e) =>
                     {
-                        SceneRoomUI.EditScene(sceneRoomUI.sceneUI, sceneRoomUI.room);
+                        SceneRoomUI.EditScene(scene,room);
                     };
                     //缂栬緫寤舵椂
-                    leftDelayTimeBtn.MouseUpEventHandler += (sender, e) =>
+                    delayBtn.MouseUpEventHandler += (sender, e) =>
                     {
                         var tList = new List<string>() { };
 
@@ -1858,24 +1747,24 @@
                             tList.Add($"{i} {Language.StringByID(R.MyInternationalizationString.Second)}");
                         }
                         //int beforeIndex = (int)(sender as CommonForm.RowLayoutEditButton).Tag;
-                        PickerView.Show(tList, (obj) =>
-                        {
-                            var tempRoom = Shared.Common.Room.GetRoomByFilePath(sceneRoomUI.room.FileName);
-                            if (tempRoom == null)
-                            {
-                                return;
-                            }
-                            foreach (var ss in tempRoom.SceneUIList)
-                            {
-                                if (ss.Id == sceneRoomUI.sceneUI.Id)
-                                {
-                                    ss.SceneDelayTime = int.Parse(tList[obj].Split(' ')[0]);
-                                    sceneRoomUI.room.Save();
-                                    RefreshBodyView();
-                                    return;
-                                }
-                            }
-                        },0,"", Language.StringByID(R.MyInternationalizationString.Confrim), tList[(int)(sender as CommonForm.RowLayoutEditButton).Tag]);
+                        //PickerView.Show(tList, (obj) =>
+                        //{
+                        //    var tempRoom = Shared.Common.Room.GetRoomByFilePath(sceneRoomUI.room.FileName);
+                        //    if (tempRoom == null)
+                        //    {
+                        //        return;
+                        //    }
+                        //    foreach (var ss in tempRoom.SceneUIList)
+                        //    {
+                        //        if (ss.Id == sceneRoomUI.sceneUI.Id)
+                        //        {
+                        //            //ss.SceneDelayTime = int.Parse(obj.Split(' ')[0]);
+                        //            sceneRoomUI.room.Save();
+                        //            RefreshBodyView();
+                        //            return;
+                        //        }
+                        //    }
+                        //}, Language.StringByID(R.MyInternationalizationString.Confrim), tList[(int)(sender as CommonForm.RowLayoutEditButton).Tag]);
                     };
                 }
             }
@@ -1886,13 +1775,26 @@
         /// </summary>
         private void ShowNoSceneTip()
         {
+            var noFunction = new Button()
+            {
+                Y = Application.GetRealHeight(320),
+                Width = Application.GetMinRealAverage(757),
+                Height = Application.GetMinRealAverage(435),
+                UnSelectedImagePath = "Item/NoFunction.png",
+                Gravity = Gravity.CenterHorizontal
+            };
+            functionSceneBodyView.AddChidren(noFunction);
+
             var noScenceTip = new Button()
             {
-                Height = Application.GetMinRealAverage(200),
-                TextID = R.MyInternationalizationString.NoScene,
+                Y = noFunction.Bottom + Application.GetRealHeight(32),
+                Height = Application.GetRealHeight(200),
+                Width = Application.GetRealWidth(700),
+                Gravity = Gravity.CenterHorizontal,
+                Text = Language.StringByID(R.MyInternationalizationString.NoScene).Replace("{\\r\\n}","\r\n"),
                 TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
                 TextAlignment = TextAlignment.Center,
-                Gravity = Gravity.CenterVertical
+                IsMoreLines = true
             };
             functionSceneBodyView.AddChidren(noScenceTip);
         }
@@ -1908,50 +1810,39 @@
         public async void ShowAutotion()
         {
             var logicScrolView = new VerticalScrolViewLayout { };
-            functionSceneBodyView.AddChidren(logicScrolView);
-
-            //Shared.Common.ResponseEntity.Logic.LogicDviceList = await gateway.GetGwDeviceList();
-            // gateway.DeviceList.Clear();
-            ////// Shared.Common.ResponseEntity.Logic.LogicDviceList = LocalDevice.Current.GetDeviceByGatewayID(gateway.getGatewayBaseInfo.gwID);
-            //if (gateway.DeviceList.Count != 0)
-            //{
-            //    Shared.IO.FileUtils.WriteFileByBytes("ZigbeeDeviceListFilePath", System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(gateway.DeviceList)));
-            //}
-            //else
-            //{//涓存椂淇濆瓨璁惧鍒楄〃鏁版嵁缁欓�昏緫寮�鍙�
-            //    var devicestring = System.Text.Encoding.UTF8.GetString(Shared.IO.FileUtils.ReadFile("ZigbeeDeviceListFilePath"));
-            //    gateway.DeviceList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<CommonDevice>>(devicestring);
-            //}
-
+            functionSceneAutoBodyView.AddChidren(logicScrolView);
             CommonPage.Loading.Start();
-            //if (Common.Logic.LogicDviceList.Count != 0)
-            //{
-            //    foreach (var gateway in ZbGateway.GateWayList)
-            //    {
-            //        if (gateway.IsMainGateWay)
-            //        {
-            //            Common.Logic.LogicDviceList = LocalDevice.Current.GetDeviceByGatewayID(gateway.getGatewayBaseInfo.gwID);
-            //        }
-            //    }
-            //}
-
-
-            //CommonPage.Loading.Start();
             if (Common.Logic.LogicList.Count == 0)
             {
+                //var Idlist = await Logic.Send.GetLogicId();
+                //if (Idlist.Count != 0)
+                //{
+                //    foreach (var LogicId in Idlist)
+                //    {
+                //        var logic = await Logic.Send.GetLogic(LogicId);
+                //        if (logic != null)
+                //        {
+                //            Common.Logic.LogicList.Add(logic);
+                //        }
+                //    }
+                //}
                 var Idlist = await Logic.Send.GetLogicId();
                 if (Idlist.Count != 0)
                 {
+                    var listlogic = await Logic.Send.ReadList(Idlist.Count);
                     foreach (var LogicId in Idlist)
                     {
-                        var logic = await Logic.Send.GetLogic(LogicId);
-                        if (logic != null)
+                        foreach (var logic in listlogic)
                         {
-                            Common.Logic.LogicList.Add(logic);
+                            if (logic.LogicId == LogicId)
+                            {
+                                Common.Logic.LogicList.Add(logic);
+                            }
                         }
                     }
                 }
             }
+
             //鑷姩鍖�
             Automationview(logicScrolView);
             CommonPage.Loading.Hide();
@@ -2008,7 +1899,8 @@
                         //閫昏緫鍏�
                         logic.IsEnable = 0;
                     }
-                    Logic.Send.AddModifyLogic(logic);
+                    Logic.Send.LogicControlSwitch(logic);
+                    //Logic.Send.AddModifyLogic(logic);
                 };
                 if (logic.IsEnable == 1)
                 {
@@ -2039,171 +1931,6 @@
                     UserView.HomePage.Instance.AddChidren(logicCommunalPage);
                     UserView.HomePage.Instance.PageIndex += 1;
                     logicCommunalPage.Show(() => { btnname.Text = logic.LogicName; Automationview(refresview); });
-
-                };
-
-
-                var btndelay = new Button
-                {
-                    Width = Application.GetRealWidth(150),
-                    Height = Application.GetRealHeight(50),
-                    X = Application.GetRealWidth(300),
-                    Y = Application.GetRealHeight(25),
-                    TextAlignment = TextAlignment.Center,
-                    TextColor = 0xffcccccc,
-                };
-                logicrowlayout.AddChidren(btndelay);
-
-                ///寤舵椂鎺т欢
-                var btndelaytext = new Button
-                {
-                    BackgroundColor = 0xff676767,
-                    Text = Language.StringByID(R.MyInternationalizationString.delayed),
-                };
-                //logicrowlayout.AddRightView(btndelaytext);
-
-                //if (logic.param.ContainsKey ("delay")) {
-                //    var delayvalue = logic.param ["delay"]?.ToString ();
-                //    if (delayvalue != "" && delayvalue != "0") {
-                //        var l = int.Parse (delayvalue) / 10;
-                //        btndelay.Text = l.ToString () + "s";
-                //    }
-                //}
-
-                btndelaytext.MouseUpEventHandler += (sender, e) =>
-                {
-
-                    Dialog window = new Dialog();
-                    window.Show();
-
-                    var frameLayout = new FrameLayout
-                    {
-                        Width = Application.GetRealWidth(580),
-                        Height = Application.GetRealHeight(300),
-                        X = Application.GetRealWidth(30),
-                        Y = Application.GetRealHeight(330),
-                        BackgroundColor = 0xffffffff,
-                    };
-                    window.AddChidren(frameLayout);
-
-                    var Modifyname = new Button
-                    {
-                        Width = Application.GetRealWidth(580),
-                        Height = Application.GetRealHeight(80),
-                        TextID = R.MyInternationalizationString.devicedelaytime,
-                        //Text = "璇疯緭鍏ヨ澶囧欢鏃剁殑鏃堕棿(鍗曚綅/s)",
-                        Y = Application.GetRealHeight(10),
-                        TextSize = 16,
-                        TextColor = ZigbeeColor.Current.MusicTipTextColor,
-                    };
-                    frameLayout.AddChidren(Modifyname);
-
-                    var delaytext = new EditText
-                    {
-                        Width = Application.GetRealWidth(540),
-                        Height = Application.GetRealHeight(80),
-                        Y = Application.GetRealHeight(80),
-                        X = Application.GetRealWidth(20),
-                        Gravity = Gravity.CenterVertical,
-                        // BackgroundColor = SkinStyle.Current.MusicTipBackgroundColor,
-                        //TextColor = 0xff000000,
-                        Radius = 1,
-                        BorderWidth = 1,
-                        //BorderColor = SkinStyle.Current.MusicEditBorderColor,
-                        //TextColor = SkinStyle.Current.MusicTextColor,
-                    };
-                    frameLayout.AddChidren(delaytext);
-
-                    var line = new Button
-                    {
-                        Height = Application.GetRealHeight(2),
-                        Y = Application.GetRealHeight(218),
-                        BackgroundColor = 0xff666666,
-                    };
-                    frameLayout.AddChidren(line);
-
-                    var cancelrow = new RowLayout
-                    {
-                        Y = Application.GetRealHeight(220),
-                        Height = Application.GetRealHeight(80),
-                        Width = Application.GetRealWidth(289),
-                        BackgroundColor = 0xffcccccc,
-                    };
-                    frameLayout.AddChidren(cancelrow);
-
-                    var cancel = new Button
-                    {
-                        TextID = R.MyInternationalizationString.cancel,
-                        //TextColor = 0xff000000,
-                        TextSize = 18,
-                        //TextColor = SkinStyle.Current.MusicTextColor,
-                    };
-                    cancelrow.AddChidren(cancel);
-                    cancel.MouseUpEventHandler += (sender1, e1) =>
-                    {
-                        window.Close();
-                    };
-
-                    var ther = new Button
-                    {
-                        Y = Application.GetRealHeight(220),
-                        Height = Application.GetRealHeight(80),
-                        Width = Application.GetRealWidth(2),
-                        X = Application.GetRealHeight(289),
-                        BackgroundColor = 0xff666666,
-                    };
-                    frameLayout.AddChidren(ther);
-
-                    var confirmrow = new RowLayout
-                    {
-                        Y = Application.GetRealHeight(220),
-                        X = Application.GetRealWidth(291),
-                        Height = Application.GetRealHeight(80),
-                        Width = Application.GetRealWidth(289),
-                        BackgroundColor = 0xffcccccc,
-                    };
-                    frameLayout.AddChidren(confirmrow);
-
-                    var confirm = new Button
-                    {
-                        TextID = R.MyInternationalizationString.confrim,
-                        //TextColor = 0xff000000,
-                        TextSize = 18,
-                        // TextColor = SkinStyle.Current.MusicTextColor,
-                    };
-                    confirmrow.AddChidren(confirm);
-                    //if (logic.param.ContainsKey ("delay")) {
-                    //    var delayvalue = logic.param ["delay"]?.ToString ();
-                    //    if (delayvalue != "" && delayvalue != "0") {
-                    //        var l = int.Parse (delayvalue) / 10;
-                    //        delaytext.Text = l.ToString () + "s";
-                    //    }
-                    //}
-
-                    confirm.MouseUpEventHandler += (sender1, e1) =>
-                    {
-                        var isNumber = delaytext.Text.Trim();
-                        if (!int.TryParse(isNumber, out int number) || isNumber == "")
-                        {
-                            new Alert(Language.StringByID(R.MyInternationalizationString.Tip),
-                                       Language.StringByID(R.MyInternationalizationString.inputnumber),
-                                     Language.StringByID(R.MyInternationalizationString.Close)).Show();
-                            return;
-                        }
-
-                        var vel = int.Parse(isNumber);
-                        //if (logic.param.ContainsKey ("delay")) {
-                        //    logic.param.Remove ("delay");
-                        //    logic.param.Add ("delay", vel * 10);
-                        //} else {
-                        //    logic.param.Add ("delay", vel * 10);
-                        //}
-                        //btndelay.Text = isNumber + "s";
-                        window.Close();
-                        Automationview(refresview);
-
-
-                    };
 
                 };
 

--
Gitblit v1.8.0