Fix GlobalTemp and GlobalHum

Fix GlobalTemp and GlobalHum (#8156)
This commit is contained in:
Theo Arends 2020-04-14 11:58:24 +02:00
parent d9b3f2d6f9
commit ba01cb2046
2 changed files with 15 additions and 8 deletions

View File

@ -117,6 +117,8 @@
| USE_AHT1x | - | - | - | - | - | - | - | | USE_AHT1x | - | - | - | - | - | - | - |
| USE_HDC1080 | - | - | - | - | - | - | - | | USE_HDC1080 | - | - | - | - | - | - | - |
| USE_WEMOS_MOTOR_V1 | - | - | - | - | x | - | - | | USE_WEMOS_MOTOR_V1 | - | - | - | - | x | - | - |
| USE_IAQ | - | - | - | - | x | - | - |
| USE_AS3935 | - | - | - | - | x | - | - |
| | | | | | | | | | | | | | | | | |
| Feature or Sensor | minimal | lite | tasmota | knx | sensors | ir | display | Remarks | Feature or Sensor | minimal | lite | tasmota | knx | sensors | ir | display | Remarks
| USE_SPI | - | - | - | - | - | - | x | | USE_SPI | - | - | - | - | - | - | x |

View File

@ -579,23 +579,28 @@ void CmndHumOffset(void)
void CmndGlobalTemp(void) void CmndGlobalTemp(void)
{ {
if (XdrvMailbox.data_len > 0) { if (XdrvMailbox.data_len > 0) {
int value = (int)(CharToFloat(XdrvMailbox.data) * 10); float temperature = CharToFloat(XdrvMailbox.data);
if ((value > -401) && (value < 801)) { if (!isnan(temperature) && Settings.flag.temperature_conversion) { // SetOption8 - Switch between Celsius or Fahrenheit
ConvertTemp(value); temperature = (temperature - 32) / 1.8; // Celsius
}
if ((temperature >= -50.0) && (temperature <= 100.0)) {
ConvertTemp(temperature);
global_update = 1; // Keep global values just entered valid
} }
} }
ResponseCmndFloat((float)(global_temperature) / 10, 1); ResponseCmndFloat(global_temperature, 1);
} }
void CmndGlobalHum(void) void CmndGlobalHum(void)
{ {
if (XdrvMailbox.data_len > 0) { if (XdrvMailbox.data_len > 0) {
int value = (int)(CharToFloat(XdrvMailbox.data) * 10); float humidity = CharToFloat(XdrvMailbox.data);
if ((value > -10) && (value < 999)) { if ((humidity >= 0.0) && (humidity <= 100.0)) {
ConvertHumidity(value); ConvertHumidity(humidity);
global_update = 1; // Keep global values just entered valid
} }
} }
ResponseCmndFloat((float)(global_humidity) / 10, 1); ResponseCmndFloat(global_humidity, 1);
} }
void CmndSleep(void) void CmndSleep(void)