黄学彪
2019-11-07 82a773d1783549caca563831aac8affc059deedf
ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -143,10 +143,9 @@
                                        }
                                        onOffOutputLight.OnOffStatus = onOffOutputLight.DeviceStatusReport.AttriBute[0].AttriButeData;
                                        (rowFL.GetChildren(0) as FunctionMainView).IsSelected = onOffOutputLight.OnOffStatus == 1;
                                        (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = CommonFormResouce.GetSwitchStatu(onOffOutputLight.OnOffStatus == 1);
                                        (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
                                        //记录回复时间
                                        onOffOutputLight.LastDateTime = DateTime.Now;
                                    }
                                    break;
@@ -171,7 +170,8 @@
                                                    return;
                                                }
                                                airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData;
                                                (tempView as Button).IsSelected = airSwitch.OnOffStatus == 1;
                                                (rowFL.GetChildren(0) as FunctionMainView).IsSelected = airSwitch.OnOffStatus == 1;
                                                (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
                                                //记录回复时间
                                                airSwitch.LastDateTime = DateTime.Now;
                                            }
@@ -180,22 +180,8 @@
                                    //当CluterID=3,就证明该设备在线,直接标记
                                    if (common.DeviceStatusReport.CluterID == 3)
                                    {
                                        var airSwitch = deviceUI.CommonDevice as AirSwitch;
                                        airSwitch.IsOnline = 1;
                                        for (int j = 0; j < frameLayout.ChildrenCount; j++)
                                        {
                                            var tempView = frameLayout.GetChildren(j);
                                            if (tempView.Tag == null)
                                            {
                                                continue;
                                            }
                                            if (tempView.Tag.ToString() == deviceStatus_Online)
                                            {
                                                (tempView as Button).IsSelected = airSwitch.IsOnline == 1;
                                                //记录回复时间
                                                airSwitch.LastDateTime = DateTime.Now;
                                            }
                                        }
                                        deviceUI.CommonDevice.IsOnline = 1;
                                        deviceUI.CommonDevice.LastDateTime = DateTime.Now;
                                    }
                                    break;
@@ -209,26 +195,14 @@
                                            rollerShade.DeviceStatusReport = common.DeviceStatusReport;
                                            rollerShade.WcdType = common.DeviceStatusReport.AttriBute[0].AttriButeData;
                                            rollerShade.LastDateTime = DateTime.Now;
                                            (rowFL.GetChildren(0) as FunctionMainView).IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100;
                                            (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
                                        }
                                    }
                                    if (common.DeviceStatusReport.CluterID == 3)
                                    {
                                        var rollershade = deviceUI.CommonDevice as ZigBee.Device.Rollershade;
                                        rollershade.IsOnline = 1;
                                        for (int j = 0; j < frameLayout.ChildrenCount; j++)
                                        {
                                            var tempView = frameLayout.GetChildren(j);
                                            if (tempView.Tag == null)
                                            {
                                                continue;
                                            }
                                            if (tempView.Tag.ToString() == deviceStatus_Online)
                                            {
                                                (tempView as Button).IsSelected = rollershade.IsOnline == 1;
                                                //记录回复时间
                                                rollershade.LastDateTime = DateTime.Now;
                                            }
                                        }
                                        deviceUI.CommonDevice.IsOnline = 1;
                                        deviceUI.CommonDevice.LastDateTime = DateTime.Now;
                                    }
                                    break;
@@ -271,54 +245,19 @@
                                            case 28:
                                                //此属性描述恒温设备正处于哪种模式
                                                //Off = 0  Auto = 1 Cool = 3 Heat = 4 FanOnly = 7  Dry = 8
                                                ac.currentSystemMode = attriButeList[0].AttriButeData;
                                                ac.LastDateTime = DateTime.Now;
                                                for (int j = 0; j < frameLayout.ChildrenCount; j++)
                                                {
                                                    var tempView = frameLayout.GetChildren(j);
                                                    if (tempView.Tag == null)
                                                    {
                                                        continue;
                                                    }
                                                    if (tempView.Tag.ToString() == "Temparetrue")
                                                    {
                                                        (tempView as Button).Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} ℃";
                                                    }
                                                    if (tempView.Tag.ToString() == deviceStatus_OnOffStatus)
                                                    {
                                                        (tempView as Button).IsSelected = ac.currentSystemMode != 0;
                                                    }
                                                }
                                                break;
                                        }
                                        (rowFL.GetChildren(0) as FunctionMainView).IsSelected = ac.currentSystemMode != 0;
                                        (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
                                    }
                                    //当CluterID=3,就证明该设备在线,直接标记
                                    if (common.DeviceStatusReport.CluterID == 3)
                                    {
                                        var ac = deviceUI.CommonDevice as AC;
                                        ac.IsOnline = 1;
                                        for (int j = 0; j < frameLayout.ChildrenCount; j++)
                                        {
                                            var tempView = frameLayout.GetChildren(j);
                                            if (tempView.Tag == null)
                                            {
                                                continue;
                                            }
                                            if (tempView.Tag.ToString() == deviceStatus_Online)
                                            {
                                                (tempView as Button).IsSelected = ac.IsOnline == 1;
                                                //记录回复时间
                                                ac.LastDateTime = DateTime.Now;
                                            }
                                        }
                                        ac.LastDateTime = DateTime.Now;
                                    }
                                    break;
