From f2b81489ba9e8367eab824c5a649fbe961ae2e9c Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Tue, 11 Mar 2025 07:33:23 +0100 Subject: [PATCH] mixed case strings in scheduler, #2457 --- CHANGELOG_LATEST.md | 4 ++++ src/core/shuntingYard.hpp | 4 ++-- src/version.h | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index 9e9fbd9d2..fb47b708a 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -17,6 +17,8 @@ For more details go to [docs.emsesp.org](https://docs.emsesp.org/). - Show ESP32's CPU temp in Hardware Status - vacation mode for the CR50 [#2403](https://github.com/emsesp/EMS-ESP32/issues/2403) - new Console command "set admin password" to set WebUI admin password +- support nested conditions in scheduler [#2451](https://github.com/emsesp/EMS-ESP32/issues/2451) +- allow mixed case in scheduler expressions [#2457](https://github.com/emsesp/EMS-ESP32/issues/2457) ## Fixed @@ -29,6 +31,7 @@ For more details go to [docs.emsesp.org](https://docs.emsesp.org/). - Updated unknown compressor stati "enum_hpactivity" [#2311](https://github.com/emsesp/EMS-ESP32/pull/2311) - Underline Tab headers in WebUI - console unit tests fixed due to changed shell output +- tx-queue overflow in some heatpump systems [#2455](https://github.com/emsesp/EMS-ESP32/issues/2455) ## Changed @@ -38,3 +41,4 @@ For more details go to [docs.emsesp.org](https://docs.emsesp.org/). - update AsyncTCP and ESPAsyncWebServer to latest versions - update Arduino pio platform to 3.10.0 and optimized flash using build flags - Version checker in WebUI improved +- rename `remoteseltemp` to `cooltemp` [#2456](https://github.com/emsesp/EMS-ESP32/issues/2456) diff --git a/src/core/shuntingYard.hpp b/src/core/shuntingYard.hpp index 082831775..4ebc7bdfd 100644 --- a/src/core/shuntingYard.hpp +++ b/src/core/shuntingYard.hpp @@ -96,9 +96,9 @@ std::deque exprToTokens(const std::string & expr) { } else if (strncmp(p, "hex", 3) == 0) { p += 2; tokens.emplace_back(Token::Type::Unary, "h", 5); - } else if (*p >= 'a' && *p <= 'z') { + } else if ((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z')) { const auto * b = p; - while ((*p >= 'a' && *p <= 'z') || (*p == '_')) { + while ((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z') || (*p == '_') || (*p > 127)) { ++p; } const auto s = std::string(b, p); diff --git a/src/version.h b/src/version.h index c5e1f4c7a..fd9efecc5 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.7.2-dev.26" +#define EMSESP_APP_VERSION "3.7.2-dev.27"