JLChen
2021-04-01 1ebda09d954de4409c5a7f3ba3c3ee75626ec7c0
HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotPage.cs
@@ -17,13 +17,9 @@
        #region ■ 变量声明___________________________
        /// <summary>
        /// 电池图标
        /// 电池控件
        /// </summary>
        private IconViewControl btnBatteryIcon = null;
        /// <summary>
        /// 电池百分比控件
        /// </summary>
        private NormalViewControl btnBatteryView = null;
        private BatteryPersentControl btnBattery = null;
        /// <summary>
        /// 吸力调节图标
        /// </summary>
@@ -60,6 +56,14 @@
        /// 扫地机器人数据
        /// </summary>
        private WeepRobotData weepRobotData = new WeepRobotData();
        /// <summary>
        /// 是否在控制方向中
        /// </summary>
        private bool directionControling = false;
        /// <summary>
        /// 方向控制结束时间
        /// </summary>
        private DateTime directionFinishTime = DateTime.Now.AddDays(-1);
        #endregion
@@ -90,25 +94,16 @@
        /// </summary>
        private void InitFrameWhiteContent1()
        {
            //电池图标
            this.btnBatteryIcon = new IconViewControl(24);
            btnBatteryIcon.X = base.btnRoomName.Right + Application.GetRealWidth(24);
            btnBatteryIcon.Y = base.btnRoomName.Y - (btnBatteryIcon.IconSize - base.btnRoomName.Height) / 2;
            btnBatteryIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/Battery.png";
            FrameWhiteCentet1.AddChidren(btnBatteryIcon);
            //电池百分比
            this.btnBatteryView = new NormalViewControl(30, 16, true);
            btnBatteryView.X = btnBatteryIcon.Right + Application.GetRealWidth(4);
            btnBatteryView.Y = btnBatteryIcon.Y + (btnBatteryIcon.Height - Application.GetRealHeight(16)) / 2;
            btnBatteryView.Text = this.weepRobotData.ElectricityLeft + "%";
            btnBatteryView.TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel;
            btnBatteryView.TextColor = CSS_Color.PromptingColor1;
            FrameWhiteCentet1.AddChidren(btnBatteryView);
            //电池控件
            this.btnBattery = new BatteryPersentControl();
            btnBattery.X = base.btnRoomName.Right + Application.GetRealWidth(24);
            FrameWhiteCentet1.AddChidren(btnBattery);
            btnBattery.Y = base.btnRoomName.Y - (btnBattery.Height - base.btnRoomName.Height) / 2;
            btnBattery.InitControl();
            //配置变更事件
            base.SettionFinishEvent += () =>
            {
                btnBatteryIcon.X = base.btnRoomName.Right + Application.GetRealWidth(24);
                btnBatteryView.X = btnBatteryIcon.Right + Application.GetRealWidth(4);
                btnBattery.X = base.btnRoomName.Right + Application.GetRealWidth(24);
            };
            //初始化中间的那个图像控制控件
@@ -122,25 +117,28 @@
            ImageControl.InitControl("FunctionIcon/Electrical/WeepRobot/ControlEnable.png", "FunctionIcon/Electrical/WeepRobot/ControlDisable.png",
                "FunctionIcon/Electrical/WeepRobot/ControlUp.png", "FunctionIcon/Electrical/WeepRobot/ControlDown.png",
                "FunctionIcon/Electrical/WeepRobot/ControlLeft.png", "FunctionIcon/Electrical/WeepRobot/ControlRight.png");
            //控制事件(不支持Enable和Disable,都归为Mid)
            ImageControl.ControlEvent += (select) =>
            //控制事件(只有enable,Mid,left,right,up,down。 enable:手指松开方向键后触发)
            ImageControl.NotRecoverControlEvent += (select) =>
            {
                //发送控制方向命令
                this.SendDirectionControlComand(select);
            };
            //吸力调节
            this.btnSuctionIcon = new IconViewControl(28);
            btnSuctionIcon.Y = ImageControl.Bottom + Application.GetRealHeight(64);
            btnSuctionIcon.X = Application.GetRealWidth(33);
            //btnSuctionIcon.X = Application.GetRealWidth(33);
            btnSuctionIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/Suction.png";
            btnSuctionIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/SuctionSelect.png";
            FrameWhiteCentet1.AddChidren(btnSuctionIcon);
            btnSuctionIcon.ButtonClickEvent += (sender, e) =>
            {
                //显示吸力调节选择界面
                this.ShowSuctionSelectView();
            };
            this.btnSuctionView = new NormalViewControl(80, 54, true);
            btnSuctionView.Y = btnSuctionIcon.Bottom + Application.GetRealHeight(10);
            btnSuctionView.X = btnSuctionIcon.X - (Application.GetRealWidth(80) - btnSuctionIcon.Width) / 2;
            //btnSuctionView.X = btnSuctionIcon.X - (Application.GetRealWidth(80) - btnSuctionIcon.Width) / 2;
            btnSuctionView.TextAlignment = TextAlignment.TopCenter;
            btnSuctionView.TextSize = CSS_FontSize.PromptFontSize_FirstLevel;
            btnSuctionView.Text = Language.StringByID(StringId.SuctionAdjustment);
@@ -149,13 +147,15 @@
            //充电图标
            this.btnChargeIcon = new IconViewControl(28);
            btnChargeIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/Charge.png";
            btnChargeIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/ChargeSelect.png";
            btnChargeIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/ChargeSelect.png";
            btnChargeIcon.Y = btnSuctionIcon.Y;
            btnChargeIcon.X = btnSuctionIcon.Right + Application.GetRealWidth(50);
            //btnChargeIcon.X = btnSuctionIcon.Right + Application.GetRealWidth(50);
            btnChargeIcon.Gravity = Gravity.CenterHorizontal;
            FrameWhiteCentet1.AddChidren(btnChargeIcon);
            btnChargeIcon.ButtonClickEvent += (sender, e) =>
            {
                //发送充电命令
                this.SendComand("mode", "chargego");
            };
            var btnChargeView = new NormalViewControl(80, 18, true);
            btnChargeView.Y = btnSuctionView.Y;
@@ -165,15 +165,22 @@
            btnChargeView.TextID = StringId.Charge;
            FrameWhiteCentet1.AddChidren(btnChargeView);
            //2021.03.09 舍弃掉静音功能
            btnSuctionIcon.X = btnChargeIcon.X - btnSuctionIcon.IconSize - Application.GetRealWidth(50);
            btnSuctionView.X = btnSuctionIcon.X - (Application.GetRealWidth(80) - btnSuctionIcon.Width) / 2;
            //声音图标
            this.btnVoiceIcon = new IconViewControl(28);
            btnVoiceIcon.Y = btnSuctionIcon.Y;
            btnVoiceIcon.X = btnChargeIcon.Right + Application.GetRealWidth(50);
            btnVoiceIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/Voice.png";
            btnVoiceIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/VoiceSelect.png";
            FrameWhiteCentet1.AddChidren(btnVoiceIcon);
            btnVoiceIcon.IsSelected = true;
            //FrameWhiteCentet1.AddChidren(btnVoiceIcon);
            btnVoiceIcon.ButtonClickEvent += (sender, e) =>
            {
                //发送静音命令
                this.SendComand("voice_switch", this.weepRobotData.VoiceSwitch == true ? "false" : "true");
            };
            this.btnVoiceView = new NormalViewControl(80, 18, true);
            btnVoiceView.Y = btnSuctionView.Y;
@@ -181,16 +188,19 @@
            btnVoiceView.TextAlignment = TextAlignment.TopCenter;
            btnVoiceView.TextSize = CSS_FontSize.PromptFontSize_FirstLevel;
            btnVoiceView.TextID = StringId.Mute;
            FrameWhiteCentet1.AddChidren(btnVoiceView);
            //FrameWhiteCentet1.AddChidren(btnVoiceView);
            //清扫模式图标
            this.btnModeIcon = new IconViewControl(28);
            btnModeIcon.Y = btnSuctionIcon.Y;
            btnModeIcon.X = btnVoiceIcon.Right + Application.GetRealWidth(50);
            //btnModeIcon.X = btnVoiceIcon.Right + Application.GetRealWidth(50);
            btnModeIcon.X = btnChargeIcon.Right + Application.GetRealWidth(50);
            btnModeIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/Clean.png";
            FrameWhiteCentet1.AddChidren(btnModeIcon);
            btnModeIcon.ButtonClickEvent += (sender, e) =>
            {
                //显示清扫模式选择
                this.ShowCleanModeSelectView();
            };
            this.btnModeView = new NormalViewControl(80, 54, true);
            btnModeView.Y = btnSuctionView.Y;
@@ -216,31 +226,161 @@
            btnTitleName.TextID = StringId.WeepRobot;
            FrameWhiteCentet2.AddChidren(btnTitleName);
            //2021.03.09 舍弃耗材管理
            //耗材管理
            var rowManment = new FrameRowControl();
            rowManment.Height = Application.GetRealHeight(50);
            rowManment.Width = FrameWhiteCentet2.Width;
            rowManment.Y = Application.GetRealHeight(75);
            FrameWhiteCentet2.AddChidren(rowManment);
            rowManment.AddLeftCaption(Language.StringByID(StringId.ConsumablesManagement), 200);
            rowManment.AddBottomLine();
            rowManment.AddRightArrow();
            rowManment.ButtonClickEvent += (sender, e) =>
            {
            };
            //var rowManment = new FrameRowControl();
            //rowManment.Height = Application.GetRealHeight(50);
            //rowManment.Width = FrameWhiteCentet2.Width;
            //rowManment.Y = Application.GetRealHeight(75);
            //FrameWhiteCentet2.AddChidren(rowManment);
            //rowManment.AddLeftCaption(Language.StringByID(StringId.ConsumablesManagement), 200);
            //rowManment.AddBottomLine();
            //rowManment.AddRightArrow();
            //rowManment.ButtonClickEvent += (sender, e) =>
            //{
            //    var form = new TuyaWeepRobotConsumablesMagPage();
            //    form.AddForm(this.device, this.weepRobotData);
            //};
            //历史记录
            var rowHistory = new FrameRowControl();
            rowHistory.Height = Application.GetRealHeight(50);
            rowHistory.Width = FrameWhiteCentet2.Width;
            rowHistory.Y = rowManment.Bottom;
            //rowHistory.Y = rowManment.Bottom;
            rowHistory.Y = Application.GetRealHeight(75);
            FrameWhiteCentet2.AddChidren(rowHistory);
            rowHistory.AddLeftCaption(Language.StringByID(StringId.HistoryLog), 200);
            rowHistory.AddBottomLine();
            rowHistory.AddRightArrow();
            rowHistory.ButtonClickEvent += (sender, e) =>
            {
                var form = new TuyaWeepRobotHistoryPage();
                form.AddForm(this.weepRobotData);
            };
        }
        #endregion
        #region ■ 吸力调节选择_______________________
        /// <summary>
        /// 显示吸力调节选择界面
        /// </summary>
        private void ShowSuctionSelectView()
        {
            //整个灰色界面
            var frameBack = new Dialog();
            var dialogBody = new NormalFrameLayout();
            frameBack.AddChidren(dialogBody);
            dialogBody.ButtonClickEvent = (sender, e) =>
            {
                frameBack.Close();
            };
            frameBack.Show();
            //菜单控件(吸力调节)
            var menuContr = new DialogTitleMenuControl(3, Language.StringByID(StringId.SuctionAdjustment));
            menuContr.X = Application.GetRealWidth(5);
            menuContr.Y = Application.GetRealHeight(241);
            menuContr.Width = Application.GetRealWidth(160);
            menuContr.Height = Application.GetRealHeight(200);
            dialogBody.AddChidren(menuContr);
            //吸力1档
            var iconPath = this.weepRobotData.Suction == "quiet" ? "FunctionIcon/Electrical/WeepRobot/SuctionSelect.png" : "FunctionIcon/Electrical/WeepRobot/Suction.png";
            menuContr.AddRowMenu(Language.StringByID(StringId.SuctionOneGear), iconPath, this.weepRobotData.Suction == "quiet", () =>
            {
                frameBack.Close();
                //发送吸力命令
                this.SendComand("suction", "quiet");
            });
            //吸力2档
            iconPath = this.weepRobotData.Suction == "normal" ? "FunctionIcon/Electrical/WeepRobot/SuctionSelect.png" : "FunctionIcon/Electrical/WeepRobot/Suction.png";
            menuContr.AddRowMenu(Language.StringByID(StringId.SuctionTwoGear), iconPath, this.weepRobotData.Suction == "normal", () =>
            {
                frameBack.Close();
                //发送吸力命令
                this.SendComand("suction", "normal");
            });
            //吸力3档
            iconPath = this.weepRobotData.Suction == "strong" ? "FunctionIcon/Electrical/WeepRobot/SuctionSelect.png" : "FunctionIcon/Electrical/WeepRobot/Suction.png";
            menuContr.AddRowMenu(Language.StringByID(StringId.SuctionThreeGear), iconPath, this.weepRobotData.Suction == "strong", () =>
            {
                frameBack.Close();
                //发送吸力命令
                this.SendComand("suction", "strong");
            });
        }
        #endregion
        #region ■ 清扫模式选择_______________________
        /// <summary>
        /// 显示清扫模式选择界面
        /// </summary>
        private void ShowCleanModeSelectView()
        {
            //整个灰色界面
            var frameBack = new Dialog();
            var dialogBody = new NormalFrameLayout();
            frameBack.AddChidren(dialogBody);
            dialogBody.ButtonClickEvent = (sender, e) =>
            {
                frameBack.Close();
            };
            frameBack.Show();
            //2021.03.09 舍弃随机清扫
            //菜单控件(清扫模式)
            //var menuContr = new DialogTitleMenuControl(4, Language.StringByID(StringId.CleanMode));
            var menuContr = new DialogTitleMenuControl(3, Language.StringByID(StringId.CleanMode));
            menuContr.X = Application.GetRealWidth(210);
            menuContr.Y = Application.GetRealHeight(197);
            menuContr.Width = Application.GetRealWidth(160);
            //menuContr.Height = Application.GetRealHeight(243);
            menuContr.Height = Application.GetRealHeight(203);
            dialogBody.AddChidren(menuContr);
            //自动清扫
            var iconPath = this.weepRobotData.Mode == "smart" ? "FunctionIcon/Electrical/WeepRobot/AutoModeSelect.png" : "FunctionIcon/Electrical/WeepRobot/AutoMode.png";
            menuContr.AddRowMenu(Language.StringByID(StringId.AutoClean), iconPath, this.weepRobotData.Mode == "smart", () =>
            {
                frameBack.Close();
                //发送模式命令
                this.SendComand("mode", "smart");
            });
            //随机清扫
            //iconPath = this.weepRobotData.Mode == "random" ? "FunctionIcon/Electrical/WeepRobot/FixedPointModeSelect.png" : "FunctionIcon/Electrical/WeepRobot/FixedPointMode.png";
            //menuContr.AddRowMenu(Language.StringByID(StringId.RandomClean), iconPath, this.weepRobotData.Mode == "random", () =>
            //{
            //    frameBack.Close();
            //    //发送模式命令
            //    this.SendComand("mode", "random");
            //});
            //螺旋清扫
            iconPath = this.weepRobotData.Mode == "spiral" ? "FunctionIcon/Electrical/WeepRobot/AreaModeSelect.png" : "FunctionIcon/Electrical/WeepRobot/AreaMode.png";
            menuContr.AddRowMenu(Language.StringByID(StringId.SpiralClean), iconPath, this.weepRobotData.Mode == "spiral", () =>
            {
                frameBack.Close();
                //发送模式命令
                this.SendComand("mode", "spiral");
            });
            //沿墙清扫
            iconPath = this.weepRobotData.Mode == "wall_follow" ? "FunctionIcon/Electrical/WeepRobot/WallModeSelect.png" : "FunctionIcon/Electrical/WeepRobot/WallMode.png";
            menuContr.AddRowMenu(Language.StringByID(StringId.WallClean), iconPath, this.weepRobotData.Mode == "wall_follow", () =>
            {
                frameBack.Close();
                //发送模式命令
                this.SendComand("mode", "wall_follow");
            });
        }
        #endregion
