23 String errorMsg =
"Заполните все обязательные поля";
29 errorMsg =
"Ошибка: заполните поле SSID";
33 webServer.send(400,
"text/html; charset=utf-8", html);
51 config.flags.thingSpeakEnabled = (uint8_t)
webServer.hasArg(
"ts_enabled");
52 strlcpy(
config.thingSpeakApiKey,
webServer.arg(
"ts_api_key").c_str(),
sizeof(
config.thingSpeakApiKey));
54 strlcpy(
config.thingSpeakChannelId,
webServer.arg(
"ts_channel_id").c_str(),
55 sizeof(
config.thingSpeakChannelId));
57 config.flags.calibrationEnabled = (uint8_t)
webServer.hasArg(
"cal_enabled");
62 config.environmentType = 0;
64 config.flags.seasonalAdjustEnabled = (uint8_t)
webServer.hasArg(
"season_adj");
67 config.flags.isGreenhouse = (
config.environmentType == 1);
91 logInfo(
"Конфигурация обновлена: MQTT=%s, ThingSpeak=%s, HASS=%s",
92 config.flags.mqttEnabled ?
"ON" :
"OFF",
config.flags.thingSpeakEnabled ?
"ON" :
"OFF",
93 config.flags.hassEnabled ?
"ON" :
"OFF");
101 "Настройки сохранены успешно. Устройство перезагружается...",
"/", 1);
103 webServer.send(200,
"text/html; charset=utf-8", html);
113 logDebug(
"Основные маршруты настроены: /, /save, /status");
void setupMainRoutes()
Настройка основных маршрутов (/, /save, /status)
String generateSuccessPage(const String &title, const String &message, const String &redirectUrl, int redirectDelay)
Генерация страницы успеха