黄学彪
2020-12-17 9f326f4000847e6167d8166fa2f6a66f53cb3734
ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorBindTargetSettionForm.cs
@@ -30,41 +30,45 @@
        /// </summary>
        private int lightLevelCount = -1;
        /// <summary>
        /// 灯光的配置
        /// PIR传感器的Lux值
        /// </summary>
        private IASZone.ConfigureParamates Lightconfigure = null;
        private int pirLuxValue = -1;
        /// <summary>
        /// 旧数据
        /// pir的配置信息
        /// </summary>
        private List<int> listOldData = new List<int>();
        private IASZone.ConfigureParamates pirConfigure = null;
        /// <summary>
        /// 数据是否改变
        /// </summary>
        private bool isDataChanged = false;
        #endregion
        #region ■ 初始化_____________________________
        #region ■ 初始化_____________________________
        /// <summary>
        /// 画面显示(底层会固定调用此方法,借以完成画面创建)
        /// </summary>
        /// <param name="i_iasZone">传感器设备</param>
        public void ShowForm(IASZone i_iasZone)
        /// <param name="i_iasZone">传感器设备</param>
        public void ShowForm(IASZone i_iasZone)
        {
            UserView.HomePage.Instance.ScrollEnabled = false;
            this.ScrollEnabled = false;
            deviceIASZone = i_iasZone;
            //设置头部信息
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uBindTargets));
            HdlThreadLogic.Current.RunThread(() =>
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uBindTargets));
            HdlThreadLogic.Current.RunThread(() =>
            {
                //初始化中部信息
                this.InitMiddleFrame();
            });
        }
        /// <summary>
        /// 初始化中部信息
        /// </summary>
        private async void InitMiddleFrame()
            });
        }
        /// <summary>
        /// 初始化中部信息
        /// </summary>
        private async void InitMiddleFrame()
        {
            this.listEsixtDevice.Clear();
@@ -78,7 +82,7 @@
            {
                //初始化控件
                this.InitMiddleControl();
            });
            });
        }
        /// <summary>
