From ec8c94f7335eddcdb9141ec1e6ce3db39793defc Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Mon, 22 Jun 2026 08:12:54 +0200 Subject: [PATCH] wifi scanner, mock example schedule --- mock-api/restServer.ts | 2 +- src/ESP32React/WiFiScanner.cpp | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/mock-api/restServer.ts b/mock-api/restServer.ts index 48b92a76a..2ce05c8e9 100644 --- a/mock-api/restServer.ts +++ b/mock-api/restServer.ts @@ -4232,7 +4232,7 @@ let emsesp_schedule = { id: 5, active: false, flags: ScheduleFlag.SCHEDULE_CONDITION, - time: 'system/network info/rssi < -70', + time: 'system/network/rssi < -70', cmd_name: 'restart_system', name: 'bad_wifi' }, diff --git a/src/ESP32React/WiFiScanner.cpp b/src/ESP32React/WiFiScanner.cpp index d5ceb13e2..399b8c932 100644 --- a/src/ESP32React/WiFiScanner.cpp +++ b/src/ESP32React/WiFiScanner.cpp @@ -17,17 +17,17 @@ void WiFiScanner::scanNetworks(AsyncWebServerRequest * request) { if (WiFi.scanComplete() != -1) { WiFi.scanDelete(); - WiFi.scanNetworks(true); + WiFi.scanNetworks(true, false, true, 250); } } void WiFiScanner::listNetworks(AsyncWebServerRequest * request) { - const int numNetworks = WiFi.scanComplete(); - if (numNetworks > -1) { + const int16_t numNetworks = WiFi.scanComplete(); + if (numNetworks != -1) { auto * response = new emsesp::PsramAsyncJsonResponse(false); JsonObject root = response->getRoot(); JsonArray networks = root["networks"].to(); - for (uint8_t i = 0; i < numNetworks; i++) { + for (int16_t i = 0; i < numNetworks; i++) { JsonObject network = networks.add(); network["rssi"] = WiFi.RSSI(i); network["ssid"] = WiFi.SSID(i); @@ -37,9 +37,7 @@ void WiFiScanner::listNetworks(AsyncWebServerRequest * request) { } response->setLength(); request->send(response); - } else if (numNetworks == -1) { - request->send(202); // special code to indicate scan in progress } else { - scanNetworks(request); + request->send(202); // special code to indicate scan in progress } }