@@ -267,23 +407,60 @@
        #region ■ 发送各种命令_______________________
        /// <summary>
        /// 发送开关命令
        /// 发送控制方向命令
        /// </summary>
        private void SendSwitchComand()
        /// <param name="direction">只有enable,Mid,left,right,up,down。 enable:手指松开方向键后触发</param>
        private void SendDirectionControlComand(DirectionEnum direction)
        {
            //this.btnSwitch.CanClick = false;
            if (direction == DirectionEnum.Mid)
            {
                //发送开关命令
                this.SendComand(FunctionAttributeKey.OnOff, this.weepRobotData.Cleaning == true ? "off" : "on");
            }
            else if (direction == DirectionEnum.Enable)
            {
                //停
                this.directionControling = false;
                this.directionFinishTime = DateTime.Now;
                this.SendComand("direction_control", "stop");
            }
            else if (direction == DirectionEnum.Left)
            {
                //左
                this.directionControling = true;
                this.SendComand("direction_control", "turn_left");
            }
            else if (direction == DirectionEnum.Right)
            {
                //右
                this.directionControling = true;
                this.SendComand("direction_control", "turn_right");
            }
            else if (direction == DirectionEnum.Up)
            {
                //上
                this.directionControling = true;
                this.SendComand("direction_control", "forward");
            }
            else if (direction == DirectionEnum.Down)
            {
                //下
                this.directionControling = true;
                this.SendComand("direction_control", "backward");
            }
        }
            //string statu = this.btnSwitch.IsSelected == true ? "off" : "on";
            //HdlThreadLogic.Current.RunThread(() =>
            //{
            //    var dic = new Dictionary<string, string>();
            //    dic.Add(FunctionAttributeKey.OnOff, statu);
            //    Control.Ins.SendWriteCommand(this.device, dic, true);
            //    HdlThreadLogic.Current.RunMain(() =>
            //    {
            //        this.btnSwitch.CanClick = true;
            //    });
            //});
        /// <summary>
        /// 发送命令
        /// </summary>
        private void SendComand(string key, string i_value)
        {
            HdlThreadLogic.Current.RunThread(() =>
            {
                var dic = new Dictionary<string, string>();
                dic.Add(key, i_value);
                Control.Ins.SendWriteCommand(this.device, dic, true);
            }, ShowErrorMode.NO);
        }
        #endregion
