From f395767766c4d7162e63f985dc6876ba15451a63 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 6 Jul 2025 18:27:49 -0500 Subject: [PATCH] tweak --- esphome/core/scheduler.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/esphome/core/scheduler.cpp b/esphome/core/scheduler.cpp index 63a3653e7c..e63869200b 100644 --- a/esphome/core/scheduler.cpp +++ b/esphome/core/scheduler.cpp @@ -436,15 +436,17 @@ bool HOT Scheduler::cancel_item_locked_(Component *component, const char *name_c // Check all containers for matching items #if !defined(USE_ESP8266) && !defined(USE_RP2040) - // Cancel items in defer queue - for (auto &item : this->defer_queue_) { - if (item->component != component || item->type != type || item->remove) { - continue; - } - const char *item_name = item->get_name(); - if (item_name != nullptr && strcmp(name_cstr, item_name) == 0) { - item->remove = true; - total_cancelled++; + // Only check defer queue for timeouts (intervals never go there) + if (type == SchedulerItem::TIMEOUT) { + for (auto &item : this->defer_queue_) { + if (item->component != component || item->remove) { + continue; + } + const char *item_name = item->get_name(); + if (item_name != nullptr && strcmp(name_cstr, item_name) == 0) { + item->remove = true; + total_cancelled++; + } } } #endif