@@ -336,7 +275,7 @@
                                        }
                                        dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
                                        (rowFL.GetChildren(0) as FunctionMainView).IsSelected = dimmableLight.OnOffStatus == 1;
                                        (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = CommonFormResouce.GetSwitchStatu(dimmableLight.OnOffStatus == 1);
                                        (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
                                        //记录回复时间
                                        dimmableLight.LastDateTime = DateTime.Now;
                                    }
@@ -344,7 +283,7 @@
                                    //亮度
                                    if (common.DeviceStatusReport.CluterID == 8)
                                    {
                                        var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight;
                                        var dimmableLight = deviceUI.CommonDevice as DimmableLight;
                                        dimmableLight.DeviceStatusReport = common.DeviceStatusReport;
                                        var attriButeList = dimmableLight.DeviceStatusReport.AttriBute;
                                        if (attriButeList == null || attriButeList.Count == 0)
@@ -357,23 +296,12 @@
                                                //此属性表明当前亮度程度
                                                dimmableLight.Level = attriButeList[0].AttriButeData ;
                                                dimmableLight.LastDateTime = DateTime.Now;
                                                for (int j = 0; j < frameLayout.ChildrenCount; j++)
                                                {
                                                    var tempView = frameLayout.GetChildren(j);
                                                    if (tempView.Tag == null)
                                                    {
                                                        continue;
                                                    }
                                                    if (tempView.Tag.ToString() == "LevelSeekBar")
                                                    {
                                                        (tempView as HorizontalSeekBar).Progress = dimmableLight.Level;
                                                    }
                                                }
                                                (rowFL.GetChildren(0) as FunctionMainView).IsSelected = true;
                                                (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu();
                                                break;
                                        }
                                    }
                                    break;
                            }
                        }
                    }
