From 5a5a2b696866f947b6025d26c3302e8ffef46435 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期一, 11 一月 2021 16:11:20 +0800 Subject: [PATCH] 2021-01-11 1.更新MQTT连接和本地搜索网关方法。2.子账号相关接口完善 --- Crabtree/SmartHome/UI/SimpleControl/Phone/Room/UserRoom.cs | 224 +++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 140 insertions(+), 84 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Room/UserRoom.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Room/UserRoom.cs index 4b5e0a5..bc97f19 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Room/UserRoom.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Room/UserRoom.cs @@ -59,11 +59,13 @@ if (btn.Tag.ToString () == DeviceType.LightEnergySocket.ToString () + "_Voltage" || btn.Tag.ToString () == DeviceType.LightEnergySwitch.ToString () + "_Voltage") { btn.Text = energy.ToString () + " W"; } - } else if (updataType == 11) { - if (btn.Tag.ToString () == DeviceType.LightEnergySocket.ToString () + "_Electric" || btn.Tag.ToString () == DeviceType.LightEnergySwitch.ToString () + "_Electric") { - btn.Text = ((double)(Convert.ToDouble (energy) / 10)).ToString () + " kw.h"; - } } + //2020-07-01 瀹㈡埛鎻愬嚭闅愯棌kwh + //else if (updataType == 11) { + // if (btn.Tag.ToString () == DeviceType.LightEnergySocket.ToString () + "_Electric" || btn.Tag.ToString () == DeviceType.LightEnergySwitch.ToString () + "_Electric") { + // btn.Text = ((double)(Convert.ToDouble (energy) / 10)).ToString () + " kw.h"; + // } + //} } } } @@ -214,7 +216,7 @@ } }); } catch (Exception ex) { - Console.WriteLine (ex.Message); + Utlis.WriteLine (ex.Message); } finally { //Application.RunOnMainThread (() => { // MainPage.Loading.Hide (); @@ -230,7 +232,7 @@ { foreach (var thread in UserMiddle.updateSensorhreadList) { thread.Abort (); - Console.WriteLine ("abortThread"); + Utlis.WriteLine ("abortThread"); } UserMiddle.updateSensorhreadList.Clear (); EnergtLightList.Clear (); @@ -393,20 +395,28 @@ MainPage.Loading.Start (); System.Threading.Tasks.Task.Run (() => { if (UserConfig.Instance.HomeLists.Count == 0) { - var requestObj2 = new GetHomePagerObj (); - requestObj2.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString; - //var requestObj2 = new HomeListObj (); - var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); - var revertObj2 = MainPage.RequestHttps (API.GetHomePager, requestJson2); - if (revertObj2.StateCode.ToUpper() == "SUCCESS") { - var mResidenceRes = Newtonsoft.Json.JsonConvert.DeserializeObject<ResidenceRes> (revertObj2.ResponseData.ToString ()); + //var requestObj2 = new GetHomePagerObj (); + //requestObj2.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString; + ////var requestObj2 = new HomeListObj (); + //var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); + //var revertObj2 = MainPage.RequestHttps (API.GetHomePager, requestJson2); + //if (revertObj2.StateCode.ToUpper() == StateCode.SUCCESS) { + // var mResidenceRes = Newtonsoft.Json.JsonConvert.DeserializeObject<ResidenceRes> (revertObj2.ResponseData.ToString ()); - if (mResidenceRes.PageData != null && mResidenceRes.PageData.Count > 0) { - UserConfig.Instance.HomeLists = mResidenceRes.PageData; - UserConfig.Instance.SaveUserConfig (); - } + // if (mResidenceRes.PageData != null && mResidenceRes.PageData.Count > 0) { + // UserConfig.Instance.HomeLists = mResidenceRes.PageData; + // UserConfig.Instance.SaveUserConfig (); + // } + //} else { + // ShowGetHomePagerErrorInfo (revertObj2.StateCode); + //} + + //鑾峰彇浣忓畢鍒楄〃 + var revertObjCode = HttpServerRequest.Current.GetHomePager (); + if (revertObjCode == StateCode.SUCCESS) { + } else { - ShowGetHomePagerErrorInfo (revertObj2.StateCode); + IMessageCommon.Current.ShowErrorInfoAlter (revertObjCode); } } Application.RunOnMainThread (() => { @@ -478,7 +488,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 +518,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 (); @@ -661,24 +671,21 @@ CommonPage.RefreshAir = () => { var airQualityR = CommonPage.AirQuality; - if (airQualityR != null && - airQualityR.data != null && - airQualityR.data.city != null && - airQualityR.data.condition != null) { - AirQCity = btnCity.Text = airQualityR.data.city.name; - AirQTemp = btnTemp.Text = airQualityR.data.condition.temp + "掳"; - if (airQualityR.data.aqi != null) { - AirQAirPM25 = btnPM25.Text = "PM2.5 " + airQualityR.data.aqi.pm25; + if (airQualityR != null) { + AirQCity = btnCity.Text = airQualityR.city; + AirQTemp = btnTemp.Text = airQualityR.airQTemp + "掳"; + if (airQualityR.airQAirPM25 != null) { + AirQAirPM25 = btnPM25.Text = "PM2.5 " + airQualityR.airQAirPM25; } else { - if (string.IsNullOrEmpty (airQualityR.data.condition.condition)) - btnPM25.Text = airQualityR.data.condition.condition; + if (string.IsNullOrEmpty (airQualityR.airQAirWeather)) + btnPM25.Text = airQualityR.airQAirWeather; } - AirQHumidity = btnHumidity.Text = airQualityR.data.condition.humidity; + AirQHumidity = btnHumidity.Text = airQualityR.airQHumidity; AirQHumidityIcon = btnHumidityIcon.UnSelectedImagePath = "AirQuality/HumidityIcon.png"; AirQAirPM25Icon = btnPM25Icon.UnSelectedImagePath = "AirQuality/PM25Icon.png"; - AirLineNullBackgroundColor = btnAirLineNull.BackgroundColor = SkinStyle.Current.White20Transparent; + btnAirLineNull.BackgroundColor = SkinStyle.Current.White20Transparent; #region - switch (airQualityR.data.condition.condition) { + switch (airQualityR.airQAirWeather) { case "鏅�": case "Sunny": case "鏅村ぉ": @@ -848,6 +855,7 @@ #endregion } }; + CommonPage.RefreshAir (); } else { @@ -916,13 +924,16 @@ SelectedTextColor = SkinStyle.Current.TextColor1, }; acRowView.AddChidren (tempDeviceName); + //2020-08-28 澧炲姞闀挎寜淇敼璁惧澶囨敞 + ButtonNameAddMouseLongEventHandler (tempDeviceName, devcieCommon); + tempDeviceName.MouseUpEventHandler += openACControlPageEvent; Button btnMode = new Button () { X = Application.GetRealWidth (20), Y = Application.GetRealHeight (40), - Width = Application.GetRealWidth (100), - Height = Application.GetRealHeight (100), + Width = Application.GetMinRealAverage (100), + Height = Application.GetMinRealAverage (100), Tag = "Mode" }; acRowView.AddChidren (btnMode); @@ -932,8 +943,8 @@ Button btnWind = new Button () { X = btnMode.Right + Application.GetRealWidth (0), Y = Application.GetRealHeight (40), - Width = Application.GetRealWidth (100), - Height = Application.GetRealHeight (100), + Width = Application.GetMinRealAverage (100), + Height = Application.GetMinRealAverage (100), Tag = "Wind" }; acRowView.AddChidren (btnWind); @@ -1029,6 +1040,10 @@ IsMoreLines = true }; fhRowView.AddChidren (tempDeviceName); + + //2020-08-28 澧炲姞闀挎寜淇敼璁惧澶囨敞 + ButtonNameAddMouseLongEventHandler (tempDeviceName, devcieCommon); + tempDeviceName.MouseUpEventHandler += (sender2, e2) => { UserFHPage fhView = new UserFHPage (fh, room); if (roomFilePath == Room.FavoriteRoom) { @@ -1146,6 +1161,13 @@ IsMoreLines = true }; DeviceRowView.AddChidren (btnName); + + //2020-08-28 澧炲姞闀挎寜淇敼璁惧澶囨敞 + ButtonNameAddMouseLongEventHandler (btnName, devcieCommon); + + //btnName.MouseLongEventHandler += (sender, e)=>{ + // RemarkDeviceName (devcieCommon, SimpleControl.CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (devcieCommon)), btnName); + //}; Button tempSwitch = new Button () { Width = Application.GetMinRealAverage (90), @@ -1366,7 +1388,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 +1843,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; @@ -1850,19 +1873,19 @@ }; DeviceRowView.AddChidren (btnEnergy); EnergtLightList.Add (devcieCommon); - - Button btnElectric = new Button () { - Width = Application.GetRealWidth (200), - Height = Application.GetRealHeight (35), - X = Application.GetRealWidth (320), - Y = tempSwitch.Bottom, - TextColor = SkinStyle.Current.TextColor1, - TextAlignment = TextAlignment.CenterRight, - SelectedTextColor = SkinStyle.Current.TextColor1, - Tag = devcieCommon.Type.ToString () + "_Electric", - Text = "0 kw.h" - }; - DeviceRowView.AddChidren (btnElectric); + //2020-07-01 瀹㈡埛鎻愬嚭闅愯棌kwh + //Button btnElectric = new Button () { + // Width = Application.GetRealWidth (200), + // Height = Application.GetRealHeight (35), + // X = Application.GetRealWidth (320), + // Y = tempSwitch.Bottom, + // TextColor = SkinStyle.Current.TextColor1, + // TextAlignment = TextAlignment.CenterRight, + // SelectedTextColor = SkinStyle.Current.TextColor1, + // Tag = devcieCommon.Type.ToString () + "_Electric", + // Text = "0 kw.h" + //}; + //DeviceRowView.AddChidren (btnElectric); } tempSwitch.MouseUpEventHandler += (sender3, e3) => { //tempSwitch.IsSelected = !tempSwitch.IsSelected; @@ -1880,7 +1903,8 @@ 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); + //2020-07-01 瀹㈡埛鎻愬嚭闅愯棌kwh + //Control.ControlBytesSend (Command.ReadAnalogValue, switchLight.SubnetID, switchLight.DeviceID, new byte [] { 11, switchLight.LoopID }, SendCount.Zero); }) { IsBackground = true }.Start (); } }; @@ -1990,7 +2014,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"; @@ -2011,7 +2035,7 @@ }; } } catch (Exception ex) { - Console.WriteLine (ex.ToString ()); + Utlis.WriteLine (ex.ToString ()); continue; } #endregion @@ -2049,14 +2073,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), @@ -2082,25 +2106,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 浼犳劅鍣� @@ -2293,7 +2318,7 @@ } } } catch (Exception ex) { - Console.WriteLine ("exddd :" + ex.ToString ()); + Utlis.WriteLine ("exddd :" + ex.ToString ()); } finally { //2020-02-14 澧炲姞璇荤姸鎬佹搷浣� UserMiddle.ReadAllDeviceStatus (false, true); @@ -2306,10 +2331,11 @@ var c = EnergtLightList [i]; Control.ControlBytesSend (Command.ReadAnalogValue, c.SubnetID, c.DeviceID, new byte [] { 10, c.LoopID }, SendCount.Zero); - Control.ControlBytesSend (Command.ReadAnalogValue, c.SubnetID, c.DeviceID, new byte [] { 11, c.LoopID }, SendCount.Zero); + //2020-07-01 瀹㈡埛鎻愬嚭闅愯棌kwh + //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); @@ -2358,5 +2384,35 @@ }); }); } + + /// <summary> + /// + /// </summary> + /// <param name="btnName"></param> + /// <param name="devcieCommon"></param> + void ButtonNameAddMouseLongEventHandler (Button btnName,Common devcieCommon) + { + //2020-08-28 澧炲姞闀挎寜淇敼璁惧澶囨敞 + btnName.MouseLongEventHandler += (sender, e) => { + RemarkDeviceName (devcieCommon, SimpleControl.CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (devcieCommon)), btnName); + }; + } + + /// <summary> + /// + /// </summary> + /// <param name="commonDevice"></param> + /// <param name="commonBytes"></param> + /// <param name="btnEquipment"></param> + void RemarkDeviceName (Common commonDevice, byte[] commonBytes, Button btnEquipment) + { + Action successAction = () => { + GenericDialog.Current.RefreshRemark (commonDevice); + //if (!roomDeviceFilePathList.Contains (filePath)) { + // roomDeviceFilePathList.Add (filePath); + //} + }; + GenericDialog.Current.ShowModifyRemarksDialog (commonDevice, commonBytes, btnEquipment, successAction); + } } } \ No newline at end of file -- Gitblit v1.8.0