From 9ab5bd54fadd8fc9c542b48c99a117a4e182669b Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期四, 14 十月 2021 16:37:56 +0800 Subject: [PATCH] 智能空开能源界面数据更新 --- HDL_ON/Entity/Function/Sensor.cs | 157 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 147 insertions(+), 10 deletions(-) diff --git a/HDL_ON/Entity/Function/Sensor.cs b/HDL_ON/Entity/Function/Sensor.cs index 585a617..82ed611 100644 --- a/HDL_ON/Entity/Function/Sensor.cs +++ b/HDL_ON/Entity/Function/Sensor.cs @@ -38,7 +38,34 @@ /// </summary> public double GetValues(Function function) { - var value = function.GetAttrState(FunctionAttributeKey.Value); + FunctionAttributes attr = function.GetAttribute(FunctionAttributeKey.Value); + if (attr == null) + { + switch (function.spk) + { + case SPK.SensorCO2: + attr = function.GetAttribute(FunctionAttributeKey.Co2); + break; + case SPK.SensorTemperature: + attr = function.GetAttribute(FunctionAttributeKey.Temperature); + break; + case SPK.SensorTVOC: + attr = function.GetAttribute(FunctionAttributeKey.Tvoc); + break; + case SPK.SensorPm25: + attr = function.GetAttribute(FunctionAttributeKey.Pm25); + break; + case SPK.SensorHcho: + attr = function.GetAttribute(FunctionAttributeKey.Hcho); + break; + case SPK.SensorHumidity: + attr = function.GetAttribute(FunctionAttributeKey.Humidity); + break; + } + } + double value = 0.0; + double.TryParse( attr.state,out value); + return Convert.ToDouble(value); } /// <summary> @@ -81,16 +108,22 @@ _intervalValue.Add("33掳C ~"); break; case SPK.SensorTVOC: - _intervalValue.Add("0 ~ 0.6"); - _intervalValue.Add("0.61 ~ 2"); - _intervalValue.Add("2.01 ~ 5"); - _intervalValue.Add("5 ~"); + _intervalValue.Add("0 ~ 600"); + _intervalValue.Add("601 ~ 2000"); + _intervalValue.Add("2001 ~ 5000"); + _intervalValue.Add("5001 ~"); break; case SPK.SensorHumidity: _intervalValue.Add("70 ~"); _intervalValue.Add("71 ~ 40"); _intervalValue.Add("0 ~ 39"); break; + case SPK.SensorHcho: + _intervalValue.Add("~ 0.08"); + _intervalValue.Add("0.08 ~ 0.1"); + _intervalValue.Add("0.1 ~ "); + break; + } return _intervalValue; } @@ -135,6 +168,16 @@ _levelColorList.Add(0xFF2172FF); _levelColorList.Add(0xFFADE764); _levelColorList.Add(0xFFFF3D3D); + break; + case SPK.SensorHcho: + _levelColorList.Add(0xFF2172FF); + _levelColorList.Add(0xFFADE764); + _levelColorList.Add(0xFFFF3D3D); + break; + default: + _levelColorList.Add(0x00000000); + _levelColorList.Add(0x00000000); + _levelColorList.Add(0x00000000); break; } return _levelColorList; @@ -181,6 +224,16 @@ _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel2); _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel3); break; + case SPK.SensorHcho: + _levelTextList.Add(StringId.Class_I_BuildingStandard); + _levelTextList.Add(StringId.SecondaryBuildingStandard); + _levelTextList.Add(StringId.ExceedingTheStandard); + break; + default: + _levelTextList.Add(99999999); + _levelTextList.Add(99999999); + _levelTextList.Add(99999999); + break; } return _levelTextList; } @@ -211,7 +264,7 @@ level = 2; else if (values < 5000) level = 3; - else if (values > 5000) + else if (values >= 5000) level = 4; break; case SPK.SensorTemperature: @@ -231,13 +284,13 @@ level = 7; break; case SPK.SensorTVOC: - if (values < 0.6) + if (values < 600) level = 1; - else if (values < 2) + else if (values < 2000) level = 2; - else if (values < 5) + else if (values < 5000) level = 3; - else if (values > 5) + else if (values >= 5000) level = 4; break; case SPK.SensorHumidity: @@ -248,8 +301,92 @@ else if (values < 40) level = 3; break; + case SPK.SensorHcho: + if (values <= 0.08) + level = 1; + else if (values <= 0.1) + level = 2; + else + level = 3; + break; } return level; } + + + /// <summary> + /// 褰撳墠绛夌骇 + /// </summary> + public int GetCurLevel(string spk,double values) + { + int level = 1; + switch (spk) + { + case SPK.SensorPm25: + if (values < 35) + level = 1; + else if (values < 75) + level = 2; + else if (values < 115) + level = 3; + else if (values > 115) + level = 4; + break; + case SPK.SensorCO2: + if (values < 1000) + level = 1; + else if (values < 2000) + level = 2; + else if (values < 5000) + level = 3; + else if (values >= 5000) + level = 4; + break; + case SPK.SensorTemperature: + if (values < 18) + level = 1; + else if (values < 20) + level = 2; + else if (values < 25) + level = 3; + else if (values < 27) + level = 4; + else if (values < 30) + level = 5; + else if (values < 33) + level = 6; + else if (values > 33) + level = 7; + break; + case SPK.SensorTVOC: + if (values < 600) + level = 1; + else if (values < 2000) + level = 2; + else if (values < 5000) + level = 3; + else if (values >= 5000) + level = 4; + break; + case SPK.SensorHumidity: + if (values > 70) + level = 1; + else if (values > 40) + level = 2; + else if (values < 40) + level = 3; + break; + case SPK.SensorHcho: + if (values <= 0.08) + level = 1; + else if (values <= 0.1) + level = 2; + else + level = 3; + break; + } + return level; + } + } } -- Gitblit v1.8.0