From f8fa092ac394036cc324faa525bf9e3097ddc042 Mon Sep 17 00:00:00 2001 From: soderdaen <95941329+soderdaen@users.noreply.github.com> Date: Sat, 20 Jun 2026 10:42:38 +0200 Subject: [PATCH 1/3] Fix: AP crash and infinite loop during WiFi scan. --- src/ESP32React/WiFiScanner.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ESP32React/WiFiScanner.cpp b/src/ESP32React/WiFiScanner.cpp index 6b222e107..425992f98 100644 --- a/src/ESP32React/WiFiScanner.cpp +++ b/src/ESP32React/WiFiScanner.cpp @@ -15,7 +15,7 @@ void WiFiScanner::scanNetworks(AsyncWebServerRequest * request) { if (WiFi.scanComplete() != -1) { WiFi.scanDelete(); - WiFi.scanNetworks(true); + WiFi.scanNetworks(true, false, true, 250); } } @@ -38,6 +38,10 @@ void WiFiScanner::listNetworks(AsyncWebServerRequest * request) { } else if (numNetworks == -1) { request->send(202); // special code to indicate scan in progress } else { - scanNetworks(request); + auto * response = new AsyncJsonResponse(false); + JsonObject root = response->getRoot(); + root["networks"].to(); + response->setLength(); + request->send(response); } } From b6a7fb0bf0233291a762fd91cbf3eea0489f0bcd Mon Sep 17 00:00:00 2001 From: soderdaen <95941329+soderdaen@users.noreply.github.com> Date: Sun, 21 Jun 2026 21:15:47 +0200 Subject: [PATCH 2/3] Update changelog_latest.md and emsesp_version --- CHANGELOG_LATEST.md | 1 + src/emsesp_version.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index 9168f2211..5cf6be35d 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -12,5 +12,6 @@ For more details go to [emsesp.org](https://emsesp.org/). - signed value for solarInfuence [#3077](https://github.com/emsesp/EMS-ESP32/issues/3077) - set bin file upload limit to 1M again [3086](https://github.com/emsesp/EMS-ESP32/issues/3086) +- Fix: Prevent system crash during WiFi network discovery on ESP32-S3 hardware [#3128](https://github.com/emsesp/EMS-ESP32/pull/3128) ## Changed diff --git a/src/emsesp_version.h b/src/emsesp_version.h index 417585ea4..340c555c0 100644 --- a/src/emsesp_version.h +++ b/src/emsesp_version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.8.3-dev.5" +#define EMSESP_APP_VERSION "3.8.3-dev.6" From 855edace20a28c4894756bd17dd80047c224a0d6 Mon Sep 17 00:00:00 2001 From: s-schnitzer <248862401+s-schnitzer@users.noreply.github.com> Date: Thu, 25 Jun 2026 18:10:52 +0200 Subject: [PATCH 3/3] fix: negative dew point calc. (emulated RC100H) --- src/core/roomcontrol.cpp | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/core/roomcontrol.cpp b/src/core/roomcontrol.cpp index a2c0c5098..b047c4755 100644 --- a/src/core/roomcontrol.cpp +++ b/src/core/roomcontrol.cpp @@ -377,19 +377,23 @@ void Roomctrl::temperature(uint8_t addr, uint8_t dst, uint8_t hc) { // send telegram 0x047B only for RC100H void Roomctrl::humidity(uint8_t addr, uint8_t dst, uint8_t hc) { + int16_t dew = calc_dew(remotetemp_[hc], remotehum_[hc]); + int8_t dew8 = EMS_VALUE_INT8_NOTSET; + if (dew != EMS_VALUE_INT16_NOTSET) { + dew8 = static_cast((dew >= 0 ? dew + 5 : dew - 5) / 10); + } uint8_t data[11]; - data[0] = addr | EMSbus::ems_mask(); - data[1] = dst & 0x7F; - uint16_t dew = calc_dew(remotetemp_[hc], remotehum_[hc]); - data[2] = 0xFF; - data[3] = 0; - data[4] = 3; - data[5] = 0x7B + hc; - data[6] = dew == EMS_VALUE_INT16_NOTSET ? EMS_VALUE_INT8_NOTSET : (uint8_t)((dew + 5) / 10); - data[7] = remotehum_[hc]; - data[8] = (uint8_t)(dew << 8); - data[9] = (uint8_t)(dew & 0xFF); - data[10] = EMSbus::calculate_crc(data, 10); // append CRC + data[0] = addr | EMSbus::ems_mask(); + data[1] = dst & 0x7F; + data[2] = 0xFF; + data[3] = 0; + data[4] = 3; + data[5] = 0x7B + hc; + data[6] = static_cast(dew8); + data[7] = remotehum_[hc]; + data[8] = static_cast(static_cast(dew) >> 8); + data[9] = static_cast(static_cast(dew) & 0xFF); + data[10] = EMSbus::calculate_crc(data, 10); // append CRC EMSuart::transmit(data, 11); }