@@ -89,89 +93,224 @@
            //清空bodyFrame
            this.ClearBodyFrame();
            var listView = new VerticalListControl(23);
            listView.Height = bodyFrameLayout.Height;
            //当前亮度值
            string txtValue = Language.StringByID(R.MyInternationalizationString.uNowBrightnessValue);
            var frameNowLinght = new FrameRowControl();
            frameNowLinght.UseClickStatu = false;
            frameNowLinght.BackgroundColor = UserCenterColor.Current.White;
            bodyFrameLayout.AddChidren(frameNowLinght);
            var btnLux = frameNowLinght.AddLeftCaption(txtValue + ":" + pirLuxValue + "lux", 900);
            HdlThreadLogic.Current.RunThread(async () =>
            {
                //查看模板时,不允许编辑
                if (Common.Config.Instance.Home.IsShowTemplate == true)
                {
                    return;
                }
                while (this.Parent != null)
                {
                    //他们说这个东西要2秒刷新一次  获取PIR传感器的【lux值】
                    this.pirLuxValue = await HdlDevicePirSensorLogic.Current.GetPirSensorLux(deviceIASZone, ShowErrorMode.NO);
                    if (pirLuxValue != -1)
                    {
                        HdlThreadLogic.Current.RunMain(() =>
                        {
                            btnLux.Text = txtValue + ":" + pirLuxValue + "lux";
                        }, ShowErrorMode.NO);
                    }
                    await Task.Delay(2000);
                }
            }, ShowErrorMode.NO);
            var listView = new VerticalListControl(0);
            listView.Y = Application.GetRealHeight(150);
            listView.Height = Application.GetRealHeight(585);
            listView.BackgroundColor = UserCenterColor.Current.White;
            bodyFrameLayout.AddChidren(listView);
            //照明等级Frame(因展开折叠,优先声明)
            var frameLight = new FrameLayout();
            frameLight.Height = Application.GetRealHeight(363);
            frameLight.Height = 0;
            //如果满足-----------------------------------------------------------
            //如果满足低亮度环境
            var frameIfRow = new FrameRowControl(listView.rowSpace / 2);
            frameIfRow.UseClickStatu = false;
            listView.AddChidren(frameIfRow);
            frameIfRow.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uIfSatisfied), 600);
            //右箭头
            var btnIfRinght = frameIfRow.AddMostRightEmptyIcon(58, 58);
            frameIfRow.ChangedChidrenBindMode(btnIfRinght, ChidrenBindMode.NotBind);
            btnIfRinght.UseClickStatu = false;
            btnIfRinght.UnSelectedImagePath = "Item/RightNext.png";
            btnIfRinght.SelectedImagePath = "Item/Down.png";
            btnIfRinght.IsSelected = true;
            btnIfRinght.ButtonClickEvent += (sender, e) =>
            frameIfRow.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uIfTheLowBrightnessEnvironmentIsSatisfied), 700);
            //开关按钮
            var btnSwitch = frameIfRow.AddMostRightSwitchIcon();
            btnSwitch.IsSelected = this.pirConfigure.levelEnable;
            btnSwitch.ButtonClickEvent += (sender, e) =>
            {
                btnIfRinght.IsSelected = !btnIfRinght.IsSelected;
                this.isDataChanged = true;
                this.pirConfigure.levelEnable = !btnSwitch.IsSelected;
                btnSwitch.IsSelected = this.pirConfigure.levelEnable;
                //展开折叠
                frameLight.Height = frameLight.Height > 10 ? 0 : Application.GetRealHeight(363);
                if (frameLight.Height > 10)
                {
                    frameLight.Height = 0;
                    listView.Height -= Application.GetRealHeight(558);
                }
                else
                {
                    frameLight.Height = Application.GetRealHeight(558);
                    listView.Height += Application.GetRealHeight(558);
                }
            };
            //底线
            frameIfRow.AddBottomLine();
            if (btnSwitch.IsSelected == true)
            {
                frameLight.Height = Application.GetRealHeight(558);
                listView.Height += Application.GetRealHeight(558);
            }
            listView.AddChidren(frameLight);
            //照明等级
            var btnLight = new NormalViewControl(500, 50, true);
            btnLight.TextID = R.MyInternationalizationString.uLightLevel;
            btnLight.TextSize = 12;
            btnLight.TextColor = UserCenterColor.Current.TextGrayColor1;
            btnLight.X = Application.GetRealWidth(138);
            btnLight.Y = Application.GetRealHeight(58);
            frameLight.AddChidren(btnLight);
            //照度值
            var btnLightView = new NormalViewControl(500, 50, true);
            btnLightView.TextID = R.MyInternationalizationString.uIlluminationValue;
            btnLightView.TextSize = 12;
            btnLightView.TextColor = UserCenterColor.Current.TextGrayColor1;
            btnLightView.X = HdlControlResourse.XXLeft;
            btnLightView.Y = Application.GetRealHeight(71);
            frameLight.AddChidren(btnLightView);
            var btnLightValue = new NormalViewControl(200, 50, true);
            btnLightValue.Y = btnLightView.Y;
            btnLightValue.X = Application.GetRealWidth(196);
            btnLightValue.TextSize = 12;
            btnLightValue.TextColor = UserCenterColor.Current.TextGrayColor1;
            btnLightValue.Text = this.pirConfigure.levelSize.ToString() + "lux";
            frameLight.AddChidren(btnLightValue);
            //进度条
            var seekBar = new SeekBarControl(900);
            var seekBar = new SeekBarControl(940);
            seekBar.Gravity = Gravity.Frame;
            seekBar.X = Application.GetRealWidth(125);
            seekBar.Y = Application.GetRealHeight(142);
            seekBar.MaxValue = lightLevelCount - 1;
            seekBar.X = Application.GetRealWidth(80);
            seekBar.Y = Application.GetRealHeight(159);
            seekBar.MaxValue = lightLevelCount;
            seekBar.ProgressBarColor = 0xfffdb500;
            frameLight.AddChidren(seekBar);
            seekBar.ProgressChangedEvent += (div, value) =>
            {
                //因为它的等级刻度从左往右是从大到小的
                this.Lightconfigure.levelSize = lightLevelCount - value;
                this.isDataChanged = true;
                this.pirConfigure.levelSize = value;
                btnLightValue.Text = this.pirConfigure.levelSize.ToString() + "lux";
            };
            seekBar.Progress = lightLevelCount - Lightconfigure.levelSize;
            seekBar.Progress = pirConfigure.levelSize;
            //低
            var btnDown = new NormalViewControl(300, 50, true);
            btnDown.TextID = R.MyInternationalizationString.uLow;
            btnDown.TextSize = 12;
            btnDown.TextColor = UserCenterColor.Current.TextGrayColor3;
            btnDown.X = Application.GetRealWidth(138);
            btnDown.Y = btnLight.Bottom + Application.GetRealHeight(115);
            frameLight.AddChidren(btnDown);
            //高
            var btnUp = new NormalViewControl(300, 50, true);
            btnUp.TextID = R.MyInternationalizationString.uHigh;
            btnUp.TextSize = 12;
            btnUp.TextColor = UserCenterColor.Current.TextGrayColor3;
            btnUp.TextAlignment = TextAlignment.CenterRight;
            btnUp.X = frameLight.Width - ControlCommonResourse.XXLeft - Application.GetRealWidth(300);
            btnUp.Y = btnDown.Y;
            frameLight.AddChidren(btnUp);
            //减号
            var btnMinus = new IconViewControl(104);
            btnMinus.UseClickStatu = true;
            btnMinus.X = Application.GetRealWidth(847);
            btnMinus.Y = Application.GetRealHeight(45);
            btnMinus.UnSelectedImagePath = "Item/MinusSign2.png";
            btnMinus.SelectedImagePath = "Item/MinusSign2Selected.png";
            frameLight.AddChidren(btnMinus);
            btnMinus.ButtonClickEvent += (sender, e) =>
            {
                if (seekBar.Progress <= 0)
                {
                    return;
                }
                this.isDataChanged = true;
                seekBar.Progress -= 1;
                this.pirConfigure.levelSize = seekBar.Progress;
                btnLightValue.Text = this.pirConfigure.levelSize.ToString() + "lux";
            };
            //加号
            var btnPlus = new IconViewControl(104);
            btnPlus.UseClickStatu = true;
            btnPlus.X = btnMinus.Right;
            btnPlus.Y = btnMinus.Y;
            btnPlus.UnSelectedImagePath = "Item/PlusSign2.png";
            btnPlus.SelectedImagePath = "Item/PlusSign2Selected.png";
            frameLight.AddChidren(btnPlus);
            btnPlus.ButtonClickEvent += (sender, e) =>
            {
                if (seekBar.Progress >= 100)
                {
                    return;
                }
                this.isDataChanged = true;
                seekBar.Progress += 1;
                this.pirConfigure.levelSize = seekBar.Progress;
                btnLightValue.Text = this.pirConfigure.levelSize.ToString() + "lux";
            };
            //查看模板时,不允许编辑
            if (Common.Config.Instance.Home.IsShowTemplate == true)
            {
                btnSwitch.CanClick = false;
                seekBar.Enable = false;
                btnMinus.CanClick = false;
                btnPlus.CanClick = false;
            }
            //暗
            var btnDark = new NormalViewControl(120, 50, true);
            btnDark.TextID = R.MyInternationalizationString.uDark;
            btnDark.TextSize = 12;
            btnDark.TextAlignment = TextAlignment.Center;
            btnDark.TextColor = UserCenterColor.Current.TextGrayColor3;
            btnDark.X = Application.GetRealWidth(70);
            btnDark.Y = seekBar.Bottom;
            frameLight.AddChidren(btnDark);
            var btnZero = new NormalViewControl(120, 50, true);
            btnZero.X = btnDark.X;
            btnZero.Y = btnDark.Bottom;
            btnZero.TextSize = 12;
            btnZero.TextAlignment = TextAlignment.Center;
            btnZero.TextColor = UserCenterColor.Current.TextGrayColor3;
            btnZero.Text = "0lux";
            frameLight.AddChidren(btnZero);
            //亮
            var btnBright = new NormalViewControl(120, 50, true);
            btnBright.TextID = R.MyInternationalizationString.uBright;
            btnBright.TextSize = 12;
            btnBright.TextAlignment = TextAlignment.Center;
            btnBright.TextColor = UserCenterColor.Current.TextGrayColor3;
            btnBright.X = frameLight.Width - Application.GetRealWidth(120 + 50);
            btnBright.Y = btnDark.Y;
            frameLight.AddChidren(btnBright);
            var btnPersent = new NormalViewControl(120, 50, true);
            btnPersent.X = btnBright.X;
            btnPersent.Y = btnBright.Bottom;
            btnPersent.TextSize = 12;
            btnPersent.TextAlignment = TextAlignment.Center;
            btnPersent.TextColor = UserCenterColor.Current.TextGrayColor3;
            btnPersent.Text = "100lux";
            frameLight.AddChidren(btnPersent);
            var btnIcon = new IconViewControl(58);
            btnIcon.X = Application.GetRealWidth(109);
            btnIcon.Y = Application.GetRealHeight(431);
            btnIcon.UnSelectedImagePath = "Item/Tips.png";
            frameLight.AddChidren(btnIcon);
            //在室内条件下,黄昏照度值约为10lux,阴天照度值约为5~50lux,请根据实际需要进行调节
            var btnTipView = new NormalViewControl(790, 100, true);
            btnTipView.TextColor = UserCenterColor.Current.TextGrayColor1;
            btnTipView.TextSize = 12;
            btnTipView.IsMoreLines = true;
            btnTipView.TextAlignment = TextAlignment.Center;
            btnTipView.TextID = R.MyInternationalizationString.uPirBrightnessTipMsg;
            btnTipView.X = btnIcon.Right + Application.GetRealWidth(23);
            btnTipView.Y = btnIcon.Y;
            frameLight.AddChidren(btnTipView);
            //底线
            var btnIfLine = new NormalViewControl(seekBar.Width, ControlCommonResourse.BottomLineHeight, false);
            btnIfLine.X = btnDown.X;
            btnIfLine.Y = btnDown.Bottom + Application.GetRealHeight(69);
            var btnIfLine = new NormalViewControl(frameLight.Width, HdlControlResourse.BottomLineHeight, false);
            btnIfLine.Y = frameLight.Height - HdlControlResourse.BottomLineHeight;
            btnIfLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
            frameLight.AddChidren(btnIfLine);
            //执行对象的Frame(因展开折叠,优先声明)
            var frameResult = new FrameListControl(23);
            var frameResult = new FrameListControl(29);
            frameResult.Height = Application.GetRealHeight(310);
            //就会--------------------------------------------------
            listView.rowSpace = Application.GetRealHeight(20);//切换间距
            var frameDo = new FrameRowControl(listView.rowSpace / 2);
            frameDo.UseClickStatu = false;
            listView.AddChidren(frameDo);
