new upgrade
This commit is contained in:
@@ -25,7 +25,7 @@ static esp_err_t dashboard_get_handler(httpd_req_t *req) {
|
||||
cJSON_AddNumberToObject(charger1, "id", 1);
|
||||
cJSON_AddStringToObject(charger1, "status", evse_state_to_str(state));
|
||||
cJSON_AddNumberToObject(charger1, "current", evse_get_runtime_charging_current());
|
||||
cJSON_AddNumberToObject(charger1, "maxCurrent", evse_get_max_charging_current());
|
||||
cJSON_AddNumberToObject(charger1, "maxCurrent", evse_get_charging_current());
|
||||
|
||||
// Calcular a potência com base na corrente (considerando 230V)
|
||||
int power = (evse_get_runtime_charging_current()) * 230;
|
||||
|
||||
@@ -11,7 +11,7 @@ static esp_err_t link_config_get_handler(httpd_req_t *req) {
|
||||
uint8_t mode = evse_link_get_mode(); // 0=MASTER,1=SLAVE
|
||||
uint8_t self_id = evse_link_get_self_id();
|
||||
|
||||
ESP_LOGI(TAG, "GET link config: enabled=%d mode=%u id=%u",
|
||||
ESP_LOGD(TAG, "GET link config: enabled=%d mode=%u id=%u",
|
||||
enabled, mode, self_id);
|
||||
|
||||
httpd_resp_set_type(req, "application/json");
|
||||
@@ -23,7 +23,7 @@ static esp_err_t link_config_get_handler(httpd_req_t *req) {
|
||||
|
||||
char *s = cJSON_Print(root);
|
||||
httpd_resp_sendstr(req, s);
|
||||
ESP_LOGI(TAG, " payload: %s", s);
|
||||
ESP_LOGD(TAG, " payload: %s", s);
|
||||
free(s);
|
||||
cJSON_Delete(root);
|
||||
return ESP_OK;
|
||||
@@ -38,7 +38,7 @@ static esp_err_t link_config_post_handler(httpd_req_t *req) {
|
||||
return ESP_FAIL;
|
||||
}
|
||||
buf[len] = '\0';
|
||||
ESP_LOGI(TAG, "POST link config: %s", buf);
|
||||
ESP_LOGD(TAG, "POST link config: %s", buf);
|
||||
|
||||
cJSON *json = cJSON_Parse(buf);
|
||||
if (!json) {
|
||||
@@ -50,7 +50,7 @@ static esp_err_t link_config_post_handler(httpd_req_t *req) {
|
||||
cJSON *j_en = cJSON_GetObjectItem(json, "linkEnabled");
|
||||
if (j_en && cJSON_IsBool(j_en)) {
|
||||
evse_link_set_enabled(cJSON_IsTrue(j_en));
|
||||
ESP_LOGI(TAG, " set enabled = %d", cJSON_IsTrue(j_en));
|
||||
ESP_LOGD(TAG, " set enabled = %d", cJSON_IsTrue(j_en));
|
||||
}
|
||||
|
||||
// linkMode
|
||||
@@ -67,7 +67,7 @@ static esp_err_t link_config_post_handler(httpd_req_t *req) {
|
||||
"Invalid linkMode (must be MASTER or SLAVE)");
|
||||
return ESP_FAIL;
|
||||
}
|
||||
ESP_LOGI(TAG, " set mode = %s", m);
|
||||
ESP_LOGD(TAG, " set mode = %s", m);
|
||||
}
|
||||
|
||||
// linkSelfId
|
||||
@@ -81,7 +81,7 @@ static esp_err_t link_config_post_handler(httpd_req_t *req) {
|
||||
return ESP_FAIL;
|
||||
}
|
||||
evse_link_set_self_id((uint8_t)id);
|
||||
ESP_LOGI(TAG, " set self_id = %d", id);
|
||||
ESP_LOGD(TAG, " set self_id = %d", id);
|
||||
}
|
||||
|
||||
cJSON_Delete(json);
|
||||
|
||||
@@ -12,7 +12,7 @@ static const char *TAG = "evse_settings_api";
|
||||
static esp_err_t config_settings_get_handler(httpd_req_t *req) {
|
||||
httpd_resp_set_type(req, "application/json");
|
||||
cJSON *config = cJSON_CreateObject();
|
||||
cJSON_AddNumberToObject(config, "currentLimit", evse_get_max_charging_current());
|
||||
cJSON_AddNumberToObject(config, "currentLimit", evse_get_charging_current());
|
||||
cJSON_AddNumberToObject(config, "temperatureLimit", evse_get_temp_threshold());
|
||||
const char *json_str = cJSON_Print(config);
|
||||
httpd_resp_sendstr(req, json_str);
|
||||
@@ -36,7 +36,7 @@ static esp_err_t config_settings_post_handler(httpd_req_t *req) {
|
||||
}
|
||||
|
||||
cJSON *current = cJSON_GetObjectItem(json, "currentLimit");
|
||||
if (current) evse_set_max_charging_current(current->valueint);
|
||||
if (current) evse_set_charging_current(current->valueint);
|
||||
cJSON *temp = cJSON_GetObjectItem(json, "temperatureLimit");
|
||||
if (temp) evse_set_temp_threshold(temp->valueint);
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ static esp_err_t loadbalancing_config_get_handler(httpd_req_t *req) {
|
||||
bool enabled = loadbalancer_is_enabled();
|
||||
uint8_t currentLimit = load_balancing_get_max_grid_current();
|
||||
|
||||
ESP_LOGI(TAG, "Fetching load balancing settings: enabled = %d, currentLimit = %u", enabled, currentLimit);
|
||||
ESP_LOGD(TAG, "Fetching load balancing settings: enabled = %d, currentLimit = %u", enabled, currentLimit);
|
||||
|
||||
httpd_resp_set_type(req, "application/json");
|
||||
|
||||
@@ -21,7 +21,7 @@ static esp_err_t loadbalancing_config_get_handler(httpd_req_t *req) {
|
||||
const char *json_str = cJSON_Print(config);
|
||||
httpd_resp_sendstr(req, json_str);
|
||||
|
||||
ESP_LOGI(TAG, "Returned config: %s", json_str);
|
||||
ESP_LOGD(TAG, "Returned config: %s", json_str);
|
||||
|
||||
free((void *)json_str);
|
||||
cJSON_Delete(config);
|
||||
@@ -40,7 +40,7 @@ static esp_err_t loadbalancing_config_post_handler(httpd_req_t *req) {
|
||||
}
|
||||
|
||||
buf[len] = '\0';
|
||||
ESP_LOGI(TAG, "Received POST data: %s", buf);
|
||||
ESP_LOGD(TAG, "Received POST data: %s", buf);
|
||||
|
||||
cJSON *json = cJSON_Parse(buf);
|
||||
if (!json) {
|
||||
@@ -54,7 +54,7 @@ static esp_err_t loadbalancing_config_post_handler(httpd_req_t *req) {
|
||||
if (enabled_item && cJSON_IsBool(enabled_item)) {
|
||||
bool isEnabled = cJSON_IsTrue(enabled_item);
|
||||
loadbalancer_set_enabled(isEnabled);
|
||||
ESP_LOGI(TAG, "Updated loadBalancingEnabled to: %d", isEnabled);
|
||||
ESP_LOGD(TAG, "Updated loadBalancingEnabled to: %d", isEnabled);
|
||||
}
|
||||
|
||||
// Atualizar limite de corrente
|
||||
@@ -78,7 +78,7 @@ static esp_err_t loadbalancing_config_post_handler(httpd_req_t *req) {
|
||||
return ESP_FAIL;
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "Updated loadBalancingCurrentLimit to: %d", currentLimit);
|
||||
ESP_LOGD(TAG, "Updated loadBalancingCurrentLimit to: %d", currentLimit);
|
||||
}
|
||||
|
||||
cJSON_Delete(json);
|
||||
|
||||
@@ -158,13 +158,13 @@ void register_meters_data_handlers(httpd_handle_t server, void *ctx)
|
||||
.user_ctx = ctx};
|
||||
httpd_register_uri_handler(server, &live);
|
||||
|
||||
ESP_LOGI(TAG, "REST /api/v1/meters/live registrado");
|
||||
ESP_LOGD(TAG, "REST /api/v1/meters/live registrado");
|
||||
}
|
||||
|
||||
// Função para recuperar as configurações dos contadores
|
||||
static esp_err_t meters_config_get_handler(httpd_req_t *req)
|
||||
{
|
||||
ESP_LOGI(TAG, "Received GET request for /api/v1/config/meters");
|
||||
ESP_LOGD(TAG, "Received GET request for /api/v1/config/meters");
|
||||
|
||||
httpd_resp_set_type(req, "application/json");
|
||||
|
||||
@@ -174,8 +174,8 @@ static esp_err_t meters_config_get_handler(httpd_req_t *req)
|
||||
meter_type_t gridmeterType = meter_manager_grid_get_model();
|
||||
meter_type_t evsemeterType = meter_manager_evse_get_model();
|
||||
|
||||
ESP_LOGI(TAG, "Grid meter type: %s", meter_type_to_str(gridmeterType));
|
||||
ESP_LOGI(TAG, "EVSE meter type: %s", meter_type_to_str(evsemeterType));
|
||||
ESP_LOGD(TAG, "Grid meter type: %s", meter_type_to_str(gridmeterType));
|
||||
ESP_LOGD(TAG, "EVSE meter type: %s", meter_type_to_str(evsemeterType));
|
||||
|
||||
// Adicionando os tipos de contadores ao objeto JSON
|
||||
cJSON_AddStringToObject(config, "gridmeter", meter_type_to_str(gridmeterType));
|
||||
@@ -183,7 +183,7 @@ static esp_err_t meters_config_get_handler(httpd_req_t *req)
|
||||
|
||||
// Convertendo o objeto JSON para uma string
|
||||
const char *json_str = cJSON_Print(config);
|
||||
ESP_LOGI(TAG, "Returning meters config: %s", json_str);
|
||||
ESP_LOGD(TAG, "Returning meters config: %s", json_str);
|
||||
|
||||
httpd_resp_sendstr(req, json_str);
|
||||
|
||||
@@ -197,7 +197,7 @@ static esp_err_t meters_config_get_handler(httpd_req_t *req)
|
||||
// Função para atualizar as configurações dos contadores
|
||||
static esp_err_t meters_config_post_handler(httpd_req_t *req)
|
||||
{
|
||||
ESP_LOGI(TAG, "Received POST request for /api/v1/config/meters");
|
||||
ESP_LOGD(TAG, "Received POST request for /api/v1/config/meters");
|
||||
|
||||
char buf[512];
|
||||
int len = httpd_req_recv(req, buf, sizeof(buf) - 1);
|
||||
@@ -211,7 +211,7 @@ static esp_err_t meters_config_post_handler(httpd_req_t *req)
|
||||
|
||||
buf[len] = '\0'; // Garantir que a string está terminada
|
||||
|
||||
ESP_LOGI(TAG, "Received POST data: %s", buf);
|
||||
ESP_LOGD(TAG, "Received POST data: %s", buf);
|
||||
|
||||
cJSON *json = cJSON_Parse(buf);
|
||||
if (!json)
|
||||
@@ -227,7 +227,7 @@ static esp_err_t meters_config_post_handler(httpd_req_t *req)
|
||||
if (gridmeter)
|
||||
{
|
||||
meter_type_t gridType = string_to_meter_type(gridmeter->valuestring); // Usando a função string_to_meter_type
|
||||
ESP_LOGI(TAG, "Updating grid meter type to: %s", gridmeter->valuestring);
|
||||
ESP_LOGD(TAG, "Updating grid meter type to: %s", gridmeter->valuestring);
|
||||
meter_manager_grid_set_model(gridType);
|
||||
}
|
||||
|
||||
@@ -235,14 +235,14 @@ static esp_err_t meters_config_post_handler(httpd_req_t *req)
|
||||
if (evsemeter)
|
||||
{
|
||||
meter_type_t evseType = string_to_meter_type(evsemeter->valuestring); // Usando a função string_to_meter_type
|
||||
ESP_LOGI(TAG, "Updating EVSE meter type to: %s", evsemeter->valuestring);
|
||||
ESP_LOGD(TAG, "Updating EVSE meter type to: %s", evsemeter->valuestring);
|
||||
meter_manager_evse_set_model(evseType);
|
||||
}
|
||||
|
||||
cJSON_Delete(json);
|
||||
httpd_resp_sendstr(req, "Meters updated successfully");
|
||||
|
||||
ESP_LOGI(TAG, "Meters configuration updated successfully");
|
||||
ESP_LOGD(TAG, "Meters configuration updated successfully");
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
@@ -19,14 +19,14 @@ typedef struct {
|
||||
|
||||
static void wifi_apply_config_task(void *param) {
|
||||
wifi_task_data_t *data = (wifi_task_data_t *)param;
|
||||
ESP_LOGI("wifi_task", "Applying Wi-Fi config in background task");
|
||||
ESP_LOGD("wifi_task", "Applying Wi-Fi config in background task");
|
||||
wifi_set_config(data->enabled, data->ssid, data->password);
|
||||
free(data);
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
|
||||
static esp_err_t wifi_get_handler(httpd_req_t *req) {
|
||||
ESP_LOGI(TAG, "Handling GET /api/v1/config/wifi");
|
||||
ESP_LOGD(TAG, "Handling GET /api/v1/config/wifi");
|
||||
|
||||
httpd_resp_set_type(req, "application/json");
|
||||
|
||||
@@ -56,7 +56,7 @@ static esp_err_t wifi_get_handler(httpd_req_t *req) {
|
||||
}
|
||||
|
||||
static esp_err_t wifi_post_handler(httpd_req_t *req) {
|
||||
ESP_LOGI(TAG, "Handling POST /api/v1/config/wifi");
|
||||
ESP_LOGD(TAG, "Handling POST /api/v1/config/wifi");
|
||||
|
||||
char buf[512];
|
||||
int len = httpd_req_recv(req, buf, sizeof(buf) - 1);
|
||||
@@ -112,7 +112,7 @@ static esp_err_t wifi_post_handler(httpd_req_t *req) {
|
||||
|
||||
static esp_err_t config_mqtt_get_handler(httpd_req_t *req)
|
||||
{
|
||||
ESP_LOGI(TAG, "Handling GET /api/v1/config/mqtt");
|
||||
ESP_LOGD(TAG, "Handling GET /api/v1/config/mqtt");
|
||||
|
||||
httpd_resp_set_type(req, "application/json");
|
||||
|
||||
@@ -128,13 +128,13 @@ static esp_err_t config_mqtt_get_handler(httpd_req_t *req)
|
||||
mqtt_get_user(username);
|
||||
mqtt_get_password(password);
|
||||
|
||||
ESP_LOGI(TAG, "MQTT Config:");
|
||||
ESP_LOGI(TAG, " Enabled: %s", enabled ? "true" : "false");
|
||||
ESP_LOGI(TAG, " Server: %s", server);
|
||||
ESP_LOGI(TAG, " Topic: %s", base_topic);
|
||||
ESP_LOGI(TAG, " Username: %s", username);
|
||||
ESP_LOGI(TAG, " Password: %s", password);
|
||||
ESP_LOGI(TAG, " Periodicity: %d", periodicity);
|
||||
ESP_LOGD(TAG, "MQTT Config:");
|
||||
ESP_LOGD(TAG, " Enabled: %s", enabled ? "true" : "false");
|
||||
ESP_LOGD(TAG, " Server: %s", server);
|
||||
ESP_LOGD(TAG, " Topic: %s", base_topic);
|
||||
ESP_LOGD(TAG, " Username: %s", username);
|
||||
ESP_LOGD(TAG, " Password: %s", password);
|
||||
ESP_LOGD(TAG, " Periodicity: %d", periodicity);
|
||||
|
||||
cJSON *config = cJSON_CreateObject();
|
||||
cJSON_AddBoolToObject(config, "enabled", enabled);
|
||||
@@ -156,7 +156,7 @@ static esp_err_t config_mqtt_get_handler(httpd_req_t *req)
|
||||
|
||||
static esp_err_t config_mqtt_post_handler(httpd_req_t *req)
|
||||
{
|
||||
ESP_LOGI(TAG, "Handling POST /api/v1/config/mqtt");
|
||||
ESP_LOGD(TAG, "Handling POST /api/v1/config/mqtt");
|
||||
|
||||
char buf[512];
|
||||
int len = httpd_req_recv(req, buf, sizeof(buf) - 1);
|
||||
@@ -166,7 +166,7 @@ static esp_err_t config_mqtt_post_handler(httpd_req_t *req)
|
||||
return ESP_FAIL;
|
||||
}
|
||||
buf[len] = '\0';
|
||||
ESP_LOGI(TAG, "Received JSON: %s", buf);
|
||||
ESP_LOGD(TAG, "Received JSON: %s", buf);
|
||||
|
||||
cJSON *json = cJSON_Parse(buf);
|
||||
if (!json) {
|
||||
@@ -197,13 +197,13 @@ static esp_err_t config_mqtt_post_handler(httpd_req_t *req)
|
||||
cJSON *j_periodicity = cJSON_GetObjectItem(json, "periodicity");
|
||||
if (cJSON_IsNumber(j_periodicity)) periodicity = j_periodicity->valueint;
|
||||
|
||||
ESP_LOGI(TAG, "Applying MQTT config:");
|
||||
ESP_LOGI(TAG, " Enabled: %s", enabled ? "true" : "false");
|
||||
ESP_LOGI(TAG, " Host: %s", host);
|
||||
ESP_LOGI(TAG, " Topic: %s", topic);
|
||||
ESP_LOGI(TAG, " Username: %s", username);
|
||||
ESP_LOGI(TAG, " Password: %s", password);
|
||||
ESP_LOGI(TAG, " Periodicity: %d", periodicity);
|
||||
ESP_LOGD(TAG, "Applying MQTT config:");
|
||||
ESP_LOGD(TAG, " Enabled: %s", enabled ? "true" : "false");
|
||||
ESP_LOGD(TAG, " Host: %s", host);
|
||||
ESP_LOGD(TAG, " Topic: %s", topic);
|
||||
ESP_LOGD(TAG, " Username: %s", username);
|
||||
ESP_LOGD(TAG, " Password: %s", password);
|
||||
ESP_LOGD(TAG, " Periodicity: %d", periodicity);
|
||||
|
||||
esp_err_t err = mqtt_set_config(enabled, host, topic, username, password, periodicity);
|
||||
if (err != ESP_OK) {
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
#include "static_file_api.h"
|
||||
#include "esp_log.h"
|
||||
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
|
||||
static const char *TAG = "rest_main";
|
||||
|
||||
esp_err_t rest_server_init(const char *base_path)
|
||||
@@ -30,6 +33,13 @@ esp_err_t rest_server_init(const char *base_path)
|
||||
config.uri_match_fn = httpd_uri_match_wildcard;
|
||||
config.max_uri_handlers = 32;
|
||||
|
||||
// Aumenta stack do httpd (handlers + cJSON + etc)
|
||||
config.stack_size = 8192; // tenta 8192; se necessário 12288
|
||||
config.task_priority = tskIDLE_PRIORITY + 5;
|
||||
|
||||
// Opcional (ajuda com muitas conexões/keep-alive)
|
||||
config.lru_purge_enable = true;
|
||||
|
||||
httpd_handle_t server = NULL;
|
||||
esp_err_t err = httpd_start(&server, &config);
|
||||
if (err != ESP_OK)
|
||||
@@ -41,21 +51,19 @@ esp_err_t rest_server_init(const char *base_path)
|
||||
|
||||
ESP_LOGI(TAG, "HTTP server started successfully");
|
||||
|
||||
// Register endpoint groups
|
||||
register_evse_settings_handlers(server, ctx); // Apenas chamando a função sem comparação
|
||||
register_network_handlers(server, ctx); // Apenas chamando a função sem comparação
|
||||
register_ocpp_handlers(server, ctx); // Apenas chamando a função sem comparação
|
||||
register_auth_handlers(server, ctx); // Apenas chamando a função sem comparação
|
||||
register_dashboard_handlers(server, ctx); // Apenas chamando a função sem comparação
|
||||
register_meters_settings_handlers(server, ctx); // Apenas chamando a função sem comparação
|
||||
register_loadbalancing_settings_handlers(server, ctx); // Apenas chamando a função sem comparação
|
||||
// Registar handlers
|
||||
register_evse_settings_handlers(server, ctx);
|
||||
register_network_handlers(server, ctx);
|
||||
register_ocpp_handlers(server, ctx);
|
||||
register_auth_handlers(server, ctx);
|
||||
register_dashboard_handlers(server, ctx);
|
||||
register_meters_settings_handlers(server, ctx);
|
||||
register_loadbalancing_settings_handlers(server, ctx);
|
||||
register_link_config_handlers(server, ctx);
|
||||
register_meters_data_handlers(server, ctx);
|
||||
register_scheduler_settings_handlers(server, ctx);
|
||||
|
||||
register_static_file_handlers(server, ctx); // Apenas chamando a função sem comparação
|
||||
register_static_file_handlers(server, ctx);
|
||||
|
||||
ESP_LOGI(TAG, "All REST API endpoint groups registered successfully");
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ static void format_hhmm(uint16_t minutes, char *buf, size_t buf_sz)
|
||||
* ========================= */
|
||||
static esp_err_t scheduler_config_get_handler(httpd_req_t *req)
|
||||
{
|
||||
ESP_LOGI(TAG, "GET /api/v1/config/scheduler");
|
||||
ESP_LOGD(TAG, "GET /api/v1/config/scheduler");
|
||||
|
||||
httpd_resp_set_type(req, "application/json");
|
||||
|
||||
@@ -95,7 +95,7 @@ static esp_err_t scheduler_config_get_handler(httpd_req_t *req)
|
||||
* ========================= */
|
||||
static esp_err_t scheduler_config_post_handler(httpd_req_t *req)
|
||||
{
|
||||
ESP_LOGI(TAG, "POST /api/v1/config/scheduler");
|
||||
ESP_LOGD(TAG, "POST /api/v1/config/scheduler");
|
||||
|
||||
// NOTA: para payloads pequenos 512 bytes chega; se quiseres robustez total,
|
||||
// usa req->content_len e faz um loop com httpd_req_recv.
|
||||
@@ -108,7 +108,7 @@ static esp_err_t scheduler_config_post_handler(httpd_req_t *req)
|
||||
return ESP_FAIL;
|
||||
}
|
||||
buf[len] = '\0';
|
||||
ESP_LOGI(TAG, "Body: %s", buf);
|
||||
ESP_LOGD(TAG, "Body: %s", buf);
|
||||
|
||||
cJSON *json = cJSON_Parse(buf);
|
||||
if (!json)
|
||||
@@ -126,7 +126,7 @@ static esp_err_t scheduler_config_post_handler(httpd_req_t *req)
|
||||
if (cJSON_IsBool(j_enabled))
|
||||
{
|
||||
cfg.enabled = cJSON_IsTrue(j_enabled);
|
||||
ESP_LOGI(TAG, " enabled = %d", cfg.enabled);
|
||||
ESP_LOGD(TAG, " enabled = %d", cfg.enabled);
|
||||
}
|
||||
|
||||
// mode
|
||||
@@ -143,7 +143,7 @@ static esp_err_t scheduler_config_post_handler(httpd_req_t *req)
|
||||
return ESP_FAIL;
|
||||
}
|
||||
cfg.mode = m;
|
||||
ESP_LOGI(TAG, " mode = %s", sched_mode_to_str(cfg.mode));
|
||||
ESP_LOGD(TAG, " mode = %s", sched_mode_to_str(cfg.mode));
|
||||
}
|
||||
|
||||
// startTime (string "HH:MM")
|
||||
@@ -160,7 +160,7 @@ static esp_err_t scheduler_config_post_handler(httpd_req_t *req)
|
||||
return ESP_FAIL;
|
||||
}
|
||||
cfg.start_min = minutes;
|
||||
ESP_LOGI(TAG, " start_min = %u", (unsigned)cfg.start_min);
|
||||
ESP_LOGD(TAG, " start_min = %u", (unsigned)cfg.start_min);
|
||||
}
|
||||
|
||||
// endTime (string "HH:MM")
|
||||
@@ -177,7 +177,7 @@ static esp_err_t scheduler_config_post_handler(httpd_req_t *req)
|
||||
return ESP_FAIL;
|
||||
}
|
||||
cfg.end_min = minutes;
|
||||
ESP_LOGI(TAG, " end_min = %u", (unsigned)cfg.end_min);
|
||||
ESP_LOGD(TAG, " end_min = %u", (unsigned)cfg.end_min);
|
||||
}
|
||||
|
||||
// (Opcional) validações extra:
|
||||
@@ -220,5 +220,5 @@ void register_scheduler_settings_handlers(httpd_handle_t server, void *ctx)
|
||||
.user_ctx = ctx};
|
||||
httpd_register_uri_handler(server, &post_uri);
|
||||
|
||||
ESP_LOGI(TAG, "Scheduler REST handlers registered");
|
||||
ESP_LOGD(TAG, "Scheduler REST handlers registered");
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -13,7 +13,7 @@
|
||||
}
|
||||
</style>
|
||||
<title>ChargeFlow</title>
|
||||
<script type="module" crossorigin src="/assets/index-19gq1t3T.js"></script>
|
||||
<script type="module" crossorigin src="/assets/index-CH8H7Z_T.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-SX00HfRO.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
Reference in New Issue
Block a user