From df3906c03db154e8622b7caeaa3bf93b67c6d40a Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 15 十月 2021 10:25:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/newBranch1' into CJL-Linphone
---
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