JLChen
2021-01-05 f500e14c0a994487070380c50c85e0929cbc8e63
Crabtree/SmartHome/UI/SimpleControl/Phone/Fan/UserFan.cs
@@ -77,10 +77,11 @@
            };
            speedView.AddChidren (btnSpeed8);
            btnSpeed8.MouseDownEventHandler += (sender, e) => {
                fanModule.Switch = fanModule.WindSpeed = 8;
                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 8 });
                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                //fanModule.Switch = fanModule.WindSpeed = 8;
                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 8 });
                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                SendControlFan (fanModule, 8);
            };
            Button btnSpeed1 = new Button () {
@@ -92,11 +93,13 @@
            };
            speedView.AddChidren (btnSpeed1);
            btnSpeed1.MouseDownEventHandler += (sender, e) => {
                btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                fanModule.Switch = fanModule.WindSpeed = 1;
                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 1 });
                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                //fanModule.Switch = fanModule.WindSpeed = 1;
                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 1 });
                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                SendControlFan (fanModule, 1);
            };
            Button btnSpeed2 = new Button () {
@@ -108,11 +111,13 @@
            };
            speedView.AddChidren (btnSpeed2);
            btnSpeed2.MouseDownEventHandler += (sender, e) => {
                btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                fanModule.Switch = fanModule.WindSpeed = 2;
                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 2 });
                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                //fanModule.Switch = fanModule.WindSpeed = 2;
                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 2 });
                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                SendControlFan (fanModule, 2);
            };
            Button btnSpeed3 = new Button () {
@@ -124,11 +129,13 @@
            };
            speedView.AddChidren (btnSpeed3);
            btnSpeed3.MouseDownEventHandler += (sender, e) => {
                btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                fanModule.Switch = fanModule.WindSpeed = 3;
                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 3 });
                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                //fanModule.Switch = fanModule.WindSpeed = 3;
                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 3 });
                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                SendControlFan (fanModule, 3);
            };
            Button btnSpeed4 = new Button () {
                X = btnSpeed1.X,
@@ -139,11 +146,13 @@
            };
            speedView.AddChidren (btnSpeed4);
            btnSpeed4.MouseDownEventHandler += (sender, e) => {
                btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                fanModule.Switch = fanModule.WindSpeed = 4;
                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 4 });
                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.WindSpeed.ToString () + ".png";
                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                //fanModule.Switch = fanModule.WindSpeed = 4;
                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 4 });
                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.WindSpeed.ToString () + ".png";
                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                SendControlFan (fanModule, 4);
            };
            Button btnSpeed5 = new Button () {
                X = btnSpeed8.X,
@@ -155,11 +164,13 @@
            };
            speedView.AddChidren (btnSpeed5);
            btnSpeed5.MouseDownEventHandler += (sender, e) => {
                btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                fanModule.Switch = fanModule.WindSpeed = 5;
                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 5 });
                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                //fanModule.Switch = fanModule.WindSpeed = 5;
                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 5 });
                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                SendControlFan (fanModule, 5);
            };
            Button btnSpeed6 = new Button () {
                X = Application.GetRealWidth (20),
@@ -170,11 +181,13 @@
            };
            speedView.AddChidren (btnSpeed6);
            btnSpeed6.MouseDownEventHandler += (sender, e) => {
                btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                fanModule.Switch = fanModule.WindSpeed = 6;
                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 6 });
                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                //fanModule.Switch = fanModule.WindSpeed = 6;
                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 6 });
                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                SendControlFan (fanModule, 6);
            };
            Button btnSpeed7 = new Button () {
                X = Application.GetRealWidth (20),
@@ -185,11 +198,13 @@
            };
            speedView.AddChidren (btnSpeed7);
            btnSpeed7.MouseDownEventHandler += (sender, e) => {
                btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                fanModule.Switch = fanModule.WindSpeed = 7;
                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 7 });
                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                //fanModule.Switch = fanModule.WindSpeed = 7;
                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 7 });
                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                SendControlFan (fanModule, 7);
            };
            btnSwitch = new Button () {
@@ -205,8 +220,8 @@
            btnBottomSwitch = new Button () {
                X = Application.GetRealWidth (212),
                Y = speedView.Bottom + Application.GetRealHeight (250),
                Width = Application.GetRealWidth (215),
                Height = Application.GetRealHeight (95),
                Width = Application.GetMinRealAverage (215),
                Height = Application.GetMinRealAverage (95),
                SelectedImagePath = "Fan/FanSwitchOn.png",
                UnSelectedImagePath = "Fan/FanSwitch.png",
                IsSelected = fanModule.Switch != 0
@@ -215,32 +230,46 @@
            btnSwitch.MouseDownEventHandler += (sender, e) => {
                if (btnSwitch.IsSelected) {
                    btnBottomSwitch.IsSelected = btnSwitch.IsSelected = false;
                    fanModule.Switch = 0;
                    Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, fanModule.Switch });
                    speedView.BackgroundImagePath = "Fan/Speed0.png";
                    //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = false;
                    //fanModule.Switch = 0;
                    ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, fanModule.Switch });
                    //SendControlFan (fanModule, fanModule.Switch);
                    //speedView.BackgroundImagePath = "Fan/Speed0.png";
                    SendControlFan (fanModule, 0);
                } else {
                    btnSwitch.IsSelected = btnBottomSwitch.IsSelected = true;
                    fanModule.Switch = fanModule.WindSpeed;
                    Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, fanModule.WindSpeed });
                    speedView.BackgroundImagePath = "Fan/Speed" + fanModule.WindSpeed.ToString () + ".png";
                    //btnSwitch.IsSelected = btnBottomSwitch.IsSelected = true;
                    //fanModule.Switch = fanModule.WindSpeed;
                    ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, fanModule.WindSpeed });
                    //SendControlFan (fanModule, fanModule.WindSpeed);
                    //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.WindSpeed.ToString () + ".png";
                    if (fanModule.WindSpeed == 0) fanModule.WindSpeed = 1;
                    SendControlFan (fanModule, fanModule.WindSpeed);
                }
                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
            };
            btnBottomSwitch.MouseDownEventHandler += (sender, e) => {
                if (btnBottomSwitch.IsSelected) {
                    btnBottomSwitch.IsSelected = btnSwitch.IsSelected = false;
                    fanModule.Switch = 0;
                    Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID, new byte [] { fanModule.LoopID, fanModule.Switch });
                    speedView.BackgroundImagePath = "Fan/Speed0.png";
                    //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = false;
                    //fanModule.Switch = 0;
                    ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID, new byte [] { fanModule.LoopID, fanModule.Switch });
                    //SendControlFan (fanModule, fanModule.Switch);
                    //speedView.BackgroundImagePath = "Fan/Speed0.png";
                    SendControlFan (fanModule, 0);
                } else {
                    btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                    fanModule.Switch = fanModule.WindSpeed;
                    Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID, new byte [] { fanModule.LoopID, fanModule.WindSpeed });
                    speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                    //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
                    //fanModule.Switch = fanModule.WindSpeed;
                    ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID, new byte [] { fanModule.LoopID, fanModule.WindSpeed });
                    //SendControlFan (fanModule, fanModule.WindSpeed);
                    //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
                    if (fanModule.WindSpeed == 0) fanModule.WindSpeed = 1;
                    SendControlFan (fanModule, fanModule.WindSpeed);
                }
                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
            };
            Control.ControlBytesSend (Command.ReadLightEquipmentAllLoopBrightness, fanModule.SubnetID, fanModule.DeviceID,new byte [] { });
            speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
@@ -264,5 +293,26 @@
                }
            });
        }
        /// <summary>
        /// //2020-02-10 带返回结果的风扇控制
        /// </summary>
        /// <param name="mFanModule"></param>
        /// <param name="sendByte"></param>
        void SendControlFan (FanModule mFanModule, byte sendByte) {
            MainPage.Loading.Start ("Sending...");
            System.Threading.Tasks.Task.Run (() => {
                byte [] returnBytes = Control.ControlBytesSendHasReturn (Command.SetSingleLight, mFanModule.SubnetID, mFanModule.DeviceID, new byte [] { mFanModule.LoopID, sendByte });
                //byte [] returnBytes = Control.ControlBytesSendHasReturn (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID, new byte [] { fanModule.LoopID, fanModule.Switch });
                Application.RunOnMainThread (() => {
                    if (returnBytes == null) {
                        new Alert ("", mFanModule.Name + ErrorCode.ControlFailure, "Close").Show ();
                    }
                    MainPage.Loading.Hide ();
                });
            });
        }
    }
}