diff --git a/src/config.hpp b/src/config.hpp index 29e580a..d62cd74 100644 --- a/src/config.hpp +++ b/src/config.hpp @@ -322,12 +322,12 @@ class Config { _tempSensorAdjC = f; _saveNeeded = true; } - void setTempSensorAdjC(String s) { - _tempSensorAdjC = s.toFloat(); + void setTempSensorAdjC(String s, float adjustC = 0) { + _tempSensorAdjC = s.toFloat() + adjustC; _saveNeeded = true; } - void setTempSensorAdjF(String s) { - _tempSensorAdjC = convertFtoC(s.toFloat()); + void setTempSensorAdjF(String s, float adjustF = 0) { + _tempSensorAdjC = convertFtoC(s.toFloat() + adjustF); _saveNeeded = true; } diff --git a/src/webserver.cpp b/src/webserver.cpp index ee71960..7be5ad8 100644 --- a/src/webserver.cpp +++ b/src/webserver.cpp @@ -61,8 +61,9 @@ void WebServerHandler::webHandleConfig() { // Format the adjustment so we get rid of rounding errors if (myConfig.isTempF()) + // We want the delta value (32F = 0C). doc[PARAM_TEMP_ADJ] = - reduceFloatPrecision(convertCtoF(myConfig.getTempSensorAdjC()), 1); + reduceFloatPrecision(convertCtoF(myConfig.getTempSensorAdjC())-32, 1); else doc[PARAM_TEMP_ADJ] = reduceFloatPrecision(myConfig.getTempSensorAdjC(), 1); @@ -605,7 +606,8 @@ void WebServerHandler::webHandleConfigHardware() { if (myConfig.isTempC()) { myConfig.setTempSensorAdjC(_server->arg(PARAM_TEMP_ADJ)); } else { - myConfig.setTempSensorAdjF(_server->arg(PARAM_TEMP_ADJ)); + // Data is delta so we add 32 in order to conver to C. + myConfig.setTempSensorAdjF(_server->arg(PARAM_TEMP_ADJ), 32); } } if (_server->hasArg(PARAM_BLE))