@@ -740,6 +668,7 @@
                }
                else
                {
                    Room.CurrentRoom = Room.Lists[0];
                    var roomBackView = new FrameLayout()
                    {
                        BackgroundImagePath = "Room/r0.png"
@@ -783,26 +712,12 @@
                };
                AddChidren(functionSceneView);
                //功能
                functionBtn = new Button()
                {
                    X = Application.GetRealWidth(30),
                    Y=Application.GetRealHeight(12),
                    Width = Application.GetRealWidth(350),
                    Height = Application.GetRealHeight(100),
                    TextColor = ZigbeeColor.Current.GXCTextGrayColor3,
                    SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                    TextID = R.MyInternationalizationString.Function,
                    IsSelected = true
                };
                functionSceneView.AddChidren(functionBtn);
                //场景
                var sceneBtn = new Button()
                {
                    X = Application.GetRealWidth(430),
                    X = Application.GetRealWidth(30),
                    Y = Application.GetRealHeight(12),
                    Width = Application.GetRealWidth(360),
                    Width = Application.GetRealWidth(350),
                    Height = Application.GetRealHeight(100),
                    TextColor = ZigbeeColor.Current.GXCTextGrayColor3,
                    SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
@@ -810,6 +725,20 @@
                    IsSelected = false
                };
                functionSceneView.AddChidren(sceneBtn);
                //场景
                functionBtn = new Button()
                {
                    X = Application.GetRealWidth(430),
                    Y = Application.GetRealHeight(12),
                    Width = Application.GetRealWidth(360),
                    Height = Application.GetRealHeight(100),
                    TextColor = ZigbeeColor.Current.GXCTextGrayColor3,
                    SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                    TextID = R.MyInternationalizationString.Function,
                    IsSelected = false
                };
                functionSceneView.AddChidren(functionBtn);
                //功能和场景bodyView
                functionSceneBodyView = new FrameLayout()
@@ -1105,17 +1034,6 @@
                    //////判断设备是否支持的属性 如开关等控制
                    if (device.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice)
                    {
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
                        lightView.Init();
                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
                        lightView.SetStatuText("开");
                        lightView.SetDeviceName("lightee");
                        //lightView.SetStatu(true);
                        lightView.IsSelected = true;
                        lightView.SetCollect(true);
                        continue;
                        //窗帘 卷帘
                        var rollerShade = (ZigBee.Device.Rollershade)device.CommonDevice;
                        //不上非远程
@@ -1138,327 +1056,84 @@
                                rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                            }
                        }
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
                        lightView.Init();
                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
                        lightView.SetStatuText(device.GetDeviceStatu());
                        lightView.SetDeviceName(rollerShade.DeviceEpointName);
                        //lightView.SetStatu(true);
                        lightView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100;
                        lightView.SetCollect(true);
                        var deviceFL = new FrameLayout
                        lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
                        {
                            Height = Application.GetRealHeight(deviceFL_Height),
                            BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
                            Tag = device
                        };
                        deviceVerticalScrolViewLayout.AddChidren(deviceFL);
                        var deviceRowLayout = new RowLayout
                        {
                            Y = Application.GetRealHeight(25),
                            Height = Application.GetRealHeight(deviceFL_Height - 25) - 1,
                            LineColor = ZigbeeColor.Current.GXCBackgroundColor,
                            BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor,
                            Radius = CommonPage.BigFormRadius,
                            Tag = device
                        };
                        deviceFL.AddChidren(deviceRowLayout);
                        var deviceItemFL = new FrameLayout()
                        {
                            BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor,
                            Radius = CommonPage.BigFormRadius
                        };
                        deviceRowLayout.AddChidren(deviceItemFL);
                        var deviceIMG = new Button()
                        {
                            X = Application.GetRealWidth(50),
                            Y = Application.GetRealHeight(30),
                            Width = Application.GetMinRealAverage(110),
                            Height = Application.GetMinRealAverage(110),
                            UnSelectedImagePath = device.IconPath,
                            SelectedImagePath = device.OnlineIconPath,
                            IsSelected = rollerShade.IsOnline == 1,
                            Tag = deviceStatus_Online
                        };
                        deviceItemFL.AddChidren(deviceIMG);
                        var deviceName = new Button()
                        {
                            X = Application.GetRealWidth(10),
                            Y = deviceIMG.Bottom,
                            Width = Application.GetRealWidth(180),
                            Height = Application.GetRealHeight(80),
                            TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                            TextAlignment = TextAlignment.Center,
                            Text = device.CommonDevice.DeviceEpointName,
                            TextSize = 10,
                            IsMoreLines = true
                        };
                        deviceItemFL.AddChidren(deviceName);
                        var closeBtnBG = new Device.CommonForm.SelectedStatuButton()
                        {
                            X = deviceName.Right,
                            Width = Application.GetMinRealAverage(250),
                            Height = Application.GetMinRealAverage(250),
                            Gravity = Gravity.CenterVertical,
                        };
                        deviceItemFL.AddChidren(closeBtnBG);
                        var closeBtn = new Device.CommonForm.SelectedStatuButton()
                        {
                            X = Application.GetRealWidth(50) + deviceName.Right,
                            Width = Application.GetMinRealAverage(110),
                            Height = Application.GetMinRealAverage(110),
                            Gravity = Gravity.CenterVertical,
                            UnSelectedImagePath = "WindowCovering/RollerShadeClose.png",
                            SelectedImagePath = "WindowCovering/RollerShadeCloseSelected.png",
                            //Visible=false
                        };
                        deviceItemFL.AddChidren(closeBtn);
                        var stopBtnBG = new Device.CommonForm.SelectedStatuButton()
                        {
                            X = Application.GetRealWidth(120) + closeBtn.Right,
                            Width = Application.GetMinRealAverage(250),
                            Height = Application.GetMinRealAverage(250),
                            Gravity = Gravity.CenterVertical,
                        };
                        deviceItemFL.AddChidren(stopBtnBG);
                        var stopBtn = new Device.CommonForm.SelectedStatuButton()
                        {
                            X = Application.GetRealWidth(120) + closeBtn.Right,
                            Width = Application.GetMinRealAverage(110),
                            Height = Application.GetMinRealAverage(110),
                            Gravity = Gravity.CenterVertical,
                            UnSelectedImagePath = "WindowCovering/RollerShadeStop.png",
                            SelectedImagePath = "WindowCovering/RollerShadeStopSelected.png",
                            //Visible=false
                        };
                        deviceItemFL.AddChidren(stopBtn);
                        var openBtnBG = new Device.CommonForm.SelectedStatuButton()
                        {
                            X = Application.GetRealWidth(20) + stopBtn.Right,
                            Width = Application.GetMinRealAverage(250),
                            Height = Application.GetMinRealAverage(250),
                            Gravity = Gravity.CenterVertical,
                        };
                        deviceItemFL.AddChidren(openBtnBG);
                        var openBtn = new Device.CommonForm.SelectedStatuButton()
                        {
                            X = Application.GetRealWidth(120) + stopBtn.Right,
                            Width = Application.GetMinRealAverage(110),
                            Height = Application.GetMinRealAverage(110),
                            Gravity = Gravity.CenterVertical,
                            UnSelectedImagePath = "WindowCovering/RollerShadeOpen.png",
                            SelectedImagePath = "WindowCovering/RollerShadeOpenSelected.png",
                            //Visible=false
                        };
                        deviceItemFL.AddChidren(openBtn);
                        var collectionBtn = new Button()
                        {
                            X = deviceItemFL.Right - Application.GetRealWidth(150),
                            Y = Application.GetRealHeight(20),
                            Width = Application.GetMinRealAverage(80),
                            Height = Application.GetMinRealAverage(80),
                            UnSelectedImagePath = "Item/Collection.png",
                            SelectedImagePath = "Item/CollectionSelected.png",
                            Tag = device
                        };
                        //*****先隐藏*****
                        //deviceItemFL.AddChidren(collectionBtn);
                        var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton
                        {
                            Tag = device,
                            IsMoreLines = true
                        };
                        if (Room.CurrentRoom.IsLove)
                        {
                            deleteBtn.TextID = R.MyInternationalizationString.CancelCollect;
                            deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor;
                            deleteBtn.MouseUpEventHandler += collectionEvent;
                            deviceRowLayout.AddRightView(deleteBtn);
                        }
                        else if (Room.CurrentRoom.IsSharedRoom)
                        {
                            //不处理
                        }
                        else
                        {
                            deleteBtn.MouseUpEventHandler += delEvent;
                            deviceRowLayout.AddRightView(deleteBtn);
                        }
                        if (rollerShade.WcdType == -1)
                        {
                            CommonPage.Loading.Start();
                            new System.Threading.Thread(() =>
                            (sender as Button).IsSelected = !(sender as Button).IsSelected;
                            if ((sender as Button).IsSelected)
                            {
                                ZigBee.Device.Rollershade.ReadWcdTypeAction(rollerShade, () =>
                                zbGateway = device.CommonDevice.Gateway;
                                sendedControlCommand = false;
                                zbGateway.ReportAction += UpdateDeviceControllStatu;
                                AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
                                (device.CommonDevice as Rollershade).CurtainUpDownStopControl(1);
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(true));
                                ((sender as Button).Parent as FunctionMainView).IsSelected = true;
                                //控制延时回调
                                DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                {
                                    Application.RunOnMainThread(() =>
                                    if (Parent == null)
                                    {
                                        if (rollerShade.WcdType == 0)
                                        {
                                            closeBtn.UnSelectedImagePath = "WindowCovering/RollerShadeDown.png";
                                            closeBtn.SelectedImagePath = "WindowCovering/RollerShadeDownSelected.png";
                                            openBtn.UnSelectedImagePath = "WindowCovering/RollerShadeUp.png";
                                            openBtn.SelectedImagePath = "WindowCovering/RollerShadeUpSelected.png";
                                        }
                                        else
                                        {
                                            closeBtn.UnSelectedImagePath = "WindowCovering/RollerShadeClose.png";
                                            closeBtn.SelectedImagePath = "WindowCovering/RollerShadeCloseSelected.png";
                                            openBtn.UnSelectedImagePath = "WindowCovering/RollerShadeOpen.png";
                                            openBtn.SelectedImagePath = "WindowCovering/RollerShadeOpenSelected.png";
                                        }
                                        CommonPage.Loading.Hide();
                                    });
                                        return;
                                    }
                                    RemoveUpdateControlDeviceStatuAction(zbGateway);
                                    if (sendedControlCommand == false)
                                    {
                                        DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
                                    }
                                });
                            })
                            { IsBackground = true }.Start();
                        }
                        else if (rollerShade.WcdType == 0)
                        {
                            closeBtn.UnSelectedImagePath = "WindowCovering/RollerShadeDown.png";
                            closeBtn.SelectedImagePath = "WindowCovering/RollerShadeDownSelected.png";
                            openBtn.UnSelectedImagePath = "WindowCovering/RollerShadeUp.png";
                            openBtn.SelectedImagePath = "WindowCovering/RollerShadeUpSelected.png";
                        }
                        else
                        {
                            closeBtn.UnSelectedImagePath = "WindowCovering/RollerShadeClose.png";
                            closeBtn.SelectedImagePath = "WindowCovering/RollerShadeCloseSelected.png";
                            openBtn.UnSelectedImagePath = "WindowCovering/RollerShadeOpen.png";
                            openBtn.SelectedImagePath = "WindowCovering/RollerShadeOpenSelected.png";
                        }
                            }
                            else
                            {
                                zbGateway = device.CommonDevice.Gateway;
                                sendedControlCommand = false;
                                zbGateway.ReportAction += UpdateDeviceControllStatu;
                                AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
                                (device.CommonDevice as Rollershade).CurtainUpDownStopControl(0);
                        EventHandler<MouseEventArgs> curtainHandler = (sender, e) =>
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(false));
                                ((sender as Button).Parent as FunctionMainView).IsSelected = false;
                                //控制延时回调
                                DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                {
                                    if (Parent == null)
                                    {
                                        return;
                                    }
                                    RemoveUpdateControlDeviceStatuAction(zbGateway);
                                    if (sendedControlCommand == false)
                                    {
                                        DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
                                    }
                                });
                            }
                        };
                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
                        {
                            var curtain = new Phone.Device.Curtain.RollerShadeControl();
                            UserView.HomePage.Instance.ScrollEnabled = false;
                            UserView.HomePage.Instance.AddChidren(curtain);
                            var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl();
                            UserView.HomePage.Instance.AddChidren(rollerShadeControl);
                            UserView.HomePage.Instance.PageIndex += 1;
                            curtain.action = RefreshBodyView;
                            curtain.Show(device, Room.CurrentRoom);
                            UserView.HomePage.Instance.ScrollEnabled = false;
                            //rollerShadeControl.action = RefreshBodyView;
                            rollerShadeControl.Show(device, Room.CurrentRoom);
                        };
                        deviceItemFL.MouseUpEventHandler += curtainHandler;
                        //deviceItemFL.MouseLongEventHandler += curtainHandler;
                        deviceIMG.MouseUpEventHandler += curtainHandler;
                        deviceName.MouseUpEventHandler += curtainHandler;
                        //窗帘关
                        closeBtn.MouseUpEventHandler += (sender, e) =>
                        {
                            zbGateway = device.CommonDevice.Gateway;
                            sendedControlCommand = false;
                            zbGateway.ReportAction += UpdateDeviceControllStatu;
                            AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
                            rollerShade.CurtainUpDownStopControl(1);
                                //控制延时回调
                                DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                            {
                                if (Parent == null)
                                {
                                    return;
                                }
                                RemoveUpdateControlDeviceStatuAction(zbGateway);
                                if (sendedControlCommand == false)
                                {
                                    DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
                                }
                            });
                        };
                        //窗帘停
                        stopBtn.MouseUpEventHandler += (sender, e) =>
                        {
                            zbGateway = device.CommonDevice.Gateway;
                            sendedControlCommand = false;
                            zbGateway.ReportAction += UpdateDeviceControllStatu;
                            AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
                            rollerShade.CurtainUpDownStopControl(2);
                                //控制延时回调
                                DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                            {
                                if (Parent == null)
                                {
                                    return;
                                }
                                RemoveUpdateControlDeviceStatuAction(zbGateway);
                                if (sendedControlCommand == false)
                                {
                                    DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
                                }
                            });
                        };
                        //窗帘开
                        openBtn.MouseUpEventHandler += (sender, e) =>
                        {
                            zbGateway = device.CommonDevice.Gateway;
                            sendedControlCommand = false;
                            zbGateway.ReportAction += UpdateDeviceControllStatu;
                            AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
                            rollerShade.CurtainUpDownStopControl(0);
                                //控制延时回调
                                DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                            {
                                if (Parent == null)
                                {
                                    return;
                                }
                                RemoveUpdateControlDeviceStatuAction(zbGateway);
                                if (sendedControlCommand == false)
                                {
                                    DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
                                }
                            });
                        };
                        //collectionBtn.MouseUpEventHandler += (sender, e) =>
                        //{
                        //    if (collectionBtn.IsSelected)
                        //    {
                        //        Room.Lists[0].DeleteDevice(device.FilePath);
                        //        collectionBtn.IsSelected = false;
                        //    }
                        //    else
                        //    {
                        //        Room.Lists[0].AddDevice(device.FilePath);
                        //        collectionBtn.IsSelected = true;
                        //    }
                        //    //RefreshBodyView();
                        //};
                        collectionBtn.MouseUpEventHandler += collectionEvent;
                        //var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj==device.FilePath);
                        //if(dev==null)
                        //{
                        //    collectionBtn.IsSelected = false;
                        //}
                        //else
                        //{
                        //    collectionBtn.IsSelected = true;
                        //}
                        ////开关停按钮是否显示
                        //foreach(var command in commandList)
                        //{
                        //    if (command == null)
                        //    {
                        //        continue;
                        //    }
                        //    if (command.commandId==0)
                        //    {
                        //        openBtn.Visible = true;
                        //    }
                        //    else if(command.commandId==1)
                        //    {
                        //        openBtn.Visible = true;
                        //    }
                        //    else if(command.commandId==2)
                        //    {
                        //        stopBtn.Visible = true;
                        //    }
                        //}
                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
                    }
                    else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput)
                    {
@@ -1492,7 +1167,7 @@
                        itemView.AddChidren(lightView);
                        lightView.Init();
                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
                        lightView.SetStatuText(CommonFormResouce.GetSwitchStatu(light.OnOffStatus==1));
                        lightView.SetStatuText(device.GetDeviceStatu());
                        lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
                        lightView.IsSelected = light.OnOffStatus==1;
                        lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom,device.FileName));
