JLChen
2021-01-05 f500e14c0a994487070380c50c85e0929cbc8e63
Crabtree/SmartHome/UI/SimpleControl/Phone/Scene/UserAddSceneDevice.cs
@@ -30,6 +30,7 @@
            filesList = IO.FileUtils.ReadFiles ().FindAll ((obj) => { return obj.Split ('_').Length == 5; });
        }
        public void ShowScene (Action<string> action)
        {
            this.BackgroundColor = SkinStyle.Current.MainColor;
@@ -398,6 +399,7 @@
                LightMixSwitch lightSwitch = Newtonsoft.Json.JsonConvert.DeserializeObject<LightMixSwitch> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
                #region 
                title.Text = lightSwitch.Name;
                //2020-01-13 是否禁掉延迟功能,待确认
                Button lblChangeName = new Button () {
                    X = Application.GetRealWidth (30),
                    Y = Application.GetRealHeight (100),
@@ -605,7 +607,7 @@
                    };
                    dialogBodyLayout.AddChidren (btnMaxBrightness);
                    horizontalSeekBar.ProgressChanged += (sender, e) => {
                        //Console.WriteLine (DateTime.Now.ToString ());
                        //Utlis.WriteLine (DateTime.Now.ToString ());
                        btnMaxBrightness.Text = horizontalSeekBar.Progress + "%";
                        System.Threading.Tasks.Task.Run (() => {
                            if ((System.DateTime.Now - (DateTime)(horizontalSeekBar.Tag)).TotalMilliseconds < 100) {
@@ -752,7 +754,7 @@
                    };
                    dialogBodyLayout.AddChidren (btnMaxBrightness);
                    horizontalSeekBar.ProgressChanged += (sender, e) => {
                        //Console.WriteLine (DateTime.Now.ToString ());
                        //Utlis.WriteLine (DateTime.Now.ToString ());
                        btnMaxBrightness.Text = horizontalSeekBar.Progress + "%";
                        System.Threading.Tasks.Task.Run (() => {
                            if ((System.DateTime.Now - (DateTime)(horizontalSeekBar.Tag)).TotalMilliseconds < 100) {
@@ -1036,8 +1038,8 @@
                    }
                    title.Text = curtainmodel.Name;
                    Button btnOpenCurtain = new Button () {
                        Width = Application.GetRealWidth (124),
                        Height = Application.GetRealHeight (125),
                        Width = Application.GetMinRealAverage (124),
                        Height = Application.GetMinRealAverage (124),
                        UnSelectedImagePath = "Curtain/CurtainOpen.png",
                        SelectedImagePath = "Curtain/CurtainOpenSelected.png",
                        X = Application.GetRealWidth (20),
@@ -1055,8 +1057,8 @@
                    };
                    dialogBodyLayout.AddChidren (btnOpenLbl);
                    Button btnStopCurtain = new Button () {
                        Width = Application.GetRealWidth (124),
                        Height = Application.GetRealHeight (125),
                        Width = Application.GetMinRealAverage (124),
                        Height = Application.GetMinRealAverage (124),
                        X = Application.GetRealWidth ((480 - 124) / 2),
                        Y = btnOpenCurtain.Y,
                        UnSelectedImagePath = "Curtain/CurtainTimeOut.png",
@@ -1074,8 +1076,8 @@
                    };
                    dialogBodyLayout.AddChidren (btnStopLbl);
                    Button btnCloseCurtain = new Button () {
                        Width = Application.GetRealWidth (124),
                        Height = Application.GetRealHeight (125),
                        Width = Application.GetMinRealAverage (124),
                        Height = Application.GetMinRealAverage (124),
                        X = Application.GetRealWidth (480 - 124 - 35),
                        Y = btnOpenCurtain.Y,
                        UnSelectedImagePath = "Curtain/CurtainClose.png",
@@ -1097,18 +1099,24 @@
                        btnOpenCurtain.IsSelected = false;
                        btnStopCurtain.IsSelected = false;
                        curtainmodel.Status = (CurtainStatus)2;
                        Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainmodel.SubnetID, curtainmodel.DeviceID,
                                                 new byte [] { curtainmodel.LoopID, (byte)curtainmodel.Status });
                    };
                    btnOpenCurtain.MouseUpEventHandler += (sender3, e3) => {
                        btnCloseCurtain.IsSelected = false;
                        btnOpenCurtain.IsSelected = true;
                        btnStopCurtain.IsSelected = false;
                        curtainmodel.Status = (CurtainStatus)1;
                        Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainmodel.SubnetID, curtainmodel.DeviceID,
                                                 new byte [] { curtainmodel.LoopID, (byte)curtainmodel.Status });
                    };
                    btnStopCurtain.MouseUpEventHandler += (sender3, e3) => {
                        btnCloseCurtain.IsSelected = false;
                        btnOpenCurtain.IsSelected = false;
                        btnStopCurtain.IsSelected = true;
                        curtainmodel.Status = (CurtainStatus)0;
                        Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainmodel.SubnetID, curtainmodel.DeviceID,
                                                 new byte [] { curtainmodel.LoopID, (byte)curtainmodel.Status });
                    };
                    if (curtainmodel.Status == 0) {
                        btnStopCurtain.IsSelected = true;
@@ -1170,8 +1178,8 @@
                    };
                    Button btnOpenCurtain = new Button () {
                        Width = Application.GetRealWidth (124),
                        Height = Application.GetRealHeight (125),
                        Width = Application.GetMinRealAverage (124),
                        Height = Application.GetMinRealAverage (124),
                        UnSelectedImagePath = "Curtain/CurtainOpen.png",
                        SelectedImagePath = "Curtain/CurtainOpenSelected.png",
                        X = Application.GetRealWidth (20),
@@ -1190,8 +1198,8 @@
                    };
                    dialogBodyLayout.AddChidren (btnOpenLbl);
                    Button btnStopCurtain = new Button () {
                        Width = Application.GetRealWidth (124),
                        Height = Application.GetRealHeight (125),
                        Width = Application.GetMinRealAverage (124),
                        Height = Application.GetMinRealAverage (124),
                        X = Application.GetRealWidth ((480 - 124) / 2),
                        Y = btnOpenCurtain.Y,
                        UnSelectedImagePath = "Curtain/CurtainTimeOut.png",
@@ -1209,8 +1217,8 @@
                    };
                    //dialogBodyLayout.AddChidren (btnStopLbl);
                    Button btnCloseCurtain = new Button () {
                        Width = Application.GetRealWidth (124),
                        Height = Application.GetRealHeight (125),
                        Width = Application.GetMinRealAverage (124),
                        Height = Application.GetMinRealAverage (124),
                        X = Application.GetRealWidth (480 - 124 - 35),
                        Y = btnOpenCurtain.Y,
                        UnSelectedImagePath = "Curtain/CurtainClose.png",
@@ -1317,19 +1325,19 @@
                    Button btnOpenCurtain = new Button () {
                        Width = Application.GetRealWidth (124),
                        Height = Application.GetRealHeight (125),
                        Width = Application.GetMinRealAverage (124),
                        Height = Application.GetMinRealAverage (124),
                        UnSelectedImagePath = "Curtain/CurtainRollerUp.png",
                        SelectedImagePath = "Curtain/CurtainRollerUpOn.png",
                        X = Application.GetRealWidth (20),
                        Y = tempSeekBarFrame.Bottom + Application.GetRealHeight (40),
                    };
                    dialogBodyLayout.AddChidren (btnOpenCurtain);
                    btnOpenCurtain.MouseUpEventHandler += (sender, e) => {
                        Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainroller.SubnetID, curtainroller.DeviceID, new byte [] { 17, 100 });
                        horizontalSeekBar.Progress = 100;
                        btnMaxBrightness.Text = "100%";
                    };
                    //btnOpenCurtain.MouseUpEventHandler += (sender, e) => {
                    //    Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainroller.SubnetID, curtainroller.DeviceID, new byte [] { 17, 100 });
                    //    horizontalSeekBar.Progress = 100;
                    //    btnMaxBrightness.Text = "100%";
                    //};
                    Button btnOpenLbl = new Button () {
                        Width = Application.GetRealWidth (124),
                        Height = Application.GetRealHeight (30),
@@ -1341,8 +1349,8 @@
                    };
                    dialogBodyLayout.AddChidren (btnOpenLbl);
                    Button btnStopCurtain = new Button () {
                        Width = Application.GetRealWidth (124),
                        Height = Application.GetRealHeight (125),
                        Width = Application.GetMinRealAverage (124),
                        Height = Application.GetMinRealAverage (124),
                        X = Application.GetRealWidth ((480 - 124) / 2),
                        Y = btnOpenCurtain.Y,
                        UnSelectedImagePath = "Curtain/CurtainTimeOut.png",
@@ -1360,19 +1368,19 @@
                    };
                    //dialogBodyLayout.AddChidren (btnStopLbl);
                    Button btnCloseCurtain = new Button () {
                        Width = Application.GetRealWidth (124),
                        Height = Application.GetRealHeight (125),
                        Width = Application.GetMinRealAverage (124),
                        Height = Application.GetMinRealAverage (124),
                        X = Application.GetRealWidth (480 - 124 - 35),
                        Y = btnOpenCurtain.Y,
                        UnSelectedImagePath = "Curtain/CurtainRollerDown.png",
                        SelectedImagePath = "Curtain/CurtainRollerDownOn.png",
                    };
                    dialogBodyLayout.AddChidren (btnCloseCurtain);
                    btnCloseCurtain.MouseUpEventHandler += (sender, e) => {
                        Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainroller.SubnetID, curtainroller.DeviceID, new byte [] { 17, 0 });
                        horizontalSeekBar.Progress = 0;
                        btnMaxBrightness.Text = "0%";
                    };
                    //btnCloseCurtain.MouseUpEventHandler += (sender, e) => {
                    //    Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainroller.SubnetID, curtainroller.DeviceID, new byte [] { 17, 0 });
                    //    horizontalSeekBar.Progress = 0;
                    //    btnMaxBrightness.Text = "0%";
                    //};
                    Button btnCloseLbl = new Button () {
                        Width = Application.GetRealWidth (124),
                        Height = Application.GetRealHeight (30),
@@ -1384,16 +1392,24 @@
                    };
                    dialogBodyLayout.AddChidren (btnCloseLbl);
                    btnCloseCurtain.MouseUpEventHandler += (sender3, e3) => {
                        Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainroller.SubnetID, curtainroller.DeviceID, new byte [] { 17, 0 });
                        horizontalSeekBar.Progress = 0;
                        btnMaxBrightness.Text = "0%";
                        btnCloseCurtain.IsSelected = true;
                        btnOpenCurtain.IsSelected = false;
                        btnStopCurtain.IsSelected = false;
                        curtainroller.Status = (CurtainStatus)2;
                    };
                    btnOpenCurtain.MouseUpEventHandler += (sender3, e3) => {
                        Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainroller.SubnetID, curtainroller.DeviceID, new byte [] { 17, 100 });
                        horizontalSeekBar.Progress = 100;
                        btnMaxBrightness.Text = "100%";
                        btnCloseCurtain.IsSelected = false;
                        btnOpenCurtain.IsSelected = true;
                        btnStopCurtain.IsSelected = false;
                        curtainroller.Status = (CurtainStatus)1;
                    };
                    btnStopCurtain.MouseUpEventHandler += (sender3, e3) => {
                        btnCloseCurtain.IsSelected = false;
@@ -1440,8 +1456,8 @@
                dialogBodyLayout.AddChidren (btnSetTemperature);
                Button btnReduceTemperature = new Button () {
                    Width = Application.GetRealWidth (94),
                    Height = Application.GetRealHeight (94),
                    Width = Application.GetMinRealAverage (94),
                    Height = Application.GetMinRealAverage (94),
                    X = Application.GetRealWidth (20),
                    Y = btnSetTemperature.Bottom + Application.GetRealHeight (20),
                    UnSelectedImagePath = "AC/AC-.png",
@@ -1450,8 +1466,8 @@
                dialogBodyLayout.AddChidren (btnReduceTemperature);
                Button btnSwitchAC = new Button () {
                    Width = Application.GetRealWidth (94),
                    Height = Application.GetRealHeight (94),
                    Width = Application.GetMinRealAverage (94),
                    Height = Application.GetMinRealAverage (94),
                    X = Application.GetRealWidth ((480 - 94) / 2),
                    Y = btnReduceTemperature.Y,
                    UnSelectedImagePath = "AC/ACClose.png",
@@ -1476,8 +1492,8 @@
                }
                Button btnAddTemperature = new Button () {
                    Width = Application.GetRealWidth (94),
                    Height = Application.GetRealHeight (94),
                    Width = Application.GetMinRealAverage (94),
                    Height = Application.GetMinRealAverage (94),
                    X = Application.GetRealWidth (480 - 20 - 94),
                    Y = btnReduceTemperature.Y,
                    UnSelectedImagePath = "AC/AC+.png",
@@ -1517,8 +1533,8 @@
                dialogBodyLayout.AddChidren (acModeView);
                Button btnACModeLeft = new Button () {
                    Width = Application.GetRealWidth (129),
                    Height = Application.GetRealHeight (129),
                    Width = Application.GetMinRealAverage (129),
                    Height = Application.GetMinRealAverage (129),
                    X = btnReduceTemperature.X - Application.GetRealWidth (17),
                    Gravity = Gravity.CenterVertical,
                    UnSelectedImagePath = "AC/ACLeft.png",
@@ -1535,8 +1551,8 @@
                };
                acModeView.AddChidren (btnModeIcon);
                Button btnACModeRight = new Button () {
                    Width = Application.GetRealWidth (129),
                    Height = Application.GetRealHeight (129),
                    Width = Application.GetMinRealAverage (129),
                    Height = Application.GetMinRealAverage (129),
                    X = btnAddTemperature.X - Application.GetRealWidth (17),
                    Gravity = Gravity.CenterVertical,
                    UnSelectedImagePath = "AC/ACRight.png",
@@ -1578,8 +1594,8 @@
                dialogBodyLayout.AddChidren (acWindView);
                Button btnACWindLeft = new Button () {
                    Width = Application.GetRealWidth (129),
                    Height = Application.GetRealHeight (129),
                    Width = Application.GetMinRealAverage (129),
                    Height = Application.GetMinRealAverage (129),
                    X = btnReduceTemperature.X - Application.GetRealWidth (17),
                    Gravity = Gravity.CenterVertical,
                    UnSelectedImagePath = "AC/ACLeft.png",
@@ -1597,8 +1613,8 @@
                acWindView.AddChidren (btnWindIcon);
                Button btnACWindRight = new Button () {
                    Width = Application.GetRealWidth (129),
                    Height = Application.GetRealHeight (129),
                    Width = Application.GetMinRealAverage (129),
                    Height = Application.GetMinRealAverage (129),
                    X = btnAddTemperature.X - Application.GetRealWidth (17),
                    Gravity = Gravity.CenterVertical,
                    UnSelectedImagePath = "AC/ACRight.png",
@@ -1694,8 +1710,8 @@
                title.Text = fh.Name;
                Button FH_Heat = new Button () {
                    Width = Application.GetRealWidth (120),
                    Height = Application.GetRealHeight (120),
                    Width = Application.GetMinRealAverage (120),
                    Height = Application.GetMinRealAverage (120),
                    X = Application.GetRealWidth (20),
                    Y = Application.GetRealHeight (120),
                    UnSelectedImagePath = "FH/FH_Heat_on.png",
@@ -1720,8 +1736,8 @@
                };
                Button btnFHSwitch = new Button () {
                    Width = Application.GetRealWidth (80),
                    Height = Application.GetRealHeight (80),
                    Width = Application.GetMinRealAverage (80),
                    Height = Application.GetMinRealAverage (80),
                    X = Application.GetRealWidth (480 - 40 - 80),
                    Y = Application.GetRealHeight (140),
                    UnSelectedImagePath = "AC/ACClose.png",
@@ -1756,8 +1772,8 @@
                dialogBodyLayout.AddChidren (fhTemperatureView);
                Button btnReduceTemperature = new Button () {
                    Width = Application.GetRealWidth (90),
                    Height = Application.GetRealHeight (90),
                    Width = Application.GetMinRealAverage (90),
                    Height = Application.GetMinRealAverage (90),
                    X = Application.GetRealWidth (40),
                    Gravity = Gravity.CenterVertical,
                    UnSelectedImagePath = "AC/AC-.png",
@@ -1776,8 +1792,8 @@
                };
                fhTemperatureView.AddChidren (btnSetTemperature);
                Button BtnAddTemperature = new Button () {
                    Width = Application.GetRealWidth (90),
                    Height = Application.GetRealHeight (90),
                    Width = Application.GetMinRealAverage (90),
                    Height = Application.GetMinRealAverage (90),
                    X = Application.GetRealWidth (480 - 90 - 40),
                    Gravity = Gravity.CenterVertical,
                    UnSelectedImagePath = "AC/AC+.png",
@@ -1847,8 +1863,8 @@
                Button btnWindSpeedReduce = new Button () {
                    X = Application.GetRealWidth (100),
                    Y = btnWindSpeedTitle.Bottom,
                    Width = Application.GetRealWidth (64),
                    Height = Application.GetRealHeight (62),
                    Width = Application.GetMinRealAverage (64),
                    Height = Application.GetMinRealAverage (62),
                    UnSelectedImagePath = "Light/Light-.png",
                    SelectedImagePath = "Light/Light-On.png",
                };
@@ -1867,8 +1883,8 @@
                windBodyView.AddChidren (btnWindSpeedText);
                Button btnWindSpeedAdd = new Button () {
                    Width = Application.GetRealWidth (64),
                    Height = Application.GetRealHeight (62),
                    Width = Application.GetMinRealAverage (64),
                    Height = Application.GetMinRealAverage (62),
                    UnSelectedImagePath = "Light/Light+.png",
                    SelectedImagePath = "Light/Light+On.png",
                    X = btnWindSpeedText.Right,
@@ -1928,43 +1944,46 @@
                    Width = Application.GetRealWidth (110),
                    Height = Application.GetRealHeight (70),
                    Radius = 2,
                    BorderColor = SkinStyle.Current.White20Transparent,
                    //BorderColor = SkinStyle.Current.White20Transparent,
                    BorderWidth = 2,
                    Text = udDevice.ON_Text
                    Text = udDevice.ON_Text,
                    BorderColor = SkinStyle.Current.BorderColor,
                    TextColor = SkinStyle.Current.TextColor1,
                    //SelectedTextColor = SkinStyle.Current.TextColor1,
                };
                windBodyView.AddChidren (tempSiwtch);
                if (udDevice.ActionType == 0) {
                    SetUDSendBytes (udDevice, 255);
                    tempSiwtch.Text = udDevice.ON_Text;
                    tempSiwtch.MouseUpEventHandler += (sender3, e3) => {
                        if (udDevice.UniversalType == 0xE01C) {
                            if (udDevice.ActionType == 0) {
                                if (udDevice.SendBytes.Count == 0) {
                                    udDevice.SendBytes = new List<byte> () { udDevice.LoopID, 255 };
                                } else
                                    udDevice.SendBytes [1] = 255;
                                SetUDSendBytes (udDevice, 255);
                                Control.ControlBytesSend (Command.SetCommonSwitch, udDevice.SubnetID, udDevice.DeviceID, new byte [] { udDevice.SendBytes [0], 255 }, SendCount.Zero);
                            }
                            tempSiwtch.BorderColor = SkinStyle.Current.SelectedColor;
                        }
                    };
                } else if (udDevice.ActionType == 1) {
                    SetUDSendBytes (udDevice, 0);
                    tempSiwtch.TextID = R.MyInternationalizationString.OFF;
                    tempSiwtch.MouseUpEventHandler += (sender3, e3) => {
                        if (udDevice.UniversalType == 0xE01C) {
                            if (udDevice.ActionType == 1) {
                                if (udDevice.SendBytes.Count == 0) {
                                    udDevice.SendBytes = new List<byte> () { udDevice.LoopID, 0 };
                                } else
                                    udDevice.SendBytes [1] = 0;
                                SetUDSendBytes (udDevice, 0);
                                Control.ControlBytesSend (Command.SetCommonSwitch, udDevice.SubnetID, udDevice.DeviceID, new byte [] { udDevice.SendBytes [0], 0 }, SendCount.Zero);
                            }
                            tempSiwtch.BorderColor = SkinStyle.Current.SelectedColor;
                        }
                    };
                } else if (udDevice.ActionType == 2) {
                    if (udDevice.SendBytes.Count == 0) {
                        //赋默认值
                        udDevice.SendBytes = new List<byte> () { udDevice.LoopID, 255 };
                    }
                    tempSiwtch.TextID = R.MyInternationalizationString.OFF;
                    tempSiwtch.X = Application.GetRealWidth (100);
                    tempSiwtch.Y = Application.GetRealHeight (100);
@@ -1977,15 +1996,13 @@
                        Radius = 2,
                        BorderColor = SkinStyle.Current.White20Transparent,
                        BorderWidth = 2,
                        TextID = R.MyInternationalizationString.ON
                        TextID = R.MyInternationalizationString.ON,
                        TextColor = SkinStyle.Current.TextColor1,
                    };
                    windBodyView.AddChidren (tempON);
                    tempON.MouseUpEventHandler += (sender3, e3) => {
                        if (udDevice.UniversalType == 0xE01C) {
                            if (udDevice.SendBytes.Count == 0) {
                                udDevice.SendBytes = new List<byte> () { udDevice.LoopID, 255 };
                            } else
                                udDevice.SendBytes [1] = 255;
                            SetUDSendBytes (udDevice, 255);
                            Control.ControlBytesSend (Command.SetCommonSwitch, udDevice.SubnetID, udDevice.DeviceID, new byte [] { udDevice.SendBytes [0], 255 }, SendCount.Zero);
                        }
                        tempON.BorderColor = SkinStyle.Current.SelectedColor;
@@ -1993,15 +2010,21 @@
                    };
                    tempSiwtch.MouseUpEventHandler += (sender3, e3) => {
                        if (udDevice.UniversalType == 0xE01C) {
                            if (udDevice.SendBytes.Count == 0) {
                                udDevice.SendBytes = new List<byte> () { udDevice.LoopID, 0 };
                            } else
                                udDevice.SendBytes [1] = 0;
                            SetUDSendBytes (udDevice, 0);
                            Control.ControlBytesSend (Command.SetCommonSwitch, udDevice.SubnetID, udDevice.DeviceID, new byte [] { udDevice.SendBytes [0], 0 }, SendCount.Zero);
                        }
                        tempSiwtch.BorderColor = SkinStyle.Current.SelectedColor;
                        tempON.BorderColor = SkinStyle.Current.Transparent;
                    };
                    if (udDevice.SendBytes [1] > 0) {
                        tempON.BorderColor = SkinStyle.Current.SelectedColor;
                        tempSiwtch.BorderColor = SkinStyle.Current.Transparent;
                    } else {
                        tempSiwtch.BorderColor = SkinStyle.Current.SelectedColor;
                        tempON.BorderColor = SkinStyle.Current.Transparent;
                    }
                }
                btnSave.MouseUpEventHandler += (sender2, e2) => {
@@ -2012,6 +2035,43 @@
            }
            dialog.Show ();
        }
        /// <summary>
        /// UniversalDevice
        /// </summary>
        /// <param name="udDevice"></param>
        /// <param name="mStatus"> 255/0</param>
        public void SetUDSendBytes (UniversalDevice udDevice, byte mStatus) {
            if (udDevice.SendBytes.Count == 0) {
                udDevice.SendBytes = new List<byte> () { udDevice.LoopID, mStatus };
            } else {
                udDevice.SendBytes [1] = mStatus;
            }
        }
        /// <summary>
        /// 根据ActionType状态,赋默认值
        /// </summary>
        /// <param name="udDevice"></param>
        /// <param name="mStatus"></param>
        public void SetUDDefaultsSendBytes (UniversalDevice udDevice)
        {
            if (udDevice == null) return;
            //只开、开关 都默认为255
            if (udDevice.SendBytes.Count == 0) {
                udDevice.SendBytes = new List<byte> () { udDevice.LoopID, 255 };
            } else {
                udDevice.SendBytes [1] = 255;
            }
            //只关、重置为0
            if (udDevice.ActionType == 1) {
                udDevice.SendBytes [1] = 0;
            }
        }
        /// <summary>
        /// 房间和场景添加设备的方法
@@ -2360,11 +2420,11 @@
                };
                var commonBytes = IO.FileUtils.ReadFile (deviceFilePath);
                if (commonBytes.Length == 0) {
                    Console.WriteLine ("length loss");
                    Utlis.WriteLine ("length loss");
                    continue;
                }
                if (commonBytes.Length == 1) {
                    Console.WriteLine ("length loss 1");
                    Utlis.WriteLine ("length loss 1");
                    continue;
                }
                Common commonDevice = Newtonsoft.Json.JsonConvert.DeserializeObject<Common> (System.Text.Encoding.UTF8.GetString (commonBytes));
@@ -2389,7 +2449,7 @@
                if (sceneFilePath == Scene.GlobalSceneFilePath) {
                    foreach (var filePath in scene.DeviceFilePathList) {
                        System.Console.WriteLine (filePath);
                        Utlis.WriteLine (filePath);
                        if (filePath.EndsWith (deviceFilePath)) {
                            btnEquipment.IsSelected = true;
                            break;
@@ -2420,6 +2480,7 @@
                                        break;
                                    case DeviceType.UniversalDevice:
                                        var sssd = Newtonsoft.Json.JsonConvert.DeserializeObject<UniversalDevice> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
                                        SetUDDefaultsSendBytes (sssd);
                                        IO.FileUtils.WriteFileByBytes (filePath, System.Text.Encoding.UTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (sssd)));
                                        break;
                                    default: