From 7ab343a216ddceb2b7b3a5d34e33e04a57dde64a Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sun, 12 Jul 2026 08:17:40 +0200 Subject: [PATCH] fix crashes from #3146 --- src/core/emsesp.cpp | 2 +- src/web/WebSchedulerService.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/emsesp.cpp b/src/core/emsesp.cpp index 6554b20ed..bb35e87fa 100644 --- a/src/core/emsesp.cpp +++ b/src/core/emsesp.cpp @@ -1800,8 +1800,8 @@ void EMSESP::start() { LOG_INFO("Library loaded: %d EMS devices, %d device entities, %s", device_library_.size(), EMSESP_TRANSLATION_COUNT, system_.languages_string().c_str()); webCustomizationService.begin(); // load the customizations - webSchedulerService.begin(); // load the scheduler events webCustomEntityService.begin(); // load the custom telegram reads + webSchedulerService.begin(); // load the scheduler events // start telnet service if it's enabled // default idle is 10 minutes, default write timeout is 0 (automatic) diff --git a/src/web/WebSchedulerService.cpp b/src/web/WebSchedulerService.cpp index 0af10870f..38dcb528e 100644 --- a/src/web/WebSchedulerService.cpp +++ b/src/web/WebSchedulerService.cpp @@ -538,10 +538,10 @@ void WebSchedulerService::loop() { last_uptime_min = uptime_min; } - // check calender, sync to RTC, only execute if year is valid + // check calender, sync to RTC, only execute if year is valid and uptime more than a minute time_t now = time(nullptr); tm * tm = localtime(&now); - if (tm->tm_min != last_tm_min && tm->tm_year > 120) { + if (tm->tm_min != last_tm_min && tm->tm_year > 120 && uuid::get_uptime_sec() > 60) { // find the real dow and minute from RTC uint8_t real_dow = 1 << tm->tm_wday; // 1 is Sunday uint16_t real_min = tm->tm_hour * 60 + tm->tm_min;