@@ -1519,7 +1194,7 @@
                                light.SwitchControl(1);
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(true));
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
                                ((sender as Button).Parent as FunctionMainView).IsSelected = true;
                                //控制延时回调
@@ -1545,7 +1220,7 @@
                                light.SwitchControl(0);
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(false));
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
                                ((sender as Button).Parent as FunctionMainView).IsSelected = false;
                                //控制延时回调
@@ -1566,11 +1241,30 @@
                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
                        {
                            var lightControl = new Phone.Device.Light.LightControl();
                            UserView.HomePage.Instance.AddChidren(lightControl);
                            UserView.HomePage.Instance.PageIndex += 1;
                            lightControl.action = RefreshBodyView;
                            lightControl.Show(device, Room.CurrentRoom);
                            if (device.CommonDevice.DfunctionType == DeviceFunctionType.A开关)
                            {
                                var lightControl = new Phone.Device.Light.OnOffControl();
                                UserView.HomePage.Instance.AddChidren(lightControl);
                                UserView.HomePage.Instance.PageIndex += 1;
                                //lightControl.action = RefreshBodyView;
                                lightControl.Show(device, Room.CurrentRoom);
                            }
                            else if (device.CommonDevice.DfunctionType == DeviceFunctionType.A插座)
                            {
                                var lightControl = new Phone.Device.Light.PlugControl();
                                UserView.HomePage.Instance.AddChidren(lightControl);
                                UserView.HomePage.Instance.PageIndex += 1;
                                //lightControl.action = RefreshBodyView;
                                lightControl.Show(device, Room.CurrentRoom);
                            }
                            else
                            {
                                var lightControl = new Phone.Device.Light.LightControl();
                                UserView.HomePage.Instance.AddChidren(lightControl);
                                UserView.HomePage.Instance.PageIndex += 1;
                                //lightControl.action = RefreshBodyView;
                                lightControl.Show(device, Room.CurrentRoom);
                            }
                        };
                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
