diff --git a/barrier_node/barrier_node.ino b/barrier_node/barrier_node.ino index 897d8a8..4f20c6e 100644 --- a/barrier_node/barrier_node.ino +++ b/barrier_node/barrier_node.ino @@ -193,27 +193,22 @@ void setupRoutes() { server.send(200, "text/html", buildPage()); }); - // Открытие через браузер (POST) + // Открытие через браузер (POST + redirect — обновление страницы не повторяет команду) server.on("/open", HTTP_POST, []() { + server.sendHeader("Location", "/?ok=1"); + server.send(302); triggerRelay(); - server.send(200, "text/html", buildPage("✅ Команда выполнена")); }); // Открытие от контроллера (GET + токен) server.on("/open", HTTP_GET, []() { String token = server.header("X-Token"); - // Если запрос из браузера (нет токена) — разрешаем - // Если запрос от контроллера — проверяем токен - if (token.length() > 0 && token != cfg_token) { + if (token != cfg_token) { server.send(401, "text/plain", "unauthorized"); return; } triggerRelay(); - if (token.length() > 0) { - server.send(200, "text/plain", "ok"); - } else { - server.send(200, "text/html", buildPage("✅ Команда выполнена")); - } + server.send(200, "text/plain", "ok"); }); server.on("/save", HTTP_POST, []() {