diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index 7b3f6a94f..02dc06d9b 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -50,6 +50,8 @@ For more details go to [www.emsesp.org](https://www.emsesp.org/). - log shows data for F7/F9 requests - Detection of LittleFS for factory setting wasn't working - Check for bad GPIOs with Ethernet before the ethernet is initialized +- Show values with factor 50 on webUI [#2064](https://github.com/emsesp/EMS-ESP32/issues/2064) +- Rendering of values between -1 and 0 ## Changed @@ -72,3 +74,6 @@ For more details go to [www.emsesp.org](https://www.emsesp.org/). - Updated Web libraries, ArduinoJson - Help page doesn't show detailed tech info if the user is not 'admin' role [#2054](https://github.com/emsesp/EMS-ESP32/issues/2054) - removed system command `allvalues` and moved to an action called `export` +- Show ems-esp internal devices in device list of system/info +- Scheduler and mqtt run async on systems with psram +- Show IPv6 address type (local/global/ula) in log diff --git a/src/helpers.cpp b/src/helpers.cpp index ec76c182b..508f1819c 100644 --- a/src/helpers.cpp +++ b/src/helpers.cpp @@ -460,31 +460,12 @@ int Helpers::atoint(const char * value) { float Helpers::transformNumFloat(float value, const int8_t numeric_operator, const uint8_t fahrenheit) { float val; - switch (numeric_operator) { - case DeviceValueNumOp::DV_NUMOP_DIV2: - val = (value * 100 / 2 + 0.5); - break; - case DeviceValueNumOp::DV_NUMOP_DIV10: - val = (value * 10 + 0.5); - break; - case DeviceValueNumOp::DV_NUMOP_DIV60: - val = (value * 10 / 6 + 0.5); - break; - case DeviceValueNumOp::DV_NUMOP_DIV100: - val = (value + 0.5); - break; - case DeviceValueNumOp::DV_NUMOP_MUL5: - val = value * 100 * 5; - break; - case DeviceValueNumOp::DV_NUMOP_MUL10: - val = value * 100 * 10; - break; - case DeviceValueNumOp::DV_NUMOP_MUL15: - val = value * 100 * 15; - break; - default: - val = (value * 100 + 0.5); // no ops - break; + if (numeric_operator == 0) { // DV_NUMOP_NONE + val = value * 100 + 0.5; + } else if (numeric_operator > 0) { // DV_NUMOP_DIVxx + val = value * 100 / numeric_operator + 0.5; + } else { // DV_NUMOP_MULxx + val = value * -100 * numeric_operator; } if (value < 0) { // negative rounding