@@ -299,21 +476,92 @@
            if (this.weepRobotData.VoiceSwitch == true)
            {
                //需要切换图标
                if (this.btnVoiceIcon.UnSelectedImagePath != "FunctionIcon/Electrical/WeepRobot/Mute.png")
                {
                    this.btnVoiceIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/Mute.png";
                    this.btnVoiceIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/MuteSelect.png";
                }
                this.btnVoiceIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/Mute.png";
                this.btnVoiceIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/MuteSelect.png";
            }
            else
            {
                //需要切换图标
                if (this.btnVoiceIcon.UnSelectedImagePath != "FunctionIcon/Electrical/WeepRobot/Voice.png")
                this.btnVoiceIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/Voice.png";
                this.btnVoiceIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/VoiceSelect.png";
            }
            //如果是清扫状态
            if (this.weepRobotData.Cleaning == true)
            {
                //吸力调节可用
                this.btnSuctionIcon.IsSelected = true;
                this.btnSuctionIcon.CanClick = true;
                //声音不可用
                //this.btnVoiceIcon.IsSelected = false;
                //this.btnVoiceIcon.CanClick = false;
                //清扫模式不可用
                this.btnModeIcon.IsSelected = false;
                this.btnModeIcon.CanClick = false;
                //方向按键不可用
                if (this.directionControling == false && (DateTime.Now - this.directionFinishTime).TotalSeconds >= 2)
                {
                    this.btnVoiceIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/Voice.png";
                    this.btnVoiceIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/VoiceSelect.png";
                    //在手动控制方向的过程中,不允许变更图片,并且结束之后,2秒内不接受任何反馈
                    this.ImageControl.SetDirectionImage(DirectionEnum.Disable);
                }
            }
            else
            {
                //吸力调节不可用
                this.btnSuctionIcon.IsSelected = false;
                this.btnSuctionIcon.CanClick = false;
                //声音可用
                //this.btnVoiceIcon.IsSelected = true;
                //this.btnVoiceIcon.CanClick = true;
                //清扫模式可用
                this.btnModeIcon.IsSelected = true;
                this.btnModeIcon.CanClick = true;
                //变更控制控件的图片
                if (this.directionControling == false && (DateTime.Now - this.directionFinishTime).TotalSeconds >= 2)
                {
                    //在手动控制方向的过程中,不允许变更图片,并且结束之后,2秒内不接受任何反馈
                    this.ImageControl.SetDirectionImage(DirectionEnum.Enable);
                }
            }
            //清扫模式
            if (this.weepRobotData.Mode == "random")
            {
                //自动清扫
                this.btnModeIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/AutoMode.png";
                this.btnModeIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/AutoModeSelect.png";
                this.btnModeView.TextID = StringId.AutoClean;
            }
            //2021.03.09 舍弃随机清扫
            //else if (this.weepRobotData.Mode == "smart")
            //{
            //    //随机清扫
            //    this.btnModeIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/FixedPointMode.png";
            //    this.btnModeIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/FixedPointModeSelect.png";
            //    this.btnModeView.TextID = StringId.RandomClean;
            //}
            else if (this.weepRobotData.Mode == "wall_follow")
            {
                //沿墙清扫
                this.btnModeIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/WallMode.png";
                this.btnModeIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/WallModeSelect.png";
                this.btnModeView.TextID = StringId.WallClean;
            }
            else if (this.weepRobotData.Mode == "spiral")
            {
                //螺旋清扫
                this.btnModeIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/AreaMode.png";
                this.btnModeIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/AreaModeSelect.png";
                this.btnModeView.TextID = StringId.SpiralClean;
            }
            else
            {
                //清扫模式
                this.btnModeIcon.UnSelectedImagePath = "FunctionIcon/Electrical/WeepRobot/Clean.png";
                this.btnModeIcon.SelectedImagePath = "FunctionIcon/Electrical/WeepRobot/CleanSelect.png";
                this.btnModeView.TextID = StringId.CleanMode;
            }
            //电池电量
            this.btnBattery.SetValue(this.weepRobotData.ElectricityLeft);
        }
        #endregion
