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;
@@ -606,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) {
@@ -753,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) {
@@ -1037,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),
@@ -1056,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",
@@ -1075,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",
@@ -1098,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;
@@ -1171,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),
@@ -1191,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",
@@ -1210,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",
@@ -1318,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),
@@ -1342,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",
@@ -1361,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),
@@ -1385,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;
@@ -1441,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",
@@ -1451,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",
@@ -1477,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",
@@ -1518,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",
@@ -1536,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",
@@ -1579,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",
@@ -1598,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",
@@ -1695,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",
@@ -1721,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",
@@ -1757,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",
@@ -1777,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",
@@ -1848,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",
                };
@@ -1868,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,
@@ -2361,11 +2376,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));
@@ -2390,7 +2405,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;