From 48b3ab9085aec084500df9db6faf7d239b347901 Mon Sep 17 00:00:00 2001 From: proddy Date: Mon, 25 May 2026 12:51:51 +0200 Subject: [PATCH] auto-set a scheduler name if its empty --- src/web/WebSchedulerService.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/web/WebSchedulerService.cpp b/src/web/WebSchedulerService.cpp index d2e90b629..eac54c7f1 100644 --- a/src/web/WebSchedulerService.cpp +++ b/src/web/WebSchedulerService.cpp @@ -82,7 +82,8 @@ StateUpdateResult WebScheduler::update(JsonObject root, WebScheduler & webSchedu EMSESP::webSchedulerService.ha_reset(); // build up the list of schedule items - auto scheduleItems = root["schedule"].as(); + uint8_t i = 0; + auto scheduleItems = root["schedule"].as(); for (const JsonObject schedule : scheduleItems) { // create each schedule item, overwriting any previous settings // ignore the id (as this is only used in the web for table rendering) @@ -94,6 +95,10 @@ StateUpdateResult WebScheduler::update(JsonObject root, WebScheduler & webSchedu si.value = schedule["value"].as(); strlcpy(si.name, schedule["name"].as(), sizeof(si.name)); + if (si.name[0] == '\0') { + snprintf(si.name, sizeof(si.name), "schedule_%d", i++); // set a default name. Before v3.9.0 we allowed empty schedule names. + } + // calculated elapsed minutes si.elapsed_min = Helpers::string2minutes(si.time.c_str()); si.retry_cnt = 0xFF; // no startup retries