xm
2020-07-21 9a4b76398009cf76c508d61f7e48fb6f5cb7ac2d
ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
New file
@@ -0,0 +1,1426 @@
using System;
using Shared.Common;
using Shared.R;
using Shared;
using ZigBee.Device;
using System.Collections.Generic;
namespace Shared.Phone.Device.Logic
{
    public class CurrentDeviceState
    {
        /// <summary>
        /// 选中该设备功能作为条件或者目标的视图方法
        /// </summary>
        /// <param name="common">Common.</param>
        public static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit, string str,int intValue)
        {
            #region  -------界面布局部分
            //不让当前界面滑动
            UserView.HomePage.Instance.ScrollEnabled = false;
            CompleteView completeView = new CompleteView();
            flMain.AddChidren(completeView.Show(1));
            completeView.Btntitle.Text = LocalDevice.Current.GetDeviceEpointName(common);
            EventHandler<MouseEventArgs> clickcancel = (sender, e) =>
            {
                if (!edit)
                {
                    UserView.HomePage.Instance.ScrollEnabled = true;
                }
                flMain.RemoveFromParent();
            };
            flMain.MouseUpEventHandler += clickcancel;
            completeView.Btncancel.MouseUpEventHandler += clickcancel;
            mFunView openView = new mFunView();
            openView.frameLayout.Y = Application.GetRealHeight(140 + 20);
            //completeView.Show(l).AddChidren(openView.Show());
            openView.titleBtn.TextID = MyInternationalizationString.open;
            mFunView closeView = new mFunView();
            closeView.frameLayout.Y = Application.GetRealHeight(140 + 20+160);
            // closeView.frameLayout.Y = openView.frameLayout.Bottom;
            //completeView.Show(l).AddChidren(closeView.Show());
            closeView.titleBtn.TextID = MyInternationalizationString.close;
            mFunView takebackView = new mFunView();
             takebackView.frameLayout.Y = Application.GetRealHeight(140+20+160+160);
            // takebackView.frameLayout.Y = closeView.frameLayout.Bottom;
            //completeView.Show(l).AddChidren(takebackView.Show());
            takebackView.titleBtn.TextID = MyInternationalizationString.onoff;
            takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
            #region  -------进度条控件
            var horizontalSeekBarRowLien = new RowLayout
            {
                //Y = openView.frameLayout.Bottom,
                Width = Application.GetRealWidth(915),
                Height = Application.GetRealHeight(160),
                X = Application.GetRealWidth(80),
                LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
            };
            var horizontalSeekBarVol = new DiyImageSeekBar
            {
                //Y = openView.frameLayout.Bottom,//进度条父控件Y坐标
                X = Application.GetRealWidth(80),//进度条X坐标
                Width = Application.GetRealWidth(915),//进度条的长度
                Height = Application.GetRealHeight(160),//进度条父控件高度
                IsProgressTextShow = true,//显示百分比
                IsClickable = false,//进度条是否滑动
                ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected,//选中进度条颜色
                ThumbImagePath = "ZigeeLogic/progressbtn2.png",//进度条按钮图标
                ThumbImageHeight = Application.GetRealHeight(56),//进度条按钮图标的高度(默认正方形:宽和高一样)
                ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor,
                ProgressTextSize = 9,//显示百分比字体大小12
                SeekBarViewHeight = Application.GetRealHeight(5),//进度条的高度10
            };
            #endregion
            #endregion
            #region  -------数据处理部分
            #region  -------条件
            Dictionary<string, string> deviceConditionsInfo = new Dictionary<string, string>();
            Send.dictionary(deviceConditionsInfo, "Type", "1");
            Send.dictionary(deviceConditionsInfo, "IsValid", "1");
            Send.dictionary(deviceConditionsInfo, "MacAddr", common.DeviceAddr);
            Send.dictionary(deviceConditionsInfo, "Epoint", common.DeviceEpoint.ToString());
            Dictionary<string, string> devices = null;
            #endregion
            #region  -------目标
            Dictionary<string, object> actionsInfo = new Dictionary<string, object>();
            List<Dictionary<string, string>> taskListInfo = new List<Dictionary<string, string>>();
            actionsInfo.Add("LinkType", 0);
            actionsInfo.Add("DeviceAddr", common.DeviceAddr);
            actionsInfo.Add("Epoint", common.DeviceEpoint);
            actionsInfo.Add("Time", 0);
            actionsInfo.Add("TaskList", taskListInfo);
            List<Dictionary<string, string>> TaskList = null;
            #endregion
            var _if=str.Split('_');
            if (edit)
            {
                if (_if[0]== "condition")
                {
                    var deviceinfo = Common.Logic.CurrentLogic.Conditions[intValue];
                    if (deviceinfo["Type"] == "1")
                    {
                        if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"])
                        {
                            devices = deviceinfo;
                        }
                    }
                    //foreach (var deviceinfo in Common.Logic.CurrentLogic.Conditions)
                    //{
                    //    if (deviceinfo["Type"] == "1")
                    //    {
                    //        if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"])
                    //        {
                    //            devices = deviceinfo;
                    //            break;
                    //        }
                    //    }
                    //}
                }
                else
                {
                    var deviceinfo = Common.Logic.CurrentLogic.Actions[intValue];
                    if (deviceinfo["LinkType"].ToString() == "0")
                    {
                        if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString())
                        {
                            TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>;
                        }
                    }
                    //foreach (var deviceinfo in Common.Logic.CurrentLogic.Actions)
                    //{
                    //    if (deviceinfo["LinkType"].ToString() == "0")
                    //    {
                    //        if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString())
                    //        {
                    //            TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>;
                    //            break;
                    //        }
                    //    }
                    //}
                }
            }
            #endregion
            int l = 0;
            string SelectedDeviceStatus = "";
            switch (common.Type)
            {
                ///灯光
                case DeviceType.OnOffOutput:
                    {
                        if (_if[0] == "condition")
                        {
                            l = 2;
                            Send.dictionary(deviceConditionsInfo, "Cluster_ID", "6");
                            Send.dictionary(deviceConditionsInfo, "AttriButeId", "0");
                            Send.dictionary(deviceConditionsInfo, "Range", "1");
                            Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
                            #region  灯光View
                            completeView.Show(l).AddChidren(openView.Show());
                            completeView.Show(l).AddChidren(closeView.Show());
                            closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                            #endregion
                            ///点击确认事件
                            openView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                            {
                                openView.selectedIconBtn.Visible = true;
                                closeView.selectedIconBtn.Visible = false;
                                openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                                closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                SelectedDeviceStatus = "OnOffOutput";
                                Send.dictionary(deviceConditionsInfo, "AttriButeData1", "1");//默认值
                            };
                            ///点击取消事件
                            closeView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                            {
                                openView.selectedIconBtn.Visible = false;
                                closeView.selectedIconBtn.Visible = true;
                                openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                                SelectedDeviceStatus = "OnOffOutput";
                                Send.dictionary(deviceConditionsInfo, "AttriButeData1", "0");//默认值
                            };
                            if (edit && devices != null)
                            {
                                if (devices["AttriButeId"] == "0")
                                {
                                    if (devices["AttriButeData1"] == "1")
                                    {
                                        openView.selectedIconBtn.Visible = true;
                                        closeView.selectedIconBtn.Visible = false;
                                        openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                                        closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                    }
                                    else
                                    {
                                        openView.selectedIconBtn.Visible = false;
                                        closeView.selectedIconBtn.Visible = true;
                                        openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                        closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                                    }
                                }
                            }
                        }
                        else
                        {
                            l = 3;
                            #region  ----初始化设备功能数据----
                            Dictionary<string, string> switchdictionary = new Dictionary<string, string>();
                            Send.dictionary(switchdictionary, "TaskType", "1");
                            Send.dictionary(switchdictionary, "Data1", "0");
                            Send.dictionary(switchdictionary, "Data2", "0");
                            taskListInfo.Add(switchdictionary);
                            #endregion
                            #region  灯光View
                            completeView.Show(l).AddChidren(openView.Show());
                            completeView.Show(l).AddChidren(closeView.Show());
                            //closeView.frameLayout.Y = openView.frameLayout.Bottom;
                            completeView.Show(l).AddChidren(takebackView.Show());
                            //takebackView.frameLayout.Y = closeView.frameLayout.Bottom;
                            takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                            #endregion
                            ///确认事件
                            openView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                            {
                                SelectedDeviceStatus = "yes";
                                openView.selectedIconBtn.Visible = true;
                                closeView.selectedIconBtn.Visible = false;
                                takebackView.selectedIconBtn.Visible = false;
                                Send.dictionary(switchdictionary, "Data1", "1");//默认值
                            };
                            ///取消事件
                            closeView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                            {
                                SelectedDeviceStatus = "yes";
                                openView.selectedIconBtn.Visible = false;
                                closeView.selectedIconBtn.Visible = true;
                                takebackView.selectedIconBtn.Visible = false;
                                Send.dictionary(switchdictionary, "Data1", "0");//默认值
                            };
                            //取反
                            takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                            {
                                SelectedDeviceStatus = "yes";
                                openView.selectedIconBtn.Visible = false;
                                closeView.selectedIconBtn.Visible = false;
                                takebackView.selectedIconBtn.Visible = true;
                                Send.dictionary(switchdictionary, "Data1", "2");//默认值
                            };
                            if (edit && TaskList != null)
                            {
                                foreach (var value in TaskList)
                                {
                                    if (value["TaskType"] == "1")
                                    {
                                        var data1 = value["Data1"];
                                        Send.dictionary(switchdictionary, "Data1", data1);
                                        openView.selectedIconBtn.Visible = false;
                                        closeView.selectedIconBtn.Visible = false;
                                        takebackView.selectedIconBtn.Visible = false;
                                        switch (data1)
                                        {
                                            case "1":
                                                {
                                                    openView.selectedIconBtn.Visible = true;
                                                }
                                                break;
                                            case "0":
                                                {
                                                    closeView.selectedIconBtn.Visible = true;
                                                }
                                                break;
                                            case "2":
                                                {
                                                    takebackView.selectedIconBtn.Visible = true;
                                                }
                                                break;
                                        }
                                    }
                                }
                            }
                        }
                    }
                    break;
                case DeviceType.IASZone:
                    {
                        var iASZonedevice = common as IASZone;
                        if (iASZonedevice.DeviceID != 1026)
                        {
                            break;
                        }
                        Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1280");
                        Send.dictionary(deviceConditionsInfo, "AttriButeId", "1281");
                        Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
                        int timeValue = 0;
                        ///点击确认事件
                        openView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                        {
                            SelectedDeviceStatus = "IASZone";
                            openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                            closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                            openView.selectedIconBtn.Visible = true;
                            closeView.selectedIconBtn.Visible = false;
                            if (iASZonedevice.IasDeviceType == 13||iASZonedevice.IasDeviceType == 541)
                            {
                                closeView.selectedIconBtn.Visible = true;
                            }
                            Send.dictionary(deviceConditionsInfo, "Range", "5");
                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "1");
                        };
                        ///点击取消事件
                        closeView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                        {
                            SelectedDeviceStatus = "IASZone";
                            openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                            closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                            openView.selectedIconBtn.Visible = false;
                            closeView.selectedIconBtn.Visible = true;
                            Send.dictionary(deviceConditionsInfo, "Range", "1");
                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "0");
                            if (iASZonedevice.IasDeviceType == 13|| iASZonedevice.IasDeviceType == 541)
                            {
                                SelectedDeviceStatus = "";
                                closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                var ignoreTime = new IgnoreTime();
                                UserView.HomePage.Instance.AddChidren(ignoreTime);
                                UserView.HomePage.Instance.PageIndex += 1;
                                ignoreTime.Show(common, closeView.titleBtn.Text, edit, timeValue, _if[1]);
                            }
                        };
                        switch (iASZonedevice.IasDeviceType)
                        {
                            case 13:
                                {
                                    openView.titleBtn.TextID = MyInternationalizationString.someone;
                                    closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1;
                                    closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
                                    closeView.selectedIconBtn.Visible = true;
                                    completeView.Show(2).AddChidren(openView.Show());
                                    completeView.Show(2).AddChidren(closeView.Show());
                                }
                                break;
                            case 21:
                            case 22:
                                {
                                    #region
                                    var view = completeView.Show(3);
                                    openView.titleBtn.TextID = MyInternationalizationString.logicopen;
                                    closeView.titleBtn.TextID = MyInternationalizationString.logicclose;
                                    view.AddChidren(openView.Show());
                                    view.AddChidren(closeView.Show());
                                    takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    takebackView.selectedIconBtn.Visible = true;
                                    takebackView.titleBtn.TextID = MyInternationalizationString.closetimeout;
                                    takebackView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
                                    view.AddChidren(takebackView.Show());
                                    takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                                    {
                                        SelectedDeviceStatus = "";
                                        openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                        closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                        openView.selectedIconBtn.Visible = false;
                                        closeView.selectedIconBtn.Visible = false;
                                        var ignoreTime = new IgnoreTime();
                                        UserView.HomePage.Instance.AddChidren(ignoreTime);
                                        UserView.HomePage.Instance.PageIndex += 1;
                                        ignoreTime.Show(common, takebackView.titleBtn.Text, edit, timeValue, _if[1]);
                                    };
                                    #endregion
                                }
                                break;
                            case 40:
                                {
                                    openView.titleBtn.TextID = MyInternationalizationString.smokescreen;
                                    openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    completeView.Show(1).AddChidren(openView.Show());
                                }
                                break;
                            case 42:
                                {
                                    openView.titleBtn.TextID = MyInternationalizationString.waterleakage;
                                    closeView.titleBtn.TextID = MyInternationalizationString.noleakage;
                                    closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    completeView.Show(2).AddChidren(openView.Show());
                                    completeView.Show(2).AddChidren(closeView.Show());
                                }
                                break;
                            case 43:
                                {//召元说的
                                    openView.titleBtn.TextID = MyInternationalizationString.gas;
                                    openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    completeView.Show(1).AddChidren(openView.Show());
                                }
                                break;
                            case 44:
                                {
                                    openView.titleBtn.TextID = MyInternationalizationString.emergencybutton;
                                    openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    completeView.Show(1).AddChidren(openView.Show());
                                }
                                break;
                            case 277:
                                {
                                    openView.titleBtn.TextID = MyInternationalizationString.callthepolice;
                                    openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    completeView.Show(1).AddChidren(openView.Show());
                                }
                                break;
                            case 541:
                                {
                                    int _height = 3;
                                    if (edit)
                                    {
                                        _height = 2;
                                    }
                                    var view = completeView.Show(_height);
                                    openView.titleBtn.TextID = MyInternationalizationString.someone;
                                    closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1;
                                    closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
                                    closeView.selectedIconBtn.Visible = true;
                                    view.AddChidren(openView.Show());
                                    view.AddChidren(closeView.Show());
                                    takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    takebackView.selectedIconBtn.Visible = true;
                                    takebackView.titleBtn.TextID = MyInternationalizationString.ambientLight;
                                    takebackView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
                                    if (edit)
                                    {
                                        if (devices["Cluster_ID"] == "1024")
                                        {
                                            flMain.RemoveFromParent();
                                            var illumination = new Illumination();
                                            UserView.HomePage.Instance.AddChidren(illumination);
                                            UserView.HomePage.Instance.PageIndex += 1;
                                            illumination.Show(common, takebackView.titleBtn.Text, int.Parse(devices["AttriButeData1"]), true);
                                        }
                                        else
                                        {
                                            closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                        }
                                    }
                                    else
                                    {
                                        view.AddChidren(takebackView.Show());
                                    }
                                    takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                                    {
                                        SelectedDeviceStatus = "";
                                        openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                        openView.selectedIconBtn.Visible = false;
                                        var illumination = new Illumination();
                                        UserView.HomePage.Instance.AddChidren(illumination);
                                        UserView.HomePage.Instance.PageIndex += 1;
                                        illumination.Show(common,takebackView.titleBtn.Text, 0, false);
                                    };
                                }
                                break;
                            default:
                                {
                                    openView.titleBtn.TextID = MyInternationalizationString.callthepolice;
                                    openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    completeView.Show(1).AddChidren(openView.Show());
                                }
                                break;
                        }
                        if (edit && devices != null)
                        {
                            if (devices["AttriButeId"] == "1281")
                            {
                                if (devices.ContainsKey("IgnoreTime"))
                                {
                                    timeValue = int.Parse(devices["IgnoreTime"]);
                                }
                                else
                                {
                                    if (devices["AttriButeData1"] == "1")
                                    {
                                        openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                                        closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                        openView.selectedIconBtn.Visible = true;
                                        closeView.selectedIconBtn.Visible = false;
                                    }
                                    else
                                    {
                                        openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                        closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                                        openView.selectedIconBtn.Visible = false;
                                        closeView.selectedIconBtn.Visible = true;
                                    }
                                }
                            }
                        }
                    }
                    break;
                case DeviceType.OnOffSwitch:
                    {
                        l = 1;
                        Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1282");
                        Send.dictionary(deviceConditionsInfo, "AttriButeId", "1283");
                        Send.dictionary(deviceConditionsInfo, "Range", "0");//按键特殊
                        Send.dictionary(deviceConditionsInfo, "AttriButeData1", "0");
                        Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
                        completeView.Show(l).AddChidren(openView.Show());
                        openView.titleBtn.Text = Language.StringByID(MyInternationalizationString.OnOffSwitch) + common.DeviceEpoint.ToString();
                        openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                        openView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                        {
                            SelectedDeviceStatus = "OnOffSwitch";
                            openView.selectedIconBtn.Visible = true;
                            openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                        };
                        if (edit && devices != null)
                        {
                            openView.selectedIconBtn.Visible = true;
                            openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                        }
                    }
                    break;
                case DeviceType.DoorLock:
                    {
                        flMain.RemoveFromParent();
                        var memberList = new MemberList();
                        UserView.HomePage.Instance.AddChidren(memberList);
                        UserView.HomePage.Instance.PageIndex += 1;
                        MemberList.edit = false;
                        memberList.Show(common);
                    }
                    break;
                case DeviceType.TemperatureSensor:
                    {
                        l = 4;
                        string current = Language.StringByID(MyInternationalizationString.current);
                        completeView.Show(l);
                        var temperatureSensor = common as TemperatureSensor;
                        SelectedDeviceStatus = "TemperatureSensor";
                        #region  布局View
                        var PickerViewfra = new FrameLayout
                        {
                            Y = Application.GetRealHeight(140),
                            Height = Application.GetRealHeight(640),
                        };
                        completeView.Show(l).AddChidren(PickerViewfra);
                        var mUIPickerView = new UIPickerView
                        {
                            Height = Application.GetRealHeight(640 - 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("℃");
                            Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1026");
                            Send.dictionary(deviceConditionsInfo, "AttriButeId", "0");
                            Send.dictionary(deviceConditionsInfo, "Range", "1");//1:等于AttriButeData1时触发动作
                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "5000");//默认温度值50℃
                            Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
                        }
                        else
                        {
                            mList3.Add("%");
                            Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1029");
                            Send.dictionary(deviceConditionsInfo, "AttriButeId", "0");
                            Send.dictionary(deviceConditionsInfo, "Range", "1");//1:等于AttriButeData1时触发动作
                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "5000");//默认湿度值50%
                            Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
                        }
                        mUIPickerView.setNPicker(mList1, mList2, mList3);
                        #endregion
                        mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) =>
                        {
                            ///温度进率转换*100
                            var strValue = (int.Parse(mList2[s2]) * 100).ToString();
                            SelectedDeviceStatus = "TemperatureSensor";
                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", strValue);
                            switch (mList1[s1])
                            {
                                case ">":
                                    {
                                        Send.dictionary(deviceConditionsInfo, "Range", "0");
                                    }
                                    break;
                                case "<":
                                    {
                                        Send.dictionary(deviceConditionsInfo, "Range", "2");
                                    }
                                    break;
                                case "=":
                                    {
                                        Send.dictionary(deviceConditionsInfo, "Range", "1");
                                    }
                                    break;
                                case "≥":
                                    {
                                        Send.dictionary(deviceConditionsInfo, "Range", "6");
                                    }
                                    break;
                                case "≤":
                                    {
                                        Send.dictionary(deviceConditionsInfo, "Range", "7");
                                    }
                                    break;
                            }
                        };
                        //默认=,50
                        int index1 = 2, index2 = 49;
                        if (edit && devices != null)
                        {
                            SelectedDeviceStatus = "";
                            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);
                            //转换温度值/100
                            var dd = (int.Parse(devices["AttriButeData1"])/100).ToString();
                            index2 = mList2.IndexOf(dd);
                        }
                        ///更新最新状态;
                        mUIPickerView.setCurrentItems(index1, index2, 0);
                    }
                    break;
                ///调光灯光
                case DeviceType.DimmableLight:
                    {
                        l = 4;
                        #region  ----初始化设备功能数据----
                        Dictionary<string, string> switchdictionary = new Dictionary<string, string>();
                        Send.dictionary(switchdictionary, "Data2", "0");
                        taskListInfo.Add(switchdictionary);
                        completeView.Show(l).AddChidren(openView.Show());
                        openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                        horizontalSeekBarRowLien.Y = openView.frameLayout.Bottom;
                        horizontalSeekBarVol.Y = openView.frameLayout.Bottom;
                        completeView.Show(l).AddChidren(horizontalSeekBarRowLien);
                        completeView.Show(l).AddChidren(horizontalSeekBarVol);
                        closeView.frameLayout.Y = horizontalSeekBarRowLien.Bottom;
                        completeView.Show(l).AddChidren(closeView.Show());
                        takebackView.frameLayout.Y = closeView.frameLayout.Bottom;
                        completeView.Show(l).AddChidren(takebackView.Show());
                        takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                        #endregion
                        int Progressvalue = 100;
                        EventHandler<int> progressclick = (sender, e) =>
                        {
                            SelectedDeviceStatus = "yes";
                            Progressvalue = horizontalSeekBarVol.Progress;
                            Send.dictionary(switchdictionary, "TaskType", "3");
                            //最大亮度值是254需要转换;
                            var lightbrightnessvalue = (254 * horizontalSeekBarVol.Progress) / 100;
                            Send.dictionary(switchdictionary, "Data1", lightbrightnessvalue.ToString());
                        };
                        horizontalSeekBarVol.OnProgressChangedEvent += progressclick;
                        horizontalSeekBarVol.OnStopTrackingTouchEvent += progressclick;
                        ///确认事件
                        openView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                        {
                            SelectedDeviceStatus = "yes";
                            horizontalSeekBarVol.IsClickable = true;
                            horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected;
                            openView.selectedIconBtn.Visible = true;
                            closeView.selectedIconBtn.Visible = false;
                            takebackView.selectedIconBtn.Visible = false;
                            horizontalSeekBarVol.Progress = Progressvalue;
                            Send.dictionary(switchdictionary, "TaskType", "3");
                            //最大亮度值是254需要转换;
                            var lightbrightnessvalue = (254 * horizontalSeekBarVol.Progress) / 100;
                            Send.dictionary(switchdictionary, "Data1", lightbrightnessvalue.ToString());
                        };
                        ///取消事件
                        closeView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                        {
                            SelectedDeviceStatus = "yes";
                            horizontalSeekBarVol.IsClickable = false;
                            horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor;
                            openView.selectedIconBtn.Visible = false;
                            closeView.selectedIconBtn.Visible = true;
                            takebackView.selectedIconBtn.Visible = false;
                            Send.dictionary(switchdictionary, "TaskType", "1");
                            Send.dictionary(switchdictionary, "Data1", "0");//默认值
                        };
                        //取反
                        takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                        {
                            SelectedDeviceStatus = "yes";
                            horizontalSeekBarVol.IsClickable = false;
                            horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor;
                            openView.selectedIconBtn.Visible = false;
                            closeView.selectedIconBtn.Visible = false;
                            takebackView.selectedIconBtn.Visible = true;
                            Send.dictionary(switchdictionary, "TaskType", "1");
                            Send.dictionary(switchdictionary, "Data1", "2");//默认值
                        };
                        if (edit && TaskList != null)
                        {
                            foreach (var value in TaskList)
                            {
                                var tasktype = value["TaskType"];
                                var data1 = value["Data1"];
                                Send.dictionary(switchdictionary, "TaskType", tasktype);
                                Send.dictionary(switchdictionary, "Data1", data1);
                                openView.selectedIconBtn.Visible = false;
                                closeView.selectedIconBtn.Visible = false;
                                takebackView.selectedIconBtn.Visible = false;
                                horizontalSeekBarVol.IsClickable = false;
                                horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor;
                                if (tasktype == "1")
                                {
                                    if (data1 == "0")
                                    {
                                        closeView.selectedIconBtn.Visible = true;
                                    }
                                    else if (data1 == "2")
                                    {
                                        takebackView.selectedIconBtn.Visible = true;
                                    }
                                }
                                else if (tasktype == "3")
                                {
                                    openView.selectedIconBtn.Visible = true;
                                    horizontalSeekBarVol.IsClickable = true;
                                    horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected;
                                    horizontalSeekBarVol.Progress = int.Parse(data1) * 100 / 254;
                                    Progressvalue = horizontalSeekBarVol.Progress;
                                }
                                break;
                            }
                        }
                    }
                    break;
                ///窗帘
                case DeviceType.WindowCoveringDevice:
                    {
                        l = 3;
                        #region  ----初始化设备功能数据----
                        Dictionary<string, string> switchdictionary = new Dictionary<string, string>();
                        Send.dictionary(switchdictionary, "TaskType", "6");
                        taskListInfo.Add(switchdictionary);
                        completeView.Show(l).AddChidren(openView.Show());
                        openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                        horizontalSeekBarRowLien.Y = openView.frameLayout.Bottom;
                        horizontalSeekBarVol.Y = openView.frameLayout.Bottom;
                        completeView.Show(l).AddChidren(horizontalSeekBarRowLien);
                        completeView.Show(l).AddChidren(horizontalSeekBarVol);
                        closeView.frameLayout.Y = horizontalSeekBarRowLien.Bottom;
                        completeView.Show(l).AddChidren(closeView.Show());
                        closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                        #endregion
                        int Progressvalue = 100;
                        EventHandler<int> progressclick = (sender, e) =>
                        {
                            SelectedDeviceStatus = "yes";
                            Progressvalue = horizontalSeekBarVol.Progress;
                            Send.dictionary(switchdictionary, "Data1", "5");
                            Send.dictionary(switchdictionary, "Data2", horizontalSeekBarVol.Progress.ToString());
                        };
                        horizontalSeekBarVol.OnProgressChangedEvent += progressclick;
                        horizontalSeekBarVol.OnStopTrackingTouchEvent += progressclick;
                        ///确认事件
                        openView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                        {
                            SelectedDeviceStatus = "yes";
                            horizontalSeekBarVol.IsClickable = true;
                            horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected;
                            openView.selectedIconBtn.Visible = true;
                            closeView.selectedIconBtn.Visible = false;
                            horizontalSeekBarVol.Progress = Progressvalue;
                            Send.dictionary(switchdictionary, "Data1", "5");
                            Send.dictionary(switchdictionary, "Data2", horizontalSeekBarVol.Progress.ToString());
                        };
                        ///取消事件
                        closeView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                        {
                            SelectedDeviceStatus = "yes";
                            horizontalSeekBarVol.IsClickable = false;
                            horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor;
                            openView.selectedIconBtn.Visible = false;
                            closeView.selectedIconBtn.Visible = true;
                            Send.dictionary(switchdictionary, "Data2", "0");
                            Send.dictionary(switchdictionary, "Data1", "1");//默认值
                        };
                        if (edit && TaskList != null)
                        {
                            foreach (var value in TaskList)
                            {
                                if (value["TaskType"] == "6")
                                {
                                    if (value["Data1"] == "5")
                                    {
                                        Send.dictionary(switchdictionary, "Data1", "5");
                                        Send.dictionary(switchdictionary, "Data2", value["Data2"]);
                                        horizontalSeekBarVol.IsClickable = true;
                                        horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected;
                                        openView.selectedIconBtn.Visible = true;
                                        closeView.selectedIconBtn.Visible = false;
                                        horizontalSeekBarVol.Progress = int.Parse(value["Data2"]);
                                        Progressvalue = horizontalSeekBarVol.Progress;
                                    }
                                    else if (value["Data1"] == "1")
                                    {
                                        Send.dictionary(switchdictionary, "Data1", "1");
                                        openView.selectedIconBtn.Visible = false;
                                        closeView.selectedIconBtn.Visible = true;
                                        horizontalSeekBarVol.IsClickable = false;
                                        horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor;
                                    }
                                }
                            }
                        }
                    }
                    break;
                ///空气开关
                case DeviceType.AirSwitch:
                    {
                        {
                            l = 3;
                            #region  ----初始化设备功能数据----
                            Dictionary<string, string> switchdictionary = new Dictionary<string, string>();
                            Send.dictionary(switchdictionary, "TaskType", "1");
                            Send.dictionary(switchdictionary, "Data1", "0");
                            Send.dictionary(switchdictionary, "Data2", "0");
                            taskListInfo.Add(switchdictionary);
                            #endregion
                            #region  空气灯光View
                            completeView.Show(l).AddChidren(openView.Show());
                            completeView.Show(l).AddChidren(closeView.Show());
                            completeView.Show(l).AddChidren(takebackView.Show());
                            takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                            #endregion
                            ///确认事件
                            openView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                            {
                                SelectedDeviceStatus = "yes";
                                openView.selectedIconBtn.Visible = true;
                                closeView.selectedIconBtn.Visible = false;
                                takebackView.selectedIconBtn.Visible = false;
                                Send.dictionary(switchdictionary, "Data1", "1");
                            };
                            ///取消事件
                            closeView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                            {
                                SelectedDeviceStatus = "yes";
                                openView.selectedIconBtn.Visible = false;
                                closeView.selectedIconBtn.Visible = true;
                                takebackView.selectedIconBtn.Visible = false;
                                Send.dictionary(switchdictionary, "Data1", "0");
                            };
                            //取反
                            takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                            {
                                SelectedDeviceStatus = "yes";
                                openView.selectedIconBtn.Visible = false;
                                closeView.selectedIconBtn.Visible = false;
                                takebackView.selectedIconBtn.Visible = true;
                                Send.dictionary(switchdictionary, "Data1", "2");
                            };
                            if (edit && TaskList != null)
                            {
                                foreach (var value in TaskList)
                                {
                                    if (value["TaskType"] == "1")
                                    {
                                        var data1 = value["Data1"];
                                        Send.dictionary(switchdictionary, "Data1", data1);
                                        openView.selectedIconBtn.Visible = false;
                                        closeView.selectedIconBtn.Visible = false;
                                        takebackView.selectedIconBtn.Visible = false;
                                        if (data1 == "1")
                                        {
                                            openView.selectedIconBtn.Visible = true;
                                        }
                                        else if (data1 == "0")
                                        {
                                            closeView.selectedIconBtn.Visible = true;
                                        }
                                        else if (data1 == "2")
                                        {
                                            takebackView.selectedIconBtn.Visible = true;
                                        }
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    break;
                ///空调
                case DeviceType.Thermostat:
                    {
                        l = 6;
                        #region  ----初始化设备功能数据----
                        var temperaturedictionary = new Dictionary<string, string>();
                        var modedictionary = new Dictionary<string, string>();
                        var speeddictionary = new Dictionary<string, string>();
                        Send.dictionary(temperaturedictionary, "TaskType", "5");
                        Send.dictionary(modedictionary, "TaskType", "5");
                        Send.dictionary(modedictionary, "Data1", "3");
                        Send.dictionary(speeddictionary, "TaskType", "5");
                        Send.dictionary(speeddictionary, "Data1", "6");
                        taskListInfo.Add(temperaturedictionary);
                        taskListInfo.Add(modedictionary);
                        taskListInfo.Add(speeddictionary);
                        #endregion
                        #region  空调View
                        completeView.Show(l).AddChidren(openView.Show());
                        #region  空调状态View
                        var PickerViewfra = new FrameLayout
                        {
                            Y = openView.frameLayout.Bottom,
                            Height = Application.GetRealHeight(640),
                        };
                        completeView.Show(l).AddChidren(PickerViewfra);
                        //遮挡空调滑动view;
                        var pausePickerViewfra = new FrameLayout
                        {
                            Y = openView.frameLayout.Bottom,
                            Height = Application.GetRealHeight(640),
                            BackgroundColor = 0x60ffffff,
                        };
                        completeView.Show(l).AddChidren(pausePickerViewfra);
                        var mUIPickerView = new UIPickerView
                        {
                            Height = Application.GetRealHeight(640 - 5),
                        };
                        PickerViewfra.AddChidren(mUIPickerView);
                        var line = new Button
                        {
                            Y = Application.GetRealHeight(640 - 5),
                            Width = Application.GetRealWidth(920),
                            Height = Application.GetRealHeight(5),
                            X = Application.GetRealWidth(80),
                            BackgroundColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
                        };
                        PickerViewfra.AddChidren(line);
                        var mList1 = new List<string>();
                        var mList2 = new List<string> {
                         Language.StringByID(MyInternationalizationString.logiccool),
                         Language.StringByID(MyInternationalizationString.logicheat),
                         Language.StringByID(MyInternationalizationString.logicauto),
                         Language.StringByID(MyInternationalizationString.logicdry),
                         Language.StringByID(MyInternationalizationString.logicfanonly),
                        };
                        var mList3 = new List<string>{
                         Language.StringByID(MyInternationalizationString.logiclow),
                         Language.StringByID(MyInternationalizationString.logicmedium),
                         Language.StringByID(MyInternationalizationString.logichigh),
                          };
                        for (int i = 16; i < 33; i++)
                        {
                            mList1.Add(i.ToString() + " " + "℃");
                        }
                        mUIPickerView.setNPicker(mList1, mList2, mList3);
                        ///默认状态
                        #endregion
                        closeView.frameLayout.Y = PickerViewfra.Bottom;
                        completeView.Show(l).AddChidren(closeView.Show());
                        closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                        //默认26,自动,中风
                        int indextemperature = 10, indexmode = 2, indexspeed = 1;
                        mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) =>
                        {
                            indextemperature = s1;
                            indexmode = s2;
                            indexspeed = s3;
                            if (openView.selectedIconBtn.Visible)
                            {
                                SelectedDeviceStatus = "yes";
                                var temperature = mList1[s1].Split(' ')[0];
                                var modestring = mList2[s2].Split(' ')[0];
                                var speedstring = mList3[s3].Split(' ')[0];
                                ModeState(modestring, temperaturedictionary, modedictionary);
                                var a = int.Parse(temperature) * 100;
                                Send.dictionary(temperaturedictionary, "Data2", a.ToString());
                                SpeedState(speedstring, speeddictionary);
                            }
                        };
                        mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 0);
                        mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 1);
                        mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 2);
                        #endregion
                        if (edit && TaskList != null)
                        {
                            foreach (var value in TaskList)
                            {
                                if (TaskList.Count == 1)
                                {
                                    mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 0);
                                    mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 1);
                                    mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 2);
                                    //数组只有一个元素说明当前空调状态为关;
                                    openView.selectedIconBtn.Visible = false;
                                    closeView.selectedIconBtn.Visible = true;
                                    pausePickerViewfra.Height = Application.GetRealHeight(600);
                                    //如果空调状态是关;直接跳出for循坏;
                                    break;
                                }
                                else
                                {
                                    openView.selectedIconBtn.Visible = true;
                                    closeView.selectedIconBtn.Visible = false;
                                    pausePickerViewfra.Height = Application.GetRealHeight(0);
                                    mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 0);
                                    mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 1);
                                    mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 2);
                                }
                                if (value["TaskType"] == "5")
                                {
                                    if (value["Data1"] == "3")
                                    {//3---设置工作模式(1:自动;3:制冷;4:制热;7:送风;8:除湿)
                                        Send.dictionary(modedictionary, "Data2", value["Data2"]);
                                        string modetext = "";
                                        switch (value["Data2"])
                                        {
                                            case "3":
                                                {
                                                    modetext = Language.StringByID(MyInternationalizationString.logiccool);
                                                    //indexmode = 0;
                                                }
                                                break;
                                            case "4":
                                                {
                                                    modetext = Language.StringByID(MyInternationalizationString.logicheat);
                                                    //  indexmode = 1;
                                                }
                                                break;
                                            case "1":
                                                {
                                                    modetext = Language.StringByID(MyInternationalizationString.logicauto);
                                                    //   indexmode = 2;
                                                }
                                                break;
                                            case "8":
                                                {
                                                    modetext = Language.StringByID(MyInternationalizationString.logicdry);
                                                    //  indexmode = 3;
                                                }
                                                break;
                                            case "7":
                                                {
                                                    modetext = Language.StringByID(MyInternationalizationString.logicfanonly);
                                                    //indexmode = 4;
                                                }
                                                break;
                                        }
                                        indexmode = mList2.IndexOf(modetext);
                                    }
                                    else if (value["Data1"] == "6")
                                    {//6---设置风扇模式(1:低风;2:中风;3:高风;)
                                        Send.dictionary(speeddictionary, "Data2", value["Data2"]);
                                        string speedtext = "";
                                        switch (value["Data2"])
                                        {
                                            case "1":
                                                {
                                                    speedtext = Language.StringByID(MyInternationalizationString.logiclow);
                                                    //indexspeed = 0;
                                                }
                                                break;
                                            case "2":
                                                {
                                                    speedtext = Language.StringByID(MyInternationalizationString.logicmedium);
                                                    // indexspeed = 1;
                                                }
                                                break;
                                            case "3":
                                                {
                                                    speedtext = Language.StringByID(MyInternationalizationString.logichigh);
                                                    // indexspeed = 2;
                                                }
                                                break;
                                        }
                                        indexspeed = mList3.IndexOf(speedtext);
                                    }
                                    //4-设置加热度数;5-设置制冷、除湿度数;7-设置自动度数
                                    else if (value["Data1"] == "4" || value["Data1"] == "5" || value["Data1"] == "7")
                                    {
                                        var s = int.Parse(value["Data2"]) / 100;
                                        indextemperature = mList1.IndexOf(s.ToString() + " " + "℃");
                                        Send.dictionary(temperaturedictionary, "Data1", value["Data1"]);
                                        Send.dictionary(temperaturedictionary, "Data2", value["Data2"]);
                                    }
                                }
                            }
                        }
                        ///更新最新空调状态;
                        mUIPickerView.setCurrentItems(indextemperature, indexmode, indexspeed);
                        ///确认事件
                        openView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                        {
                            mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 0);
                            mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 1);
                            mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 2);
                            mUIPickerView.setCurrentItems(indextemperature, indexmode, indexspeed);
                            pausePickerViewfra.Height = Application.GetRealHeight(0);
                            SelectedDeviceStatus = "yes";
                            openView.selectedIconBtn.Visible = true;
                            closeView.selectedIconBtn.Visible = false;
                            //清除之前数据;
                            taskListInfo.Clear();
                            //加载新数据;
                            Send.dictionary(temperaturedictionary, "TaskType", "5");
                            Send.dictionary(modedictionary, "TaskType", "5");
                            Send.dictionary(modedictionary, "Data1", "3");
                            Send.dictionary(speeddictionary, "TaskType", "5");
                            Send.dictionary(speeddictionary, "Data1", "6");
                            taskListInfo.Add(temperaturedictionary);
                            taskListInfo.Add(modedictionary);
                            taskListInfo.Add(speeddictionary);
                            var temperature = mList1[indextemperature].Split(' ')[0];
                            var modestring = mList2[indexmode].Split(' ')[0];
                            var speedstring = mList3[indexspeed].Split(' ')[0];
                            ModeState(modestring, temperaturedictionary, modedictionary);
                            var a = int.Parse(temperature) * 100;
                            Send.dictionary(temperaturedictionary, "Data2", a.ToString());
                            SpeedState(speedstring, speeddictionary);
                        };
                        ///取消事件
                        closeView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                        {
                            mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 0);
                            mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 1);
                            mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 2);
                            mUIPickerView.setCurrentItems(indextemperature, indexmode, indexspeed);
                            //清除之前数据;
                            taskListInfo.Clear();
                            Send.dictionary(modedictionary, "TaskType", "5");
                            Send.dictionary(modedictionary, "Data1", "3");
                            Send.dictionary(modedictionary, "Data2", "0");
                            //加载新数据;
                            taskListInfo.Add(modedictionary);
                            pausePickerViewfra.Height = Application.GetRealHeight(600);
                            SelectedDeviceStatus = "yes";
                            openView.selectedIconBtn.Visible = false;
                            closeView.selectedIconBtn.Visible = true;
                        };
                    }
                    break;
                case DeviceType.ColorTemperatureLight: {
                        flMain.RemoveFromParent();
                        var nightlight = new Nightlight();
                        UserView.HomePage.Instance.AddChidren(nightlight);
                        UserView.HomePage.Instance.PageIndex += 1;
                        if (edit)
                        {
                            nightlight.Show(common, edit, _if[1], Common.Logic.CurrentLogic.Actions[intValue]);
                        }
                        else
                        {
                            nightlight.Show(common, edit, _if[1]);
                        }
                    }
                    break;
            }
            completeView.Btncomplete.MouseUpEventHandler += (sender, e) =>
            {
                //UserView.HomePage.Instance.ScrollEnabled = true;
                if (SelectedDeviceStatus != "")
                {
                    if (_if[0] == "condition")
                    {   //添加条件
                        LogicIfon.AddDeviceconditions(common, deviceConditionsInfo);
                    }
                    else
                    {   //添加目标
                        if (SelectedDeviceStatus == "DoorLock")
                        {//门锁数据特殊,进行特殊处理;
                            LogicIfon.AddDoorLockActions(common, actionsInfo);
                        }
                        else
                        {
                            LogicIfon.AddDeviceActions(common, actionsInfo);
                        }
                    }
                }
                else
                {
                    if (!edit)
                    {
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                                    Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                                   Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        return;
                    }
                }
                flMain.RemoveFromParent();
                switch (_if[1])
                {
                    case "logic":
                        {
                            //自动化
                            var logicCommunalPage = new LogicCommunalPage();
                            UserView.HomePage.Instance.AddChidren(logicCommunalPage);
                            UserView.HomePage.Instance.PageIndex += 1;
                            logicCommunalPage.Show(() => { });
                        }
                        break;
                    case "mould":
                        {
                            //自动化推荐模板
                            var templatePage = new TemplatePage();
                            UserView.HomePage.Instance.AddChidren(templatePage);
                            UserView.HomePage.Instance.PageIndex += 1;
                            templatePage.Show();
                        }
                        break;
                    case "lockaction":
                        {
                            //门锁联动事件
                            var lockLogicCommunalPage = new DoorLockLogic.LockLogicCommunalPage();
                            UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage);
                            UserView.HomePage.Instance.PageIndex += 1;
                            lockLogicCommunalPage.Show(() => { });
                        }
                        break;
                }
            };
        }
        /// <summary>
        /// 空调模式的状态
        /// </summary>
        /// <param name="modestring"></param>
        /// <param name="temperaturedictionary"></param>
        /// <param name="modedictionary"></param>
        public static void ModeState(string modestring, Dictionary<string, string> temperaturedictionary, Dictionary<string, string> modedictionary)
        {
            if (modestring == Language.StringByID(MyInternationalizationString.logiccool))
            {
                Send.dictionary(modedictionary, "Data2", "3");
                Send.dictionary(temperaturedictionary, "Data1", "5");
            }
            else if (modestring == Language.StringByID(MyInternationalizationString.logicheat))
            {
                Send.dictionary(modedictionary, "Data2", "4");
                Send.dictionary(temperaturedictionary, "Data1", "4");
            }
            else if (modestring == Language.StringByID(MyInternationalizationString.logicauto))
            {
                Send.dictionary(modedictionary, "Data2", "1");
                Send.dictionary(temperaturedictionary, "Data1", "7");
            }
            else if (modestring == Language.StringByID(MyInternationalizationString.logicdry))
            {
                Send.dictionary(modedictionary, "Data2", "8");
                Send.dictionary(temperaturedictionary, "Data1", "5");
            }
            else if (modestring == Language.StringByID(MyInternationalizationString.logicfanonly))
            {
                Send.dictionary(temperaturedictionary, "Data1", "20");
                Send.dictionary(modedictionary, "Data2", "7");
            }
        }
        /// <summary>
        /// 风速的模式
        /// </summary>
        /// <param name="speedstring"></param>
        /// <param name="speeddictionary"></param>
        public static void SpeedState(string speedstring, Dictionary<string, string> speeddictionary)
        {
            if (speedstring == Language.StringByID(MyInternationalizationString.logiclow))
            {
                Send.dictionary(speeddictionary, "Data2", "1");
            }
            else if (speedstring == Language.StringByID(MyInternationalizationString.logicmedium))
            {
                Send.dictionary(speeddictionary, "Data2", "2");
            }
            else if (speedstring == Language.StringByID(MyInternationalizationString.logichigh))
            {
                Send.dictionary(speeddictionary, "Data2", "3");
            }
        }
    }
}