HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2020-03-06 a5b3c4bae726ef6770d4bfcbf2f4b50a37ed4a15
ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
@@ -23,10 +23,11 @@
        FrameLayout clickframeLayout = new FrameLayout();
        Button clickbutton = new Button();
        Button clicktextcolcrbutton = new Button();
        public void Show()
        public  void Show()
        {
            UserView.HomePage.Instance.ScrollEnabled = false;
            this.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
            #region  最上面的布局代码
@@ -40,14 +41,15 @@
            var titleName = new Button
            {
                TextSize = 16,
                TextSize = 17,
                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                TextAlignment = TextAlignment.CenterLeft,
                X = Application.GetRealWidth(160),
                Width = Application.GetRealWidth(300),
                Width = Application.GetRealWidth(600),
                Height = Application.GetRealHeight(69),
                Y = Application.GetRealHeight(92),
                TextID = MyInternationalizationString.devicestate,
                IsBold = true,
            };
            topRowLayout.AddChidren(titleName);
@@ -90,6 +92,7 @@
                Y = Application.GetRealHeight(92),
                //TextID = MyInternationalizationString.customroom,
                Text = Config.Instance.Home.GetCurrentFloorName,
                TextSize = 14,
            };
            topRowLayout.AddChidren(foolrname);
            var dropdown = new Button
@@ -102,12 +105,13 @@
                Y = Application.GetRealHeight(92),
                UnSelectedImagePath = "ZigeeLogic/drop-down.png",
            };
            topRowLayout.AddChidren(dropdown);
            topRowLayout.AddChidren(dropdown);
            #endregion
            ///没有房间直接返回去;
            if (Common.Room.Lists.Count == 0)
            var listAllRoom = UserCenter.HdlRoomLogic.Current.GetAllListRooms();
            if (listAllRoom.Count == 0)
            {
                return;
            }
@@ -121,15 +125,6 @@
            };
            this.AddChidren(roomhorizontalScrol);
            var devicetypehorizontalScrol1 = new HorizontalScrolViewLayout()
            {
                Width = Application.GetRealWidth(1080 - 58 - 200),
                Height = Application.GetRealHeight(280),
                Y = roomhorizontalScrol.Bottom,
                BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                X = Application.GetRealWidth(58 + 200),
            };
            this.AddChidren(devicetypehorizontalScrol1);
            ///设备类型滑动控件
            var devicetypehorizontalScrol = new HorizontalScrolViewLayout()
            {
@@ -138,25 +133,27 @@
                Y = roomhorizontalScrol.Bottom,
                BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                X = Application.GetRealWidth(58),
                Radius = (uint)Application.GetRealHeight(50),
               // Radius = (uint)Application.GetRealHeight(50),
            };
            this.AddChidren(devicetypehorizontalScrol);
            devicetypehorizontalScrol.SetCornerWithSameRadius(Application.GetRealHeight(50), HDLUtils.RectCornerBottomLeft);
            middle = new VerticalScrolViewLayout();
            middle.Y = devicetypehorizontalScrol.Bottom + Application.GetRealHeight(40);
            middle.Height = Application.GetRealHeight(1920) - devicetypehorizontalScrol.Y;
            middle.Height = Application.GetRealHeight(1920 - 40) - devicetypehorizontalScrol.Bottom;
            middle.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
            middle.X = Application.GetRealWidth(58);
            middle.Radius = (uint)Application.GetRealHeight(50);
            //middle.Radius = (uint)Application.GetRealHeight(50);
            this.AddChidren(middle);
            middle.SetCornerWithSameRadius(Application.GetRealHeight(50), HDLUtils.RectCornerTopLeft);
            ///目前支持的设备
            var deviceTypeList = new List<DeviceType> {
                DeviceType.IASZone,
                DeviceType.OnOffSwitch,
                DeviceType.OnOffOutput,//楼梯灯
                DeviceType.DoorLock
                DeviceType.DoorLock,
                DeviceType.TemperatureSensor,
            };
            ///楼层点击事件