@@ -187,7 +326,16 @@
            {
                btnResultRight.IsSelected = !btnResultRight.IsSelected;
                //展开折叠
                frameResult.Height = frameResult.Height > 10 ? 0 : Application.GetRealHeight(310);
                if (frameResult.Height > 10)
                {
                    frameResult.Height = 0;
                    listView.Height -= Application.GetRealHeight(310);
                }
                else
                {
                    frameResult.Height = Application.GetRealHeight(310);
                    listView.Height += Application.GetRealHeight(310);
                }
            };
            //底线
            frameDo.AddBottomLine();
@@ -195,10 +343,11 @@
            listView.AddChidren(frameResult);
            //触发目标
            var rowTarget = new FrameRowControl(listView.rowSpace / 2);
            rowTarget.LeftOffset = Application.GetRealWidth(138) - ControlCommonResourse.XXLeft;
            rowTarget.LeftOffset = Application.GetRealWidth(138) - HdlControlResourse.XXLeft;
            frameResult.AddChidren(rowTarget);
            rowTarget.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uTriggerTarget), 600);
            rowTarget.AddRightArrow();
            rowTarget.AddBottomLine();
            var btnTargetView = rowTarget.AddMostRightView("", 700);
            rowTarget.ButtonClickEvent += (sender, e) =>
            {
@@ -211,41 +360,53 @@
                    if (listSaveDevice.Count > 0)
                    {
                        //随便丢一个名字上去
                        var device = Common.LocalDevice.Current.GetDevice(listSaveDevice[0]);
                        btnTargetView.Text = Common.LocalDevice.Current.GetDeviceEpointName(device);
                        var device = HdlDeviceCommonLogic.Current.GetDevice(listSaveDevice[0]);
                        btnTargetView.Text = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                    }
                    else
                    {
                        btnTargetView.Text = string.Empty;
                    }
                    this.isDataChanged = true;
                };
            };
            foreach (string mainkey in this.listEsixtDevice)
            {
                var device = Common.LocalDevice.Current.GetDevice(mainkey);
                var device = HdlDeviceCommonLogic.Current.GetDevice(mainkey);
                if (device != null)
                {
                    //随便丢一个名字上去
                    btnTargetView.Text = Common.LocalDevice.Current.GetDeviceEpointName(device);
                    btnTargetView.Text = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                    break;
                }
            }
            //延时
            string strMinute = Lightconfigure.transitionTime / 60 + Language.StringByID(R.MyInternationalizationString.uMinute);
            string strSecond = Lightconfigure.transitionTime % 60 + Language.StringByID(R.MyInternationalizationString.uSecond);
            var rowDelay = new FrameRowControl(listView.rowSpace / 2);
            rowDelay.LeftOffset = Application.GetRealWidth(138) - ControlCommonResourse.XXLeft;
            frameResult.AddChidren(rowDelay);
            rowDelay.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uDelayed), 300);
            rowDelay.AddRightArrow();
            var btnDelayView = rowDelay.AddMostRightView(strMinute + strSecond, 700);
            rowDelay.ButtonClickEvent += (sender, e) =>
            //延时(半自动没有延时的概念)
            if (this.pirConfigure.mode == 1)
            {
                this.ShowDelayListTime(btnDelayView);
            };
                string strMinute = string.Empty;
                if (pirConfigure.transitionTime / 60 > 0)
                {
                    strMinute = pirConfigure.transitionTime / 60 + Language.StringByID(R.MyInternationalizationString.uMinute);
                }
                string strSecond = pirConfigure.transitionTime % 60 + Language.StringByID(R.MyInternationalizationString.uSecond);
                var rowDelay = new FrameRowControl(listView.rowSpace / 2);
                rowDelay.LeftOffset = Application.GetRealWidth(138) - HdlControlResourse.XXLeft;
                frameResult.AddChidren(rowDelay);
                rowDelay.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uDelayed), 300);
                rowDelay.AddRightArrow();
                var btnDelayView = rowDelay.AddMostRightView(strMinute + strSecond, 700);
                rowDelay.ButtonClickEvent += (sender, e) =>
                {
                    this.ShowDelayListTime(btnDelayView);
                };
                //查看模板时,不允许编辑
                if (Common.Config.Instance.Home.IsShowTemplate == true)
                {
                    rowDelay.CanClick = false;
                }
            }
            //保存
            var btnSave = new BottomClickButton();
            btnSave.TextID = R.MyInternationalizationString.uSave;
