Crabtree/SmartHome/UI/SimpleControl/Phone/Room/UserRoom.cs
@@ -214,7 +214,7 @@
                        }
                    });
                } catch (Exception ex) {
                    Console.WriteLine (ex.Message);
                    Utlis.WriteLine (ex.Message);
                } finally {
                    //Application.RunOnMainThread (() => {
                    //    MainPage.Loading.Hide ();
@@ -230,7 +230,7 @@
        {
            foreach (var thread in UserMiddle.updateSensorhreadList) {
                thread.Abort ();
                Console.WriteLine ("abortThread");
                Utlis.WriteLine ("abortThread");
            }
            UserMiddle.updateSensorhreadList.Clear ();
            EnergtLightList.Clear ();
@@ -478,7 +478,7 @@
                                                System.IO.FileInfo fileInfo = new System.IO.FileInfo (IO.FileUtils.RootPath + fileName);
                                                if (fileInfo.Exists) {
                                                    fileInfo.MoveTo (oldRegionRootPath + fileName);
                                                    Console.WriteLine ("move file : " + fileName);
                                                    Utlis.WriteLine ("move file : " + fileName);
                                                }
                                                index++;
                                                Application.RunOnMainThread (() => {
@@ -508,7 +508,7 @@
                                                new Alert ("", Language.StringByID (R.MyInternationalizationString.CheckInternet),
                                                           Language.StringByID (R.MyInternationalizationString.Close)).Show ();
                                            });
                                            Console.WriteLine (ex.Message);
                                            Utlis.WriteLine (ex.Message);
                                        } finally {
                                            Application.RunOnMainThread (() => {
                                                MainPage.Loading.Hide ();
@@ -1366,7 +1366,7 @@
                                };
                                proessView.AddChidren (btnMaxBrightness);
                                horizontalSeekBar.ProgressChanged += (sender2, e4) => {
                                    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) {
@@ -1821,9 +1821,10 @@
                                }
                            };
                            #endregion
                        } else if (devcieCommon.Type == DeviceType.LightSwitch ||
                            devcieCommon.Type == DeviceType.LightEnergySocket ||
                            devcieCommon.Type == DeviceType.LightEnergySwitch || devcieCommon.Type == DeviceType.LightSwitchSocket) {
                        } else if (devcieCommon.Type == DeviceType.LightSwitch
                            || devcieCommon.Type == DeviceType.LightEnergySocket
                            || devcieCommon.Type == DeviceType.LightEnergySwitch
                            || devcieCommon.Type == DeviceType.LightSwitchSocket) {
                            #region 继电器
                            LightSwitch switchLight = devcieCommon as LightSwitch;
                            tempSwitch.IsSelected = switchLight.CurrentBrightness == 100 ? true : false;
@@ -1876,10 +1877,13 @@
                                    SendControl.SendControlSetSingleLight (switchLight, new byte [] { switchLight.LoopID, 0, 0, 0 });
                                    //Control.ControlBytesSend (Command.SetSingleLight, switchLight.SubnetID, switchLight.DeviceID, new byte [] { switchLight.LoopID, 0, 0, 0 });
                                }
                                new System.Threading.Thread (() => {
                                    Control.ControlBytesSend (Command.ReadAnalogValue, switchLight.SubnetID, switchLight.DeviceID, new byte [] { 10, switchLight.LoopID }, SendCount.Zero);
                                    Control.ControlBytesSend (Command.ReadAnalogValue, switchLight.SubnetID, switchLight.DeviceID, new byte [] { 11, switchLight.LoopID }, SendCount.Zero);
                                }) { IsBackground = true }.Start ();
                                if (devcieCommon.Type == DeviceType.LightEnergySocket || devcieCommon.Type == DeviceType.LightEnergySwitch) {
                                    new System.Threading.Thread (() => {
                                        Control.ControlBytesSend (Command.ReadAnalogValue, switchLight.SubnetID, switchLight.DeviceID, new byte [] { 10, switchLight.LoopID }, SendCount.Zero);
                                        Control.ControlBytesSend (Command.ReadAnalogValue, switchLight.SubnetID, switchLight.DeviceID, new byte [] { 11, switchLight.LoopID }, SendCount.Zero);
                                    }) { IsBackground = true }.Start ();
                                }
                            };
                            #endregion
                        } else if (devcieCommon.Type == DeviceType.CurtainModel) {
@@ -1987,7 +1991,7 @@
                            try {
                                InfraredMode infraredTV = devcieCommon as InfraredMode;// Newtonsoft.Json.JsonConvert.DeserializeObject<InfraredMode> (CommonPage.MyEncodingUTF8.GetString (IO.FileUtils.ReadFile (deviceFilePath)));
                                if (infraredTV != null)
                                    Console.WriteLine (infraredTV.InfraredType);
                                    Utlis.WriteLine (infraredTV.InfraredType);
                                if (infraredTV.InfraredType == InfraredType.TV) {
                                    btnIcon.UnSelectedImagePath = "Item/InfraredTV.png";
                                    btnIcon.SelectedImagePath = "Item/InfraredTV.png";
@@ -2008,7 +2012,7 @@
                                    };
                                }
                            } catch (Exception ex) {
                                Console.WriteLine (ex.ToString ());
                                Utlis.WriteLine (ex.ToString ());
                                continue;
                            }
                            #endregion