@@ -169,41 +166,79 @@
                {
                    flMain.RemoveFromParent();
                };
                var foolrbjicon = new FrameLayout
                {
                    Width = Application.GetRealWidth(450),
                    Height = Application.GetRealHeight(780),
                    X = Application.GetRealWidth(1080 - 468 - 35),
                    Y = Application.GetRealHeight(184),
                    BackgroundImagePath = "Item/SelectFloor_Right.png",
                };
                flMain.AddChidren(foolrbjicon);
                var btnfoolrtext = new Button
                {
                    Width = Application.GetRealWidth(450),
                    Height = Application.GetRealHeight(150),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                    X = Application.GetRealWidth(80),
                    TextID = MyInternationalizationString.selecfoolr,
                    TextSize = 14,
                };
                foolrbjicon.AddChidren(btnfoolrtext);
                var foolrbj = new VerticalScrolViewLayout
                {
                    Width = Application.GetRealWidth(400),
                    Height = Application.GetRealHeight(600),
                    X = Application.GetRealWidth(1080 - 400 - 60),
                    Y = Application.GetRealHeight(184 + 50),
                    BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                    Radius = (uint)Application.GetRealHeight(30),
                    Width = Application.GetRealWidth(450),
                    Height = foolrbjicon.Height - btnfoolrtext.Height,
                    X = Application.GetRealWidth(80),
                    Y = btnfoolrtext.Bottom,
                };
                flMain.AddChidren(foolrbj);
                foolrbjicon.AddChidren(foolrbj);
                foreach (var foolr in Config.Instance.Home.FloorDics)
                {
                    var foolrRowLayout = new FrameLayout
                    var foolrRowLayout = new RowLayout
                    {
                        Height = Application.GetRealHeight(150),
                        LineColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
                    };
                    foolrbj.AddChidren(foolrRowLayout);
                    var btnfoolricon = new Button
                    {
                        Width = Application.GetRealWidth(81),
                        Height = Application.GetRealHeight(81),
                        UnSelectedImagePath = "Floor/Floor.png",
                        Gravity = Gravity.CenterVertical,
                    };
                    foolrRowLayout.AddChidren(btnfoolricon);
                    var btnfoolrname = new Button
                    {
                        Width = Application.GetRealWidth(250),
                        Height = Application.GetRealHeight(160),
                        Height = Application.GetRealHeight(150),
                        Text = foolr.Value,
                        TextAlignment = TextAlignment.Center,
                        TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                        //SelectedTextColor=0xfffc744b,
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
                        Tag = foolr.Key,
                        X = btnfoolricon.Right + Application.GetRealWidth(12),
                        TextSize = 14,
                    };
                    foolrRowLayout.AddChidren(btnfoolrname);
                    if (foolrname.Text == foolr.Value)
                    {
                        btnfoolricon.UnSelectedImagePath = "Floor/FloorSelected.png";
                        btnfoolrname.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
                    }
                    EventHandler<MouseEventArgs> foolrnameclick = (sender13, e13) =>
                    {
                        roomhorizontalScrol.RemoveAll();
                        devicetypehorizontalScrol.RemoveAll();
                        middle.RemoveAll();
@@ -224,13 +259,13 @@
            ///第一次进来
            var roomlists = new List<Common.Room>();
            roomlists.Clear();
            if (Config.Instance.Home.FloorDics.Count < 1)
            if (Config.Instance.Home.FloorDics.Count < 2)
            {
                foolrname.Visible = false;
                dropdown.Visible = false;
                if (Config.Instance.Home.FloorDics.Count == 0)
                {
                    roomlists.AddRange(Common.Room.Lists);
                    roomlists.AddRange(listAllRoom);
                }
                else
                {
@@ -250,6 +285,7 @@
        /// </summary>
        void AllRoomView(List<Common.Room> roomlist, List<DeviceType> deviceTypeList, HorizontalScrolViewLayout roomhorizontalScrol, HorizontalScrolViewLayout devicetypehorizontalScrol)
        {
            for (int i = 0; i < roomlist.Count; i++)
            {
                var room = roomlist[i];
@@ -267,20 +303,20 @@
                    Width = Application.GetRealWidth(255),
                    UnSelectedImagePath = "ZigeeLogic/iconBackgroundColor.png",
                    SelectedImagePath = "ZigeeLogic/iconSelectedBackgroundColor.png",
                    Y=Application.GetRealHeight(21),
                    Y = Application.GetRealHeight(21),
                };
                fra.AddChidren(roombjBtn);
                var roomnameBtn= new Button
                var roomnameBtn = new Button
                {
                    Height = Application.GetRealHeight(152-26-20),
                    Width = Application.GetRealWidth(255-20-50),
                    Height = Application.GetRealHeight(152 - 26 - 20),
                    Width = Application.GetRealWidth(255 - 20 - 50),
                    Text = room.Name,
                    TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
                    SelectedTextColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
                    Y=Application.GetRealHeight(21 +13+10),
                    X=Application.GetRealWidth(10+25),
                    Y = Application.GetRealHeight(21 + 13 + 10),
                    X = Application.GetRealWidth(10 + 25),
                };
                fra.AddChidren(roomnameBtn);
@@ -295,18 +331,31 @@
                    roomTextButton = roomnameBtn;
                    roomnameBtn.IsSelected = true;
                    var list = new List<DeviceUI>();
                    foreach (var device in room.DeviceUIList)
                    var list = new List<CommonDevice>();
                    foreach (var deviceKeys in room.ListDevice)
                    {
                        if (device.CommonDevice==null) {
                        var device = LocalDevice.Current.GetDevice(deviceKeys);
                        if (device == null)
                        {
                            continue;
                        }
                        if (!deviceTypeList.Contains(device.CommonDevice.Type))
                        if (!deviceTypeList.Contains(device.Type))
                        {
                            continue;
                        }
                        list.Add(device);
                    }
                    if (list.Count == 0)
                    {
                        devicetypehorizontalScrol.Height = 0;
                        middle.Height = 0;
                    }
                    else
                    {
                        devicetypehorizontalScrol.Height = Application.GetRealHeight(280);
                        middle.Height = Application.GetRealHeight(1920 - 40) - devicetypehorizontalScrol.Bottom;
                    }
                    AllDeviceTypeView(list, devicetypehorizontalScrol);
                }
@@ -324,18 +373,32 @@
                    roomTextButton = roomnameBtn;
                    roomnameBtn.IsSelected = true;
                    var list = new List<DeviceUI>();
                    foreach (var device in room.DeviceUIList)
                    {
                        if (device.CommonDevice==null) {
                    var list = new List<CommonDevice>();
                    foreach (var deviceKeys in room.ListDevice)
                    {
                        var device = LocalDevice.Current.GetDevice(deviceKeys);
                        if (device == null)
                        {
                            continue;
                        }
                        if (!deviceTypeList.Contains(device.CommonDevice.Type))
                        if (!deviceTypeList.Contains(device.Type))
                        {
                            continue;
                        }
                        list.Add(device);
                    }
                    if (list.Count == 0)
                    {
                        devicetypehorizontalScrol.Height = 0;
                        middle.Height = 0;
                    }
                    else
                    {
                        devicetypehorizontalScrol.Height = Application.GetRealHeight(280);
                        middle.Height = Application.GetRealHeight(1920 - 40) - devicetypehorizontalScrol.Bottom;
                    }
                    AllDeviceTypeView(list, devicetypehorizontalScrol);
@@ -349,34 +412,34 @@
        /// 加载该区域所有设备视图方法
        /// </summary>0
        /// <param name="devicelist">Devicelist.</param>
        void AllDeviceTypeView(List<DeviceUI> devicelist, HorizontalScrolViewLayout devicetypehorizontalScrol)
        void AllDeviceTypeView(List<CommonDevice> devicelist, HorizontalScrolViewLayout devicetypehorizontalScrol)
        {
            List<string> devicetypelist = new List<string>();
            devicetypelist.Clear();
            #region  ------排列设备类型------
            ///暂时隐藏灯光和窗帘设备
            var lightjosn = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.ColorDimmableLight || device.CommonDevice.Type == DeviceType.OnOffOutput);
            var lightjosn = devicelist.Find((device) => device.Type == DeviceType.ColorDimmableLight || device.Type == DeviceType.OnOffOutput);
            if (lightjosn != null)
            {
                devicetypelist.Add(Language.StringByID(MyInternationalizationString.Lights));
            }
            var curtainjosn = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.WindowCoveringDevice);
            var curtainjosn = devicelist.Find((device) => device.Type == DeviceType.WindowCoveringDevice);
            if (curtainjosn != null)
            {
                devicetypelist.Add(Language.StringByID(MyInternationalizationString.Curtains));
            }
            var iASZonejosn = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.IASZone);
            var iASZonejosn = devicelist.Find((device) => device.Type == DeviceType.IASZone || device.Type == DeviceType.TemperatureSensor);
            if (iASZonejosn != null)
            {
                devicetypelist.Add(Language.StringByID(MyInternationalizationString.sensor));
            }
            var onOffSwitchjson = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.OnOffSwitch);
            var onOffSwitchjson = devicelist.Find((device) => device.Type == DeviceType.OnOffSwitch);
            if (onOffSwitchjson != null)
            {
                devicetypelist.Add(Language.StringByID(MyInternationalizationString.OnOffSwitch));
            }
            var doorLock = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.DoorLock);
            var doorLock = devicelist.Find((device) => device.Type == DeviceType.DoorLock);
            if (doorLock != null)
            {
                devicetypelist.Add(Language.StringByID(MyInternationalizationString.doorLock));
@@ -486,6 +549,7 @@
                    else if (devicetype == Language.StringByID(MyInternationalizationString.sensor))
                    {
                        list.Add(DeviceType.IASZone);
                        list.Add(DeviceType.TemperatureSensor);
                    }
                    else if (devicetype == Language.StringByID(MyInternationalizationString.doorLock))
                    {
@@ -510,14 +574,14 @@
        /// </summary>
        /// <param name="deviceTypelist">Device typelist.</param>
        /// <param name="devicelist">设备列表</param>
        void ConditionDeviceView(List<DeviceType> deviceTypelist, List<DeviceUI> devicelist)
        void ConditionDeviceView(List<DeviceType> deviceTypelist, List<CommonDevice> devicelist)
        {
            middle.RemoveAll();
            foreach (var common in devicelist)
            {
                if (deviceTypelist.Count != 0 && !deviceTypelist.Contains(common.CommonDevice.Type))
                if (deviceTypelist.Count != 0 && !deviceTypelist.Contains(common.Type))
                {
                    continue;
                }
@@ -535,7 +599,7 @@
                    Height = Application.GetRealHeight(112),
                    X = Application.GetRealWidth(58),
                    Y = Application.GetRealHeight(30 + 9),
                    Radius = (uint)Application.GetRealHeight(56),
                   // Radius = (uint)Application.GetRealHeight(56),
                    BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
                };
                deviceFramelayout.AddChidren(bjFramelayout);
@@ -562,13 +626,14 @@
                var devicename = new Button
                {
                    Text = common.CommonDevice.DeviceEpointName,
                    Text = common.DeviceEpointName,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                    SelectedTextColor = ZigbeeColor.Current.LogicAddColor,
                    TextSize = 14,
                };
                deviceRow.AddChidren(devicename);
                switch (common.CommonDevice.Type)
                switch (common.Type)
                {
                    case DeviceType.OnOffOutput:
                        {
@@ -578,7 +643,7 @@
                        break;
                    case DeviceType.IASZone:
                        {
                            var iASZonedevice = common.CommonDevice as IASZone;
                            var iASZonedevice = common as IASZone;
                            if (iASZonedevice.DeviceID != 1026)
                            {
                                break;
@@ -587,6 +652,21 @@
                            deviceIconBtn.SelectedImagePath = $"ZigeeLogic/selectedsensor{iASZonedevice.IasDeviceType}.png";
                        }
                        break;
                    case DeviceType.TemperatureSensor:
                        {
                            var temperatureSensor = common as TemperatureSensor;
                            if (temperatureSensor.SensorDiv == 1)
                            {
                                deviceIconBtn.UnSelectedImagePath = $"ZigeeLogic/temperature.png";
                                deviceIconBtn.SelectedImagePath = $"ZigeeLogic/selectedtemperature.png";
                            }
                            else
                            {
                                deviceIconBtn.UnSelectedImagePath = "ZigeeLogic/humidity.png";
                                deviceIconBtn.SelectedImagePath = "ZigeeLogic/selectedhumidity.png";
                            }
                        }
                        break;
                    case DeviceType.OnOffSwitch:
@@ -616,7 +696,7 @@
                    devicename.IsSelected = true;
                    var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor };
                    this.AddChidren(flMain);
                    CurrentDeviceView(flMain, common.CommonDevice, false);
                    CurrentDeviceView(flMain, common, false);
                };
                deviceFramelayout.MouseUpEventHandler += devicclick;
                bjFramelayout.MouseUpEventHandler += devicclick;
@@ -631,11 +711,11 @@
        /// 选中该设备功能作为条件的视图方法
        /// </summary>
        /// <param name="common">Common.</param>
        public async static  void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit)
        public async static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit)
        {
            //不让当前界面滑动
            UserView.HomePage.Instance.ScrollEnabled = false;
            List<Dictionary<string, string>> doorlockConditionsInfo= new List<Dictionary<string, string>>();
            List<Dictionary<string, string>> doorlockConditionsInfo = new List<Dictionary<string, string>>();
            Dictionary<string, string> deviceConditionsInfo = new Dictionary<string, string>();
            dictionary(deviceConditionsInfo, "Type", "1");
            dictionary(deviceConditionsInfo, "IsValid", "1");
@@ -646,18 +726,7 @@
            flMain.MouseUpEventHandler += (sender, e) =>
            {
                flMain.RemoveFromParent();
            };
            var devicefra1 = new FrameLayout
            {
                Width = Application.GetRealWidth(1080),
                Height = Application.GetRealHeight(100),
                Y = Application.GetRealHeight(1920 - 100),
                BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
            };
            flMain.AddChidren(devicefra1);
            var devicefra = new FrameLayout
            {
@@ -666,9 +735,10 @@
                Height = Application.GetRealHeight(530),
                Y = Application.GetRealHeight(1920 - 530),
                BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                Radius = (uint)Application.GetRealHeight(60),
               // Radius = (uint)Application.GetRealHeight(60),
            };
            flMain.AddChidren(devicefra);
            devicefra.SetCornerWithSameRadius(Application.GetRealHeight(50), HDLUtils.RectCornerTopLeft|HDLUtils.RectCornerTopRight);
            #region  -------取消   完成
            var timetype = new RowLayout
@@ -685,6 +755,7 @@
                Width = Application.GetRealWidth(200),
                X = Application.GetRealWidth(80),
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = 14,
            };
            timetype.AddChidren(Btncancel);
            Btncancel.MouseUpEventHandler += (sender16, e16) =>
@@ -698,9 +769,9 @@
                TextID = MyInternationalizationString.security,
                TextColor = ZigbeeColor.Current.LogicBtnTypeColor,
                Height = Application.GetRealHeight(140),
                Width = Application.GetRealWidth(320),
                Width = Application.GetRealWidth(420),
                TextAlignment = TextAlignment.Center,
                X = Btncancel.Right + Application.GetRealWidth(100),
                X = Btncancel.Right + Application.GetRealWidth(50),
                TextSize = 16,
                Text = common.DeviceEpointName,
            };
@@ -712,7 +783,8 @@
                Height = Application.GetRealHeight(140),
                Width = Application.GetRealWidth(200),
                TextAlignment = TextAlignment.CenterRight,
                X = Btntitle.Right + Application.GetRealWidth(100),
                X = Btntitle.Right + Application.GetRealWidth(50),
                TextSize = 14,
            };
            timetype.AddChidren(Btncomplete);
@@ -773,6 +845,7 @@
                            TextID = MyInternationalizationString.open,
                            TextAlignment = TextAlignment.CenterLeft,
                            TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
                            TextSize = 14,
                        };
                        openrowlayout.AddChidren(btnopen);
@@ -803,6 +876,7 @@
                            Width = Application.GetRealWidth(600),
                            TextAlignment = TextAlignment.CenterLeft,
                            TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
                            TextSize = 14,
                        };
                        closerowlayout.AddChidren(btnclose);
@@ -898,6 +972,7 @@
                            Height = Application.GetRealHeight(180),
                            //SelectedBackgroundColor = 0xfffe5e00,
                            TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                            TextSize = 14,
                        };
                        openrowlayout.AddChidren(btnopen);
