From e3eb47078fb70aa31e63aec442927a3dbc279b16 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Sat, 8 Mar 2025 15:19:45 +0100 Subject: [PATCH] Fix ESP32 intermittent exception on WiFi AP cannot be reached (#23115) --- CHANGELOG.md | 7 +++++-- RELEASENOTES.md | 5 +++++ tasmota/tasmota_support/support_wifi.ino | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3295589e8..e3ab86d04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,17 +5,20 @@ All notable changes to this project will be documented in this file. ## [14.5.0.2] ### Added -- Berry load `.tapp` files in `/.extensions/` then in `/` +- Berry load `.tapp` files in `/.extensions/` then in `/` (#23113) ### Breaking Changed -- Berry remove `Leds.create_matrix` from the standard library waiting for reimplementation +- Berry remove `Leds.create_matrix` from the standard library waiting for reimplementation (#23114) ### Changed - ESP32 Platform from 2025.02.30 to 2025.03.30, Framework (Arduino Core) from v3.1.1.250203 to v3.1.3.250302 and IDF from v5.3.2.250120 to 5.3.2.250228 (#23088) - ESP32 enable webcam version 2 (#18732) +- ESP8266 enable FTP for >= 4MB variants (#23120) ### Fixed - Berry prevent `import` from hiding a solidified class (#23112) +- ESP32-C3 WiFi sleep (#23096) +- ESP32 intermittent exception on WiFi AP cannot be reached (#23115) ### Removed diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 3f01d1ef3..6093f8747 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -121,13 +121,16 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - Berry `tasmota.when_network_up()` and simplified Matter using it [#23057](https://github.com/arendst/Tasmota/issues/23057) - Berry `introspect.solidified()` to know if a Berry object is solidified or in RAM [#23063](https://github.com/arendst/Tasmota/issues/23063) - Berry `global.undef()` to undefine a global variable [#23073](https://github.com/arendst/Tasmota/issues/23073) +- Berry load `.tapp` files in `/.extensions/` then in `/` [#23113](https://github.com/arendst/Tasmota/issues/23113) - LVGL experimental mirroring of display on Web UI [#23041](https://github.com/arendst/Tasmota/issues/23041) ### Breaking Changed +- Berry remove `Leds.create_matrix` from the standard library waiting for reimplementation [#23114](https://github.com/arendst/Tasmota/issues/23114) ### Changed - ESP32 Platform from 2025.02.30 to 2025.03.30, Framework (Arduino Core) from v3.1.1.250203 to v3.1.3.250302 and IDF from v5.3.2.250120 to 5.3.2.250228 [#23088](https://github.com/arendst/Tasmota/issues/23088) - GPIOViewer from v1.6.1 to v1.6.2 (No functional change) +- ESP8266 enable FTP for >= 4MB variants [#23120](https://github.com/arendst/Tasmota/issues/23120) - ESP32 enable webcam version 2 [#18732](https://github.com/arendst/Tasmota/issues/18732) - LVGL, prepare for HASPmota theme, change: no-grow when clicked, DPI set to 160 [#23040](https://github.com/arendst/Tasmota/issues/23040) - LVGL Mirroring add checkbox to enable/disable the feature (in the iterim for a better solution) [#23047](https://github.com/arendst/Tasmota/issues/23047) @@ -135,6 +138,8 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ### Fixed - Too many zeros in RCSwitch received data regression from v14.4.1.4 [#23050](https://github.com/arendst/Tasmota/issues/23050) +- ESP32 intermittent exception on WiFi AP cannot be reached [#23115](https://github.com/arendst/Tasmota/issues/23115) +- ESP32-C3 WiFi sleep [#23096](https://github.com/arendst/Tasmota/issues/23096) - Berry prevent `import` from hiding a solidified class [#23112](https://github.com/arendst/Tasmota/issues/23112) ### Removed diff --git a/tasmota/tasmota_support/support_wifi.ino b/tasmota/tasmota_support/support_wifi.ino index 877a2ba2a..0c0c6f692 100644 --- a/tasmota/tasmota_support/support_wifi.ino +++ b/tasmota/tasmota_support/support_wifi.ino @@ -508,7 +508,7 @@ bool WifiGetIP(IPAddress *ip, bool exclude_ap = false); // Returns only IPv6 global address (no loopback and no link-local) bool WifiGetIPv4(IPAddress *ip) { - uint32_t wifi_uint = (uint32_t) WiFi.localIP(); + uint32_t wifi_uint = (WL_CONNECTED == WiFi.status()) ? (uint32_t)WiFi.localIP() : 0; // See issue #23115 if (ip != nullptr) { *ip = wifi_uint; } return wifi_uint != 0; }