@@ -258,6 +419,11 @@
                    this.SavePirSensorData();
                });
            };
            //查看模板时,不允许编辑
            if (Common.Config.Instance.Home.IsShowTemplate == true)
            {
                btnSave.CanClick = false;
            }
        }
        #endregion
@@ -272,19 +438,23 @@
        {
            //打开进度条
            this.ShowProgressBar();
            this.listOldData.Clear();
            //获取绑定目标设备
            List<CommonDevice> listDevice = await HdlDeviceBindLogic.Current.GetBindTargetDevice(this.deviceIASZone);
            List<CommonDevice> listDevice = HdlDeviceBindLogic.Current.GetBindTargetDevice(this.deviceIASZone);
            if (listDevice == null)
            {
                //关闭进度条
                this.CloseProgressBar(ShowReLoadMode.YES);
                return false;
            }
            this.listEsixtDevice.Clear();
            foreach (var device in listDevice)
            {
                this.listEsixtDevice.Add(Common.LocalDevice.Current.GetDeviceMainKeys(device));
                string mainKeys = HdlDeviceCommonLogic.Current.GetDeviceMainKeys(device);
                if (listEsixtDevice.Contains(mainKeys) == false)
                {
                    listEsixtDevice.Add(mainKeys);
                }
            }
            //获取PIR传感器的【光感等级总刻度】
            this.lightLevelCount = await HdlDevicePirSensorLogic.Current.GetPirLightAbilitySize(this.deviceIASZone);
@@ -294,17 +464,28 @@
                this.CloseProgressBar(ShowReLoadMode.YES);
                return false;
            }
            //获取灯光的配置信息
            this.Lightconfigure = await HdlDevicePirSensorLogic.Current.GetPirSensorLightSettion(deviceIASZone);
            if (Lightconfigure == null)
            if (lightLevelCount > 100)
            {
                lightLevelCount = 100;
            }
            //获取pir的配置信息
            this.pirConfigure = HdlDevicePirSensorLogic.Current.GetPirSensorLightSettion(deviceIASZone);
            if (pirConfigure == null)
            {
                //关闭进度条
                this.CloseProgressBar(ShowReLoadMode.YES);
                return false;
            }
            //记录旧数据
            this.listOldData.Add(Lightconfigure.levelSize);
            this.listOldData.Add(Lightconfigure.transitionTime);
            //获取PIR传感器的【lux值】
            this.pirLuxValue = await HdlDevicePirSensorLogic.Current.GetPirSensorLux(deviceIASZone);
            if (pirLuxValue == -1)
            {
                //关闭进度条
                this.CloseProgressBar(ShowReLoadMode.YES);
                return false;
            }
            //关闭进度条
            this.CloseProgressBar();