@@ -928,6 +1003,7 @@
                            Width = Application.GetRealWidth(300),
                            Height = Application.GetRealHeight(180),
                            TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                            TextSize = 14,
                        };
                        closerowlayout.AddChidren(btnclose);
@@ -1024,6 +1100,7 @@
                            TextID = MyInternationalizationString.open,
                            TextAlignment = TextAlignment.CenterLeft,
                            TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
                            TextSize = 14,
                        };
                        openrowlayout.AddChidren(btnopen);
@@ -1054,6 +1131,7 @@
                            Width = Application.GetRealWidth(600),
                            TextAlignment = TextAlignment.CenterLeft,
                            TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
                            TextSize = 14,
                        };
                        closerowlayout.AddChidren(btnclose);
@@ -1097,7 +1175,7 @@
                            dictionary(deviceConditionsInfo, "AttriButeData1", "0");
                            if (iASZonedevice.IasDeviceType == 13)
                            {
                                SelectedDeviceStatuscondition = "no";
                                SelectedDeviceStatuscondition = "";
                                btnopen.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                btnclose.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                openBtnSelected.Visible = false;
@@ -1165,6 +1243,7 @@
                                        Width = Application.GetRealWidth(600),
                                        TextAlignment = TextAlignment.CenterLeft,
                                        TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
                                        TextSize = 14,
                                    };
                                    timeoutrowlayout.AddChidren(btntimeout);
