fix: relayPending флаг — реле срабатывает после отправки redirect
This commit is contained in:
@@ -26,6 +26,7 @@ WebServer server(80);
|
|||||||
bool ethConnected = false;
|
bool ethConnected = false;
|
||||||
bool wifiConnected = false;
|
bool wifiConnected = false;
|
||||||
bool staticIpApplied = false;
|
bool staticIpApplied = false;
|
||||||
|
bool relayPending = false;
|
||||||
|
|
||||||
String cfg_ssid = "";
|
String cfg_ssid = "";
|
||||||
String cfg_pass = "";
|
String cfg_pass = "";
|
||||||
@@ -195,9 +196,9 @@ void setupRoutes() {
|
|||||||
|
|
||||||
// Открытие через браузер (POST + redirect — обновление страницы не повторяет команду)
|
// Открытие через браузер (POST + redirect — обновление страницы не повторяет команду)
|
||||||
server.on("/open", HTTP_POST, []() {
|
server.on("/open", HTTP_POST, []() {
|
||||||
|
relayPending = true;
|
||||||
server.sendHeader("Location", "/?ok=1");
|
server.sendHeader("Location", "/?ok=1");
|
||||||
server.send(302);
|
server.send(302);
|
||||||
triggerRelay();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Открытие от контроллера (GET + токен)
|
// Открытие от контроллера (GET + токен)
|
||||||
@@ -298,5 +299,9 @@ void setup() {
|
|||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
server.handleClient();
|
server.handleClient();
|
||||||
|
if (relayPending) {
|
||||||
|
relayPending = false;
|
||||||
|
triggerRelay();
|
||||||
|
}
|
||||||
delay(10);
|
delay(10);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user