From 8861abea732642a1a625141a40ee3545237f1fd9 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 15 Jan 2026 13:14:22 -1000 Subject: [PATCH] avoid clock churn --- esphome/components/time/real_time_clock.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/esphome/components/time/real_time_clock.cpp b/esphome/components/time/real_time_clock.cpp index 639af4457f9..fce09d14778 100644 --- a/esphome/components/time/real_time_clock.cpp +++ b/esphome/components/time/real_time_clock.cpp @@ -31,6 +31,14 @@ void RealTimeClock::dump_config() { void RealTimeClock::synchronize_epoch_(uint32_t epoch) { ESP_LOGVV(TAG, "Got epoch %" PRIu32, epoch); + // Skip if time is already synchronized to avoid unnecessary writes and log spam + auto current = this->utcnow(); + if (current.is_valid()) { + int32_t diff = static_cast(epoch) - static_cast(current.timestamp); + if (diff >= -1 && diff <= 1) { + return; + } + } // Update UTC epoch time. #ifdef USE_ZEPHYR struct timespec ts;