@@ -1179,7 +1258,7 @@
                                    timeoutrowlayout.AddChidren(timeoutBtnSelected);
                                    EventHandler<MouseEventArgs> timeoutclick = (sender, e) =>
                                    {
                                        SelectedDeviceStatuscondition = "no";
                                        SelectedDeviceStatuscondition = "";
                                        btnopen.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                        btnclose.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                        openBtnSelected.Visible = false;
@@ -1198,7 +1277,6 @@
                                    #endregion
                                }
                                break;
                            case 40:
                                {
                                    devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 - 20 - 50);
@@ -1238,7 +1316,6 @@
                                    openrowlayout.LineColor = ZigbeeColor.Current.LogicBackgroundColor;
                                }
                                break;
                            case 277:
                                {
                                    devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 - 20 - 50);
@@ -1325,6 +1402,7 @@
                            TextAlignment = TextAlignment.CenterLeft,
                            TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
                            Text = Language.StringByID(MyInternationalizationString.OnOffSwitch) + common.DeviceEpoint.ToString(),
                            TextSize = 14,
                            //SelectedBackgroundColor = 0xfffe5e00,
                        };
                        buttonRow.AddChidren(button);
@@ -1332,12 +1410,12 @@
                        var buttonSelected = new SelectedButton();
                        buttonRow.AddChidren(buttonSelected);
                        EventHandler<MouseEventArgs> buttonclick = (sender, e) =>
                       {
                           buttonSelected.Visible = true;
                           SelectedDeviceStatuscondition = "OnOffSwitch";
                           button.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                        {
                            buttonSelected.Visible = true;
                            SelectedDeviceStatuscondition = "OnOffSwitch";
                            button.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                       };
                        };
                        buttonRow.MouseUpEventHandler += buttonclick;
                        button.MouseUpEventHandler += buttonclick;
                        buttonSelected.MouseUpEventHandler += buttonclick;