@@ -1578,22 +1272,8 @@
                    }
                    else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch)
                    {
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
                        lightView.Init();
                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
                        lightView.SetStatuText("开");
                        lightView.SetDeviceName("airSwitch");
                        //lightView.SetStatu(true);
                        lightView.IsSelected = true;
                        lightView.SetCollect(true);
                        continue;
                        //空气开关
                        var airSwitch = device.CommonDevice as AirSwitch;
                        //补上非远程
                        if (airSwitch.Gateway == null)
                        {
@@ -1613,99 +1293,25 @@
                            //防止短时间内多次读取设备状态
                            if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                            {
                                airSwitch.ReadOnOffStatus();
                                airSwitch.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                                airSwitch.ReadOnOffStatus();
                            }
                        }
                        var deviceFL = new FrameLayout
                        {
                            Height = Application.GetRealHeight(deviceFL_Height),
                            BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
                            Tag = device
                        };
                        deviceVerticalScrolViewLayout.AddChidren(deviceFL);
                        var deviceRowLayout = new RowLayout
                        {
                            Y = Application.GetRealHeight(25),
                            Height = Application.GetRealHeight(deviceFL_Height - 25) - 1,
                            LineColor = ZigbeeColor.Current.GXCBackgroundColor,
                            BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor,
                            Radius = CommonPage.BigFormRadius,
                            Tag = device
                        };
                        deviceFL.AddChidren(deviceRowLayout);
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
                        lightView.Init();
                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
                        lightView.SetStatuText(device.GetDeviceStatu());
                        lightView.SetDeviceName(airSwitch.DeviceEpointName);
                        //lightView.SetStatu(true);
                        lightView.IsSelected = airSwitch.OnOffStatus == 1;
                        lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
                        var deviceItemFL = new FrameLayout()
                        lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
                        {
                            BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor,
                            Radius = CommonPage.BigFormRadius
                        };
                        deviceRowLayout.AddChidren(deviceItemFL);
                        var deviceIMG = new Button()
                        {
                            X = Application.GetRealWidth(50),
                            Y = Application.GetRealHeight(30),
                            Width = Application.GetMinRealAverage(110),
                            Height = Application.GetMinRealAverage(110),
                            UnSelectedImagePath = device.IconPath,
                            SelectedImagePath = device.OnlineIconPath,
                            IsSelected = airSwitch.IsOnline == 1,
                            Tag = deviceStatus_Online
                        };
                        deviceItemFL.AddChidren(deviceIMG);
                        var deviceName = new Button()
                        {
                            X = Application.GetRealWidth(10),
                            Y = deviceIMG.Bottom,
                            Width = Application.GetRealWidth(180),
                            Height = Application.GetRealHeight(80),
                            TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                            TextAlignment = TextAlignment.Center,
                            Text = device.CommonDevice.DeviceEpointName,
                            TextSize = 10,
                            IsMoreLines = true
                        };
                        deviceItemFL.AddChidren(deviceName);
                        var collectionBtn = new Button()
                        {
                            X = deviceItemFL.Right - Application.GetRealWidth(150),
                            Y = Application.GetRealHeight(20),
                            Width = Application.GetMinRealAverage(80),
                            Height = Application.GetMinRealAverage(80),
                            UnSelectedImagePath = "Item/Collection.png",
                            SelectedImagePath = "Item/CollectionSelected.png",
                            Tag = device
                        };
                        //***先隐藏******
                        //deviceItemFL.AddChidren(collectionBtn);
                        var switchBtnBG = new Button
                        {
                            X = deviceItemFL.Right - Application.GetRealWidth(250),
                            Width = Application.GetMinRealAverage(250),
                            Height = Application.GetMinRealAverage(250),
                            Gravity = Gravity.CenterVertical
                        };
                        deviceItemFL.AddChidren(switchBtnBG);
                        var switchBtn = new Button
                        {
                            X = deviceItemFL.Right - Application.GetRealWidth(200),
                            //Y = deviceItemFL.Bottom - Application.GetRealHeight(120),
                            Width = Application.GetMinRealAverage(183),
                            Height = Application.GetMinRealAverage(123),
                            UnSelectedImagePath = "Item/Switch.png",
                            SelectedImagePath = "Item/SwitchSelected.png",
                            IsSelected = airSwitch.OnOffStatus == 1,
                            Tag = deviceStatus_OnOffStatus,
                            //Visible=false
                            Gravity = Gravity.CenterVertical
                        };
                        deviceItemFL.AddChidren(switchBtn);
                        switchBtn.MouseUpEventHandler += (send2, e2) =>
                        {
                            switchBtn.IsSelected = !switchBtn.IsSelected;
                            if (switchBtn.IsSelected == true)
                            (sender as Button).IsSelected = !(sender as Button).IsSelected;
                            if ((sender as Button).IsSelected)
                            {
                                zbGateway = device.CommonDevice.Gateway;
                                sendedControlCommand = false;
@@ -1714,8 +1320,11 @@
                                airSwitch.SwitchControl(1);
                                    //控制延时回调
                                    DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
                                ((sender as Button).Parent as FunctionMainView).IsSelected = true;
                                //控制延时回调
                                DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                {
                                    if (Parent == null)
                                    {
@@ -1737,8 +1346,11 @@
                                airSwitch.SwitchControl(0);
                                    //控制延时回调
                                    DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
                                ((sender as Button).Parent as FunctionMainView).IsSelected = false;
                                //控制延时回调
                                DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                {
                                    if (Parent == null)
                                    {
@@ -1753,86 +1365,19 @@
                            }
                        };
                        var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton
                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
                        {
                            Tag = device,
                            IsMoreLines = true
                        };
                        if (Room.CurrentRoom.IsLove)
                        {
                            deleteBtn.TextID = R.MyInternationalizationString.CancelCollect;
                            deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor;
                            deleteBtn.MouseUpEventHandler += collectionEvent;
                            deviceRowLayout.AddRightView(deleteBtn);
                        }
                        else if (Room.CurrentRoom.IsSharedRoom)
                        {
                            //不处理
                        }
                        else
                        {
                            deleteBtn.MouseUpEventHandler += delEvent;
                            deviceRowLayout.AddRightView(deleteBtn);
                        }
                        EventHandler<MouseEventArgs> airSwitchHandler = (sender, e) =>
                        {
                            var airSwitchControl = new Phone.Device.AirSwitch.AirSwitchControl();
                            UserView.HomePage.Instance.AddChidren(airSwitchControl);
                            var lightControl = new Phone.Device.Light.AirSwitchControl();
                            UserView.HomePage.Instance.AddChidren(lightControl);
                            UserView.HomePage.Instance.PageIndex += 1;
                            airSwitchControl.action = RefreshBodyView;
                            airSwitchControl.Show(device, Room.CurrentRoom);
                            //lightControl.action = RefreshBodyView;
                            lightControl.Show(device, Room.CurrentRoom);
                        };
                        //deviceItemFL.MouseLongEventHandler += airSwitchHandler;
                        deviceItemFL.MouseUpEventHandler += airSwitchHandler;
                        deviceName.MouseUpEventHandler += airSwitchHandler;
                        deviceIMG.MouseUpEventHandler += airSwitchHandler;
                        //collectionBtn.MouseUpEventHandler += (sender, e) =>
                        //{
                        //    if (collectionBtn.IsSelected)
                        //    {
                        //        Room.Lists[0].DeleteDevice(device.FilePath);
                        //        collectionBtn.IsSelected = false;
                        //        if(Room.CurrentRoom==Room.Lists[0])
                        //        {
                        //            RefreshBodyView();
                        //        }
                        //    }
                        //    else
                        //    {
                        //        Room.Lists[0].AddDevice(device.FilePath);
                        //        collectionBtn.IsSelected = true;
                        //    }
                        //    //RefreshBodyView();
                        //};
                        collectionBtn.MouseUpEventHandler += collectionEvent;
                        //var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FilePath);
                        //if (dev == null)
                        //{
                        //    collectionBtn.IsSelected = false;
                        //}
                        //else
                        //{
                        //    collectionBtn.IsSelected = true;
                        //}
                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
                    }
                    else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat)
                    {
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
                        lightView.Init();
                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
                        lightView.SetStatuText("开");
                        lightView.SetDeviceName("空调");
                        //lightView.SetStatu(true);
                        lightView.IsSelected = true;
                        lightView.SetCollect(true);
                        continue;
                        //恒温器-AC-空调
                        var ac = device.CommonDevice as AC;
@@ -1869,237 +1414,19 @@
                                ac.ReadSystemMode();
                            }
                        }
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
                        lightView.Init();
                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
                        lightView.SetStatuText(device.GetDeviceStatu());
                        lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
                        lightView.IsSelected = ac.currentSystemMode != 0;
                        lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
                        var deviceFL = new FrameLayout
                        lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
                        {
                            Height = Application.GetRealHeight(deviceFL_Height),
                            BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
                            Tag = device
                        };
                        deviceVerticalScrolViewLayout.AddChidren(deviceFL);
                        var deviceRowLayout = new RowLayout
                        {
                            Y = Application.GetRealHeight(25),
                            Height = Application.GetRealHeight(deviceFL_Height - 25) - 1,
                            LineColor = ZigbeeColor.Current.GXCBackgroundColor,
                            BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor,
                            Radius = CommonPage.BigFormRadius,
                            Tag = device
                        };
                        deviceFL.AddChidren(deviceRowLayout);
                        var deviceItemFL = new FrameLayout()
                        {
                            BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor,
                            Radius = CommonPage.BigFormRadius
                        };
                        deviceRowLayout.AddChidren(deviceItemFL);
                        var deviceIMG = new Button()
                        {
                            X = Application.GetRealWidth(50),
                            Y = Application.GetRealHeight(30),
                            Width = Application.GetMinRealAverage(110),
                            Height = Application.GetMinRealAverage(110),
                            UnSelectedImagePath = device.IconPath,
                            SelectedImagePath = device.OnlineIconPath,
                            IsSelected = ac.IsOnline == 1,
                            Tag = deviceStatus_Online
                        };
                        deviceItemFL.AddChidren(deviceIMG);
                        var deviceName = new Button()
                        {
                            X = Application.GetRealWidth(10),
                            Y = deviceIMG.Bottom,
                            Width = Application.GetRealWidth(180),
                            Height = Application.GetRealHeight(80),
                            TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                            TextAlignment = TextAlignment.Center,
                            Text = device.CommonDevice.DeviceEpointName,
                            TextSize = 10,
                            IsMoreLines = true
                        };
                        deviceItemFL.AddChidren(deviceName);
                        var collectionBtn = new Button()
                        {
                            X = deviceItemFL.Right - Application.GetRealWidth(150),
                            Y = Application.GetRealHeight(20),
                            Width = Application.GetMinRealAverage(80),
                            Height = Application.GetMinRealAverage(80),
                            UnSelectedImagePath = "Item/Collection.png",
                            SelectedImagePath = "Item/CollectionSelected.png",
                            Tag = device
                        };
                        //***先隐藏******
                        //deviceItemFL.AddChidren(collectionBtn);
                        //减
                        var reduceBtnBG = new Device.CommonForm.SelectedStatuButton()
                        {
                            X = deviceName.Right,
                            Width = Application.GetMinRealAverage(250),
                            Height = Application.GetMinRealAverage(250),
                            Gravity = Gravity.CenterVertical,
                        };
                        deviceItemFL.AddChidren(reduceBtnBG);
                        var reduceBtn = new Device.CommonForm.SelectedStatuButton()
                        {
                            X = Application.GetRealWidth(30) + deviceName.Right,
                            Width = Application.GetMinRealAverage(110),
                            Height = Application.GetMinRealAverage(110),
                            Gravity = Gravity.CenterVertical,
                            UnSelectedImagePath = "Item/Reduce.png",
                            SelectedImagePath = "Item/ReduceSelected.png",
                        };
                        deviceItemFL.AddChidren(reduceBtn);
                        //当前温度
                        var currentTemperatureBtn = new Button()
                        {
                            X = Application.GetRealWidth(50) + reduceBtn.Right,
                            Width = Application.GetRealWidth(200),
                            Height = Application.GetRealHeight(110),
                            Gravity = Gravity.CenterVertical,
                            TextColor = ZigbeeColor.Current.TextBlack,
                            TextSize = 16,
                            Text = $"{Device.AC.ACControlBase.GetCurrentModeTemperature(ac)} °C",
                            Tag = "Temparetrue"
                        };
                        deviceItemFL.AddChidren(currentTemperatureBtn);
                        reduceBtn.MouseUpEventHandler += (send2, e2) =>
                        {
                            if (Device.AC.ACControlBase.IsOpen(ac) == false)
                            {
                                Device.AC.ACControlBase.ShowACIsCloseTip();
                                return;
                            }
                                //cool
                                if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
                            {
                                if (ac.currentCoolingSetpoint <= ACControlBase.Temperature_Low)
                                {
                                    return;
                                }
                                ac.currentCoolingSetpoint -= 1;
                                ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100);
                                currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} °C";
                            }
                                //heat
                                else if (ac.currentSystemMode == 4)
                            {
                                if (ac.currentHeatingSetpoint <= ACControlBase.Temperature_Low)
                                {
                                    return;
                                }
                                ac.currentHeatingSetpoint -= 1;
                                ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100);
                                currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} °C";
                            }
                            else if (ac.currentSystemMode == 1)
                            {
                                if (ac.currentAutoSetpoint <= ACControlBase.Temperature_Low)
                                {
                                    return;
                                }
                                ac.currentAutoSetpoint -= 1;
                                ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100);
                                currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} °C";
                            }
                                //auto
                                //dry
                                //currentTemperatureBtn.Text = $"{Device.AC.ACControlBase.GetCurrentModeTemperature(ac)} °C";
                            };
                        var addBtnBG = new Device.CommonForm.SelectedStatuButton()
                        {
                            X = currentTemperatureBtn.Right,
                            Width = Application.GetMinRealAverage(250),
                            Height = Application.GetMinRealAverage(250),
                            Gravity = Gravity.CenterVertical
                        };
                        deviceItemFL.AddChidren(addBtnBG);
                        var addBtn = new Device.CommonForm.SelectedStatuButton()
                        {
                            X = Application.GetRealWidth(30) + currentTemperatureBtn.Right,
                            Width = Application.GetMinRealAverage(110),
                            Height = Application.GetMinRealAverage(110),
                            Gravity = Gravity.CenterVertical,
                            UnSelectedImagePath = "Item/Add.png",
                            SelectedImagePath = "Item/AddSelected.png",
                        };
                        deviceItemFL.AddChidren(addBtn);
                        addBtn.MouseUpEventHandler += (send2, e2) =>
                        {
                            if (Device.AC.ACControlBase.IsOpen(ac) == false)
                            {
                                Device.AC.ACControlBase.ShowACIsCloseTip();
                                return;
                            }
                                //cool
                                if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
                            {
                                if (ac.currentCoolingSetpoint >= ACControlBase.Temperature_High)
                                {
                                    return;
                                }
                                ac.currentCoolingSetpoint += 1;
                                ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100);
                                currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} °C";
                            }
                                //heat
                                else if (ac.currentSystemMode == 4)
                            {
                                if (ac.currentHeatingSetpoint >= ACControlBase.Temperature_High)
                                {
                                    return;
                                }
                                ac.currentHeatingSetpoint += 1;
                                ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100);
                                currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} °C";
                            }
                            else if (ac.currentSystemMode == 1)
                            {
                                if (ac.currentAutoSetpoint >= ACControlBase.Temperature_High)
                                {
                                    return;
                                }
                                ac.currentAutoSetpoint += 1;
                                ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100);
                                currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} °C";
                            }
                        };
                        var switchBtnBG = new Button
                        {
                            X = deviceItemFL.Right - Application.GetRealWidth(250),
                            Width = Application.GetMinRealAverage(250),
                            Height = Application.GetMinRealAverage(250),
                            Gravity = Gravity.CenterVertical
                        };
                        deviceItemFL.AddChidren(switchBtnBG);
                        var switchBtn = new Button
                        {
                            X = deviceItemFL.Right - Application.GetRealWidth(200),
                            //Y = deviceItemFL.Bottom - Application.GetRealHeight(120),
                            Width = Application.GetMinRealAverage(183),
                            Height = Application.GetMinRealAverage(123),
                            UnSelectedImagePath = "Item/Switch.png",
                            SelectedImagePath = "Item/SwitchSelected.png",
                            IsSelected = ac.currentSystemMode != 0,
                            Tag = deviceStatus_OnOffStatus,
                            //Visible=false
                            Gravity = Gravity.CenterVertical
                        };
                        deviceItemFL.AddChidren(switchBtn);
                        switchBtn.MouseUpEventHandler += (send2, e2) =>
                        {
                            switchBtn.IsSelected = !switchBtn.IsSelected;
                            if (switchBtn.IsSelected == true)
                            (sender as Button).IsSelected = !(sender as Button).IsSelected;
                            if ((sender as Button).IsSelected)
                            {
                                zbGateway = device.CommonDevice.Gateway;
                                sendedControlCommand = false;
@@ -2108,20 +1435,23 @@
                                ac.Open();
                                    //控制延时回调
                                    //DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                    //{
                                    //    if (Parent == null)
                                    //    {
                                    //        return;
                                    //    }
                                    //    RemoveUpdateControlDeviceStatuAction(zbGateway);
                                    //    if (sendedControlCommand == false)
                                    //    {
                                    //        DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
                                    //    }
                                    //});
                                }
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
                                ((sender as Button).Parent as FunctionMainView).IsSelected = true;
                                //控制延时回调
                                DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                {
                                    if (Parent == null)
                                    {
                                        return;
                                    }
                                    RemoveUpdateControlDeviceStatuAction(zbGateway);
                                    if (sendedControlCommand == false)
                                    {
                                        DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
                                    }
                                });
                            }
                            else
                            {
                                zbGateway = device.CommonDevice.Gateway;
@@ -2131,57 +1461,35 @@
                                ac.Close();
                                    //控制延时回调
                                    //DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                    //{
                                    //    if (Parent == null)
                                    //    {
                                    //        return;
                                    //    }
                                    //    RemoveUpdateControlDeviceStatuAction(zbGateway);
                                    //    if (sendedControlCommand == false)
                                    //    {
                                    //        DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
                                    //    }
                                    //});
                                }
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
                                ((sender as Button).Parent as FunctionMainView).IsSelected = false;
                                //控制延时回调
                                DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                {
                                    if (Parent == null)
                                    {
                                        return;
                                    }
                                    RemoveUpdateControlDeviceStatuAction(zbGateway);
                                    if (sendedControlCommand == false)
                                    {
                                        DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
                                    }
                                });
                            }
                        };
                        var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton
                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
                        {
                            Tag = device,
                            IsMoreLines = true
                        };
                        if (Room.CurrentRoom.IsLove)
                        {
                            deleteBtn.TextID = R.MyInternationalizationString.CancelCollect;
                            deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor;
                            deleteBtn.MouseUpEventHandler += collectionEvent;
                            deviceRowLayout.AddRightView(deleteBtn);
                        }
                        else if (Room.CurrentRoom.IsSharedRoom)
                        {
                            //不处理
                        }
                        else
                        {
                            deleteBtn.MouseUpEventHandler += delEvent;
                            deviceRowLayout.AddRightView(deleteBtn);
                        }
                        EventHandler<MouseEventArgs> acHandler = (sender, e) =>
                        {
                            var acControl = new Phone.Device.AC.ACControl { };
                            UserView.HomePage.Instance.AddChidren(acControl);
                            var lightControl = new Phone.Device.AC.ACControl();
                            UserView.HomePage.Instance.AddChidren(lightControl);
                            UserView.HomePage.Instance.PageIndex += 1;
                            acControl.action = RefreshBodyView;
                            acControl.Show(device, Room.CurrentRoom);
                            //lightControl.action = RefreshBodyView;
                            lightControl.Show(device, Room.CurrentRoom);
                        };
                        //deviceItemFL.MouseLongEventHandler += acHandler;
                        deviceItemFL.MouseUpEventHandler += acHandler;
                        deviceName.MouseUpEventHandler += acHandler;
                        deviceIMG.MouseUpEventHandler += acHandler;
                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
                    }
                    else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight)
                    {
@@ -2215,7 +1523,7 @@
                        itemView.AddChidren(lightView);
                        lightView.Init();
                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
                        lightView.SetStatuText(CommonFormResouce.GetSwitchStatu(dimmableLight.OnOffStatus == 1));
                        lightView.SetStatuText(device.GetDeviceStatu());
                        lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
                        lightView.IsSelected = dimmableLight.OnOffStatus == 1;
                        lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
@@ -2242,7 +1550,7 @@
                                dimmableLight.SwitchControl(1);
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(true));
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
                                ((sender as Button).Parent as FunctionMainView).IsSelected = true;
                                //控制延时回调
@@ -2268,7 +1576,7 @@
                                dimmableLight.SwitchControl(0);
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(false));
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu());
                                ((sender as Button).Parent as FunctionMainView).IsSelected = false;
                                //控制延时回调
@@ -2293,7 +1601,7 @@
                            UserView.HomePage.Instance.AddChidren(dimmableLightControl);
                            UserView.HomePage.Instance.PageIndex += 1;
                            UserView.HomePage.Instance.ScrollEnabled = false;
                            dimmableLightControl.action = RefreshBodyView;
                            //dimmableLightControl.action = RefreshBodyView;
                            dimmableLightControl.Show(device, Room.CurrentRoom);
                        };
@@ -2305,16 +1613,11 @@
                        itemView.AddChidren(lightView);
                        lightView.Init();
                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
                        lightView.SetStatuText("开");
                        lightView.SetDeviceName("按键");
                        lightView.SetStatuText(device.GetDeviceStatu());
                        lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
                        //lightView.SetStatu(true);
                        lightView.IsSelected = true;
                        lightView.SetCollect(true);
                        continue;
                        //按键
                        var panel = (Panel)device.CommonDevice;
                        lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
                    }
                }
            }