@@ -346,13 +527,13 @@
            var listTemp2 = new List<string>() { "00" + strSecond };
            listSecond.Add(listTemp2);
            string value = (this.Lightconfigure.transitionTime / 60).ToString().PadLeft(2, '0') + strMinute;
            string value = (this.pirConfigure.transitionTime / 60).ToString().PadLeft(2, '0') + strMinute;
            int index1 = listfirst.IndexOf(value);
            if (index1 == -1)
            {
                index1 = 0;
            }
            value = (this.Lightconfigure.transitionTime % 60).ToString().PadLeft(2, '0') + strSecond;
            value = (this.pirConfigure.transitionTime % 60).ToString().PadLeft(2, '0') + strSecond;
            int index2 = listSecond[index1].IndexOf(value);
            if (index2 == -1)
            {
@@ -361,12 +542,19 @@
            PickerView.ShowSecondary(listfirst, listSecond, (value1, value2) =>
             {
                 btnTime.Text = listfirst[value1] + listSecond[value1][value2];
                 string textValue = listSecond[value1][value2];
                 if (value1 != 0)
                 {
                     textValue = listfirst[value1].TrimStart('0') + textValue;
                 }
                 btnTime.Text = textValue;
                 int minute = Convert.ToInt32(listfirst[value1].Substring(0, 2));
                 int second = Convert.ToInt32(listSecond[value1][value2].Substring(0, 2));
                 int delaySecond = minute * 60 + second;
                 //更改数值
                 this.Lightconfigure.transitionTime = delaySecond;
                 this.pirConfigure.transitionTime = delaySecond;
                 this.isDataChanged = true;
             },
             index1, index2,
             Language.StringByID(R.MyInternationalizationString.uDelayed),
@@ -381,10 +569,9 @@
        /// <summary>
        /// 保存Pir传感器数据
        /// </summary>
        private async void SavePirSensorData()
        private void SavePirSensorData()
        {
            if (listOldData[0] == Lightconfigure.levelSize && listOldData[1] == Lightconfigure.transitionTime
                && listSaveDevice == null)
            if (this.isDataChanged == false)
            {
                HdlThreadLogic.Current.RunMain(() =>
                {
@@ -401,52 +588,85 @@
            {
                //删除绑定目标
                var listDelDevice = new List<CommonDevice>();
                var listLightDevice = new List<CommonDevice>();
                foreach (string mainKey in listEsixtDevice)
                {
                    if (this.listSaveDevice.Contains(mainKey) == false)
                    {
                        listDelDevice.Add(Common.LocalDevice.Current.GetDevice(mainKey));
                        var myDevice = HdlDeviceCommonLogic.Current.GetDevice(mainKey);
                        listDelDevice.Add(myDevice);
                        if (myDevice.Type == DeviceType.DimmableLight)
                        {
                            //如果是调光器的话,特殊一点
                            listLightDevice.Add(myDevice);
                        }
                    }
                }
                if (listDelDevice.Count > 0)
                {
                    //删除目标
                    var listSucess = await HdlDeviceBindLogic.Current.DeleteDeviceTarget(deviceIASZone, listDelDevice);
                    var listSucess = HdlDeviceBindLogic.Current.DeleteDeviceTarget(deviceIASZone, listDelDevice);
                    if (listSucess == null || listSucess.Count == 0)
                    {
                        //关闭进度条
                        this.CloseProgressBar();
                        return;
                    }
                    if (listLightDevice.Count > 0)
                    {
                        //删除调光器镞
                        listSucess = HdlDeviceBindLogic.Current.DeleteDeviceTarget(deviceIASZone, listLightDevice, 8);
                        if (listSucess == null || listSucess.Count == 0)
                        {
                            //关闭进度条
                            this.CloseProgressBar();
                            return;
                        }
                    }
                }
                //绑定目标
                var listBind = new List<CommonDevice>();
                listLightDevice = new List<CommonDevice>();
                foreach (var mainKey in listSaveDevice)
                {
                    listBind.Add(Common.LocalDevice.Current.GetDevice(mainKey));
                    var myDevice = HdlDeviceCommonLogic.Current.GetDevice(mainKey);
                    listBind.Add(myDevice);
                    if (myDevice.Type == DeviceType.DimmableLight)
                    {
                        //如果是调光器的话,特殊一点
                        listLightDevice.Add(myDevice);
                    }
                }
                if (listSaveDevice.Count > 0)
                {
                    //绑定目标
                    var listSucess = await HdlDeviceBindLogic.Current.BindDeviceTarget(deviceIASZone, listBind);
                    var listSucess = HdlDeviceBindLogic.Current.BindDeviceTarget(deviceIASZone, listBind);
                    if (listSucess == null || listSucess.Count == 0)
                    {
                        //关闭进度条
                        this.CloseProgressBar();
                        return;
                    }
                    if (listLightDevice.Count > 0)
                    {
                        //绑定调光镞
                        listSucess = HdlDeviceBindLogic.Current.BindDeviceTarget(deviceIASZone, listLightDevice, 8);
                        if (listSucess == null || listSucess.Count == 0)
                        {
                            //关闭进度条
                            this.CloseProgressBar();
                            return;
                        }
                    }
                }
            }
            if (listOldData[0] != Lightconfigure.levelSize || listOldData[1] != Lightconfigure.transitionTime)
            //保存pir配置信息
            var result = HdlDevicePirSensorLogic.Current.SetPirSensorSettion(this.deviceIASZone, this.pirConfigure);
            if (result == false)
            {
                //保存灯光配置
                var result = await HdlDevicePirSensorLogic.Current.SetPirSensorSettion(this.deviceIASZone, this.Lightconfigure);
                if (result == false)
                {
                    //关闭进度条
                    this.CloseProgressBar();
                    return;
                }
                //关闭进度条
                this.CloseProgressBar();
                return;
            }
            //关闭进度条
            this.CloseProgressBar();
@@ -461,15 +681,6 @@
        #endregion
        #region ■ 一般方法___________________________
        /// <summary>
        /// 界面关闭
        /// </summary>
        public override void CloseFormBefore()
        {
            UserView.HomePage.Instance.ScrollEnabled = true;
            base.CloseFormBefore();
        }
        #endregion
    }