@@ -325,41 +573,42 @@
        /// </summary>
        private void RefreshNowDeviceStatuMemory(Function i_LocalDevice)
        {
            foreach (var data in i_LocalDevice.attributes)
            for (int i = 0; i < i_LocalDevice.attributes.Count; i++)
            {
                var data = i_LocalDevice.attributes[i];
                //开关
                if (data.key == "on_off") { this.weepRobotData.Open = data.realValue.ToLower() == "on"; }
                if (data.key == "on_off") { this.weepRobotData.Cleaning = data.state.ToLower() == "on"; }
                //寻找机器
                else if (data.key == "seek") { this.weepRobotData.SearchRobot = data.realValue.ToLower() == "true"; }
                else if (data.key == "seek") { this.weepRobotData.SearchRobot = data.state.ToLower() == "true"; }
                //边刷重置
                else if (data.key == "reset_edge_brush") { this.weepRobotData.ResetEdgeBrush = data.realValue.ToLower() == "true"; }
                else if (data.key == "reset_edge_brush") { this.weepRobotData.ResetEdgeBrush = data.state.ToLower() == "true"; }
                //滚刷重置
                else if (data.key == "reset_roll_brush") { this.weepRobotData.ResetRollBrush = data.realValue.ToLower() == "true"; }
                else if (data.key == "reset_roll_brush") { this.weepRobotData.ResetRollBrush = data.state.ToLower() == "true"; }
                //滤网重置
                else if (data.key == "reset_filter") { this.weepRobotData.ResetFilter = data.realValue.ToLower() == "true"; }
                else if (data.key == "reset_filter") { this.weepRobotData.ResetFilter = data.state.ToLower() == "true"; }
                //吸力选择
                else if (data.key == "suction") { this.weepRobotData.Suction = data.realValue; }
                else if (data.key == "suction") { this.weepRobotData.Suction = data.state; }
                //工作模式
                else if (data.key == "mode") { this.weepRobotData.Mode = data.realValue; }
                else if (data.key == "mode") { this.weepRobotData.Mode = data.state; }
                //清扫方向   
                else if (data.key == "direction_control") { this.weepRobotData.DirectionControl = data.realValue; }
                else if (data.key == "direction_control") { this.weepRobotData.DirectionControl = data.state; }
                //声音开关
                else if (data.key == "voice_switch") { this.weepRobotData.VoiceSwitch = data.realValue.ToLower() == "true"; }
                else if (data.key == "voice_switch") { this.weepRobotData.VoiceSwitch = data.state.ToLower() == "true"; }
                //清扫面积
                else if (data.key == "clean_area")
                {
                    var value = data.realValue;
                    var value = data.state;
                    if (value != string.Empty)
                    {
                        this.weepRobotData.CleanArea = Convert.ToInt32(value);
                    }
                }
                //清扫记录   
                else if (data.key == "clean_record") { this.weepRobotData.CleanRecord = data.realValue; }
                else if (data.key == "clean_record") { this.weepRobotData.CleanRecord = data.state; }
                //边刷寿命
                else if (data.key == "edge_brush")
                {
                    var value = data.realValue;
                    var value = data.state;
                    if (value != string.Empty)
                    {
                        this.weepRobotData.EdgeBrush = Convert.ToInt32(value);
@@ -368,7 +617,7 @@
                //滚刷寿命
                else if (data.key == "roll_brush")
                {
                    var value = data.realValue;
                    var value = data.state;
                    if (value != string.Empty)
                    {
                        this.weepRobotData.RollBrush = Convert.ToInt32(value);
@@ -377,7 +626,7 @@
                //滤网寿命
                else if (data.key == "filter")
                {
                    var value = data.realValue;
                    var value = data.state;
                    if (value != string.Empty)
                    {
                        this.weepRobotData.Filter = Convert.ToInt32(value);
@@ -386,7 +635,7 @@
                //清扫时间
                else if (data.key == "clean_time")
                {
                    var value = data.realValue;
                    var value = data.state;
                    if (value != string.Empty)
                    {
                        this.weepRobotData.CleanTime = Convert.ToInt32(value);
@@ -395,7 +644,7 @@
                //剩余电量   
                else if (data.key == "electricity_left")
                {
                    var value = data.realValue;
                    var value = data.state;
                    if (value != string.Empty)
                    {
                        this.weepRobotData.ElectricityLeft = Convert.ToInt32(value);
@@ -411,12 +660,12 @@
        /// <summary>
        /// 扫地机器人的数据
        /// </summary>
        private class WeepRobotData
        public class WeepRobotData
        {
            /// <summary>
            /// 是否打开
            /// 是否处于清扫中
            /// </summary>
            public bool Open = true;
            public bool Cleaning = false;
            /// <summary>
            /// 寻找机器
            /// </summary>
@@ -438,7 +687,7 @@
            /// </summary>
            public string Suction = string.Empty;
            /// <summary>
            /// 工作模式(random:自动清扫 smart:定点清扫 wall_follow:沿墙清扫 spiral:区域清扫 chargego:充电)
            /// 工作模式(smart:自动清扫 random:随机清扫 wall_follow:沿墙清扫 spiral:螺旋清扫 chargego:充电)
            /// </summary>
            public string Mode = string.Empty;
            /// <summary>
@@ -470,7 +719,7 @@
            /// </summary>
            public int Filter = 0;
            /// <summary>
            /// 清扫时间(0-432000)
            /// 清扫时间(0-432000) 单位为分钟
            /// </summary>
            public int CleanTime = 0;
            /// <summary>