@@ -2046,14 +2050,14 @@
                            };
                            DeviceRowView.AddChidren (tempSwitch);
                            if (udDevice.ActionType == 0) {
                                tempSwitch.Text = udDevice.ON_Text;
                                //tempSwitch.TextID = R.MyInternationalizationString.ON;
                                //tempSwitch.Text = udDevice.ON_Text;
                                tempSwitch.TextID = R.MyInternationalizationString.ON;
                            } else if (udDevice.ActionType == 1) {
                                tempSwitch.Text = udDevice.OFF_Text;
                                //tempSwitch.TextID = R.MyInternationalizationString.OFF;
                                //tempSwitch.Text = udDevice.OFF_Text;
                                tempSwitch.TextID = R.MyInternationalizationString.OFF;
                            } else if (udDevice.ActionType == 2) {
                                tempSwitch.Text = udDevice.OFF_Text;
                                //tempSwitch.TextID = R.MyInternationalizationString.OFF;
                                //tempSwitch.Text = udDevice.OFF_Text;
                                tempSwitch.TextID = R.MyInternationalizationString.OFF;
                                Button tempON = new Button () {
                                    Width = Application.GetRealWidth (110),
@@ -2079,25 +2083,26 @@
                                    DeviceRowView.BorderColor = SkinStyle.Current.SelectedColor;
                                    tempON.BorderColor = SkinStyle.Current.SelectedColor;
                                };
                                tempSwitch.MouseUpEventHandler += (sender3, e3) => {
                                    if (udDevice.UniversalType == 0xE01C) {
                                        if (udDevice.ActionType == 0) {
                                            //2020-02-10 待修改
                                            Control.ControlBytesSend (Command.SetCommonSwitch, udDevice.SubnetID, udDevice.DeviceID, new byte [] { udDevice.SendBytes [0], 255 }, SendCount.Zero);
                                        } else if (udDevice.ActionType == 1) {
                                            Control.ControlBytesSend (Command.SetCommonSwitch, udDevice.SubnetID, udDevice.DeviceID, new byte [] { udDevice.SendBytes [0], 0 }, SendCount.Zero);
                                        } else if (udDevice.ActionType == 2) {
                                            Control.ControlBytesSend (Command.SetCommonSwitch, udDevice.SubnetID, udDevice.DeviceID, new byte [] { udDevice.SendBytes [0], 0 }, SendCount.Zero);
                                        }
                                    }
                                    DeviceRowView.BorderColor = SkinStyle.Current.Transparent;
                                    tempSwitch.BorderColor = SkinStyle.Current.BorderColor;
                                };
                                tempSwitch.MouseDownEventHandler += (sende3r, e3) => {
                                    DeviceRowView.BorderColor = SkinStyle.Current.SelectedColor;
                                    tempSwitch.BorderColor = SkinStyle.Current.SelectedColor;
                                };
                            }
                            tempSwitch.MouseUpEventHandler += (sender3, e3) => {
                                if (udDevice.UniversalType == 0xE01C) {
                                    if (udDevice.ActionType == 0) {
                                        //2020-02-10 待修改
                                        Control.ControlBytesSend (Command.SetCommonSwitch, udDevice.SubnetID, udDevice.DeviceID, new byte [] { udDevice.SendBytes [0], 255 }, SendCount.Zero);
                                    } else if (udDevice.ActionType == 1) {
                                        Control.ControlBytesSend (Command.SetCommonSwitch, udDevice.SubnetID, udDevice.DeviceID, new byte [] { udDevice.SendBytes [0], 0 }, SendCount.Zero);
                                    } else if (udDevice.ActionType == 2) {
                                        Control.ControlBytesSend (Command.SetCommonSwitch, udDevice.SubnetID, udDevice.DeviceID, new byte [] { udDevice.SendBytes [0], 0 }, SendCount.Zero);
                                    }
                                }
                                DeviceRowView.BorderColor = SkinStyle.Current.Transparent;
                                tempSwitch.BorderColor = SkinStyle.Current.BorderColor;
                            };
                            tempSwitch.MouseDownEventHandler += (sende3r, e3) => {
                                DeviceRowView.BorderColor = SkinStyle.Current.SelectedColor;
                                tempSwitch.BorderColor = SkinStyle.Current.SelectedColor;
                            };
                            #endregion
                        } else if (devcieCommon.Type.ToString ().Contains ("Sensor")) {
                            #region 传感器
@@ -2290,7 +2295,7 @@
                    }
                }
            } catch (Exception ex) {
                Console.WriteLine ("exddd :" + ex.ToString ());
                Utlis.WriteLine ("exddd :" + ex.ToString ());
            } finally {
                //2020-02-14 增加读状态操作
                UserMiddle.ReadAllDeviceStatus (false, true);
@@ -2306,7 +2311,7 @@
                                Control.ControlBytesSend (Command.ReadAnalogValue, c.SubnetID, c.DeviceID, new byte [] { 11, c.LoopID }, SendCount.Zero);
#if DEBUG
                                Application.RunOnMainThread (() => {
                                    Console.WriteLine ($"读取 { c.Name } 电能");
                                    Utlis.WriteLine ($"读取 { c.Name } 电能");
                                });
#endif
                                System.Threading.Thread.Sleep (500);