@@ -1353,50 +1431,131 @@
                    break;
                case DeviceType.DoorLock:
                    {
                        #region  ------
                        var doorlockifonlist = Send.ReadDoorLockIfon("ccccccfffe300347");
                        //var list = Send.ReadDoorLockIfon(common.DeviceAddr);
                        var pra = new UserCenter.MemberListInfoPra();
                        string result = await UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
                        var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result);
                        Send.UserList.Clear();
                        for (int i = 0; i < listInfo.Count; i++)
                        {
                            var membership = new Send.MembershipIfon();
                            var membershipifon = listInfo[i];
                            for (int j = 0; j < doorlockifonlist.Count; j++)
                            {
                                ///查找成员以及成员门锁触发源(1按键/3卡/15指纹)
                                if (doorlockifonlist[j].CloudAccountId == membershipifon.SubAccountDistributedMark)
                                {
                                    membership.UserIdMode.Add(doorlockifonlist[j].UserIdMode);
                                    membership.MembershipName = membershipifon.UserName;
                                    membership.MembershipId = membershipifon.SubAccountDistributedMark;
                                }
                            }
                            if (membership.UserIdMode.Count != 0)
                            {
                                ///过滤掉重复数据;
                                var str = Send.UserList.Find((c) => { return c.MembershipId == membership.MembershipId; });
                                if (str == null)
                                {
                                    Send.UserList.Add(membership);
                                }
                            }
                        }
                        #endregion
                        flMain.RemoveFromParent();
                        var memberList = new MemberList();
                        UserView.HomePage.Instance.AddChidren(memberList);
                        UserView.HomePage.Instance.PageIndex += 1;
                        MemberList.action += () => { flMain.RemoveFromParent(); };
                        MemberList.edit = false;
                        memberList.Show(common);
                    }
                    break;
                case DeviceType.TemperatureSensor:
                    {
                        string current = Language.StringByID(MyInternationalizationString.current);
                        devicefra.Y = Application.GetRealHeight(1920 - 140 - 600);
                        devicefra.Height = Application.GetRealHeight(140 + 600);
                        var temperatureSensor = common as TemperatureSensor;
                        SelectedDeviceStatuscondition = "TemperatureSensor";
                        #region  布局View
                        var PickerViewfra = new FrameLayout
                        {
                            Y = Application.GetRealHeight(140),
                            Height = Application.GetRealHeight(600),
                        };
                        devicefra.AddChidren(PickerViewfra);
                        var mUIPickerView = new UIPickerView
                        {
                            Height = Application.GetRealHeight(600 - 5),
                        };
                        PickerViewfra.AddChidren(mUIPickerView);
                        var mList1 = new List<string> { ">", "<", "=", "≥", "≤" };
                        var mList2 = new List<string>();
                        var mList3 = new List<string>();
                        for (int i = 1; i <=100; i++)
                        {
                            mList2.Add(i.ToString());
                        }
                        if (temperatureSensor.SensorDiv == 1) {
                            mList3.Add("℃");
                            dictionary(deviceConditionsInfo, "Cluster_ID", "1026");
                            dictionary(deviceConditionsInfo, "AttriButeId", "0");
                            dictionary(deviceConditionsInfo, "Range", "1");//1:等于AttriButeData1时触发动作
                            dictionary(deviceConditionsInfo, "AttriButeData1", "50");//默认温度值50℃
                            dictionary(deviceConditionsInfo, "AttriButeData2", "0");
                        } else {
                            mList3.Add("%");
                            dictionary(deviceConditionsInfo, "Cluster_ID", "1029");
                            dictionary(deviceConditionsInfo, "AttriButeId", "0");
                            dictionary(deviceConditionsInfo, "Range", "1");//1:等于AttriButeData1时触发动作
                            dictionary(deviceConditionsInfo, "AttriButeData1", "50");//默认湿度值50%
                            dictionary(deviceConditionsInfo, "AttriButeData2", "0");
                        }
                        mUIPickerView.setNPicker(mList1, mList2, mList3);
                        #endregion
                        mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) =>
                        {
                            SelectedDeviceStatuscondition = "TemperatureSensor";
                            dictionary(deviceConditionsInfo, "AttriButeData1", mList2[s2]);
                            switch (mList1[s1])
                            {
                                case ">": {
                                        dictionary(deviceConditionsInfo, "Range", "0");
                                    } break;
                                case "<": {
                                        dictionary(deviceConditionsInfo, "Range", "2");
                                    } break;
                                case "=": {
                                        dictionary(deviceConditionsInfo, "Range", "1");
                                    } break;
                                case "≥": {
                                        dictionary(deviceConditionsInfo, "Range", "6");
                                    } break;
                                case "≤": {
                                        dictionary(deviceConditionsInfo, "Range", "7");
                                    } break;
                            }
                        };
                        //默认=,50
                        int index1 = 2, index2 = 49;
                        if (edit && devices != null)
                        {
                            SelectedDeviceStatuscondition = "";
                            string s = "";
                            switch (devices["Range"])
                            {
                                case "0":
                                    {
                                        s = ">";
                                    }
                                    break;
                                case "1":
                                    {
                                        s = "=";
                                    }
                                    break;
                                case "2":
                                    {
                                        s = "<";
                                    }
                                    break;
                                case "6":
                                    {
                                        s = "≥";
                                    }
                                    break;
                                case "7":
                                    {
                                        s = "≤";
                                    }
                                    break;
                            }
                            //查找索引
                            index1 = mList1.IndexOf(s);
                            index2 = mList2.IndexOf(devices["AttriButeData1"]);
                        }
                        ///更新最新状态;
                        mUIPickerView.setCurrentItems(index1, index2, 0);
                    }
                    break;
            }
            Btncomplete.MouseUpEventHandler += (sender2, e2) =>
@@ -1410,9 +1569,9 @@
                {
                    if (!edit)
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                               Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                                               Language.StringByID(MyInternationalizationString.complete));
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                                    Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                                   Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        return;
                    }
@@ -1438,7 +1597,7 @@
            deviceConditionsInfo.Add(Key, Value);
        }
    }
}