From c008153a455b2c79ac9087d82bd9abf9f1eea19f Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期三, 11 八月 2021 18:03:14 +0800 Subject: [PATCH] 2021-08-11-1 --- HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs | 156 +++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 118 insertions(+), 38 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs index b5baaf1..cd99561 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs @@ -153,7 +153,7 @@ TextColor = CSS_Color.TextualColor, TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - Text = "--掳C", + Text = $"{MainPage.cityInfo.highestTemperature}掳C", }; topWeatherView.AddChidren(btnTempUpperLimitText); @@ -176,7 +176,7 @@ TextColor = CSS_Color.TextualColor, TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - Text = "--掳C", + Text = $"{MainPage.cityInfo.lowestTemperature}掳C", }; topWeatherView.AddChidren(btnTempLowerLimitText); @@ -271,8 +271,53 @@ int index = 0; foreach (var sensor in FunctionList.List.GetEnvirSensorsList()) { - LoadSensorDiv(sensor, index); - index++; + if(sensor.spk == SPK.SensorEnvironment) + { + foreach (var seTemp in sensor.attributes) + { + var newTemp = new Function() + { + name = sensor.name, + sid = sensor.sid, + deviceId = sensor.deviceId, + attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = seTemp.state, curValue = seTemp.curValue } }, + }; + switch (seTemp.key) + { + case "co2": + newTemp.spk = SPK.SensorCO2; + break; + case "pm25": + newTemp.spk = SPK.SensorPm25; + break; + case "humidity": + newTemp.spk = SPK.SensorHumidity; + break; + case "temperature": + newTemp.spk = SPK.SensorTemperature; + break; + case "tvoc": + newTemp.spk = SPK.SensorTVOC; + break; + } + LoadSensorDiv(newTemp, index); + index++; + } + } + else + { +#if DEBUG + continue; +#endif + LoadSensorDiv(sensor, index); + index++; + } + + new System.Threading.Thread(() => + { + Control.Ins.SendReadCommand(sensor); + }) + { IsBackground = true }.Start(); } } @@ -283,10 +328,9 @@ { var levelColorList = sensorTemp.GetLevelColorList(sensor.spk); var levelTextList = sensorTemp.GetLevelTextList(sensor.spk); - if (room.roomId == "" || sensor.roomIds.Contains(room.roomId)) { - var sensorTag = sensor.sid; + var sensorTag = sensor.spk + sensor.sid + sensor.deviceId; FrameLayout sensorView = new FrameLayout() { X = Application.GetRealWidth(7), @@ -411,12 +455,6 @@ #endregion }; - - new System.Threading.Thread(() => - { - Control.Ins.SendReadCommand(sensor); - }) - { IsBackground = true }.Start(); } } @@ -706,46 +744,88 @@ { Application.RunOnMainThread(() => { - if (bodyView != null) + try { - for (int i = 0; i < bodyView.sensorListView.ChildrenCount; i++) + if (bodyView != null) { - var sensorTag = updateTemp.sid; - var view = bodyView.sensorListView.GetChildren(i); - if (view.GetType() == typeof(FrameLayout)) + if (updateTemp.spk == SPK.SensorEnvironment) { - if (view.Tag.ToString() != sensorTag) + foreach (var seTemp in updateTemp.attributes) { - continue; - } - for (int j = 0; j < (view as FrameLayout).ChildrenCount; j++) - { - var btn = (view as FrameLayout).GetChildren(j); - if (btn.GetType() == typeof(Button)) + var newTemp = new Function() { - if (btn.Tag != null) + name = updateTemp.name, + sid = updateTemp.sid, + deviceId = updateTemp.deviceId, + attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = seTemp.state ,curValue = seTemp.curValue} }, + }; + switch (seTemp.key) + { + case "co2": + newTemp.spk = SPK.SensorCO2; + break; + case "pm25": + newTemp.spk = SPK.SensorPm25; + break; + case "humidity": + newTemp.spk = SPK.SensorHumidity; + break; + case "temperature": + newTemp.spk = SPK.SensorTemperature; + break; + case "tvoc": + newTemp.spk = SPK.SensorTVOC; + break; + } + if(!string.IsNullOrEmpty(newTemp.spk)) + { + LoadEvent_UpdataStatus(newTemp); + } + } + } + + for (int i = 0; i < bodyView.sensorListView.ChildrenCount; i++) + { + var sensorTag = updateTemp.spk + updateTemp.sid + updateTemp.deviceId; + var view = bodyView.sensorListView.GetChildren(i); + if (view.GetType() == typeof(FrameLayout)) + { + if (view.Tag.ToString() != sensorTag) + { + continue; + } + for (int j = 0; j < (view as FrameLayout).ChildrenCount; j++) + { + var btn = (view as FrameLayout).GetChildren(j); + if (btn.GetType() == typeof(Button)) { - var tag = btn.Tag.ToString(); - if (tag == "SensorValues") + if (btn.Tag != null) { - (btn as Button).Text = updateTemp.GetAttrState(FunctionAttributeKey.Value); - } - else if (tag == "SensorLevel") - { - (btn as Button).TextID = bodyView.sensorTemp.GetLevelTextList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; - (btn as Button).TextColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; + var tag = btn.Tag.ToString(); + if (tag == "SensorValues") + { + (btn as Button).Text = updateTemp.GetAttrState(FunctionAttributeKey.Value); + } + else if (tag == "SensorLevel") + { + (btn as Button).TextID = bodyView.sensorTemp.GetLevelTextList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; + (btn as Button).TextColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; + } } } - } - else if (btn.GetType() == typeof(ArcSeekBar)) - { - (btn as ArcSeekBar).ProgressBarColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; + else if (btn.GetType() == typeof(ArcSeekBar)) + { + (btn as ArcSeekBar).ProgressBarColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; - (btn as ArcSeekBar).Progress = (96 / bodyView.sensorTemp.GetLevelColorList(updateTemp.spk).Count) * bodyView.sensorTemp.GetCurLevel(updateTemp); + (btn as ArcSeekBar).Progress = (96 / bodyView.sensorTemp.GetLevelColorList(updateTemp.spk).Count) * bodyView.sensorTemp.GetCurLevel(updateTemp); + } } } } } + }catch(Exception ex ) + { + MainPage.Log($"鏇存柊鐜浼犳劅鍣ㄧ晫闈㈠紓甯�:{ex.Message}"); } }); } -- Gitblit v1.8.0