diff --git a/barrier_node/barrier_node.ino b/barrier_node/barrier_node.ino index 4f20c6e..bed09f7 100644 --- a/barrier_node/barrier_node.ino +++ b/barrier_node/barrier_node.ino @@ -26,6 +26,7 @@ WebServer server(80); bool ethConnected = false; bool wifiConnected = false; bool staticIpApplied = false; +bool relayPending = false; String cfg_ssid = ""; String cfg_pass = ""; @@ -195,9 +196,9 @@ void setupRoutes() { // Открытие через браузер (POST + redirect — обновление страницы не повторяет команду) server.on("/open", HTTP_POST, []() { + relayPending = true; server.sendHeader("Location", "/?ok=1"); server.send(302); - triggerRelay(); }); // Открытие от контроллера (GET + токен) @@ -298,5 +299,9 @@ void setup() { void loop() { server.handleClient(); + if (relayPending) { + relayPending = false; + triggerRelay(); + } delay(10); }