From ec128914a3ac791438f2406ee3292dbc295253ab Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 29 Oct 2025 16:55:41 -0500 Subject: [PATCH] missing disable in lock --- esphome/components/template/lock/template_lock.cpp | 5 +++++ esphome/components/template/lock/template_lock.h | 1 + 2 files changed, 6 insertions(+) diff --git a/esphome/components/template/lock/template_lock.cpp b/esphome/components/template/lock/template_lock.cpp index 634924a805..8ed87b9736 100644 --- a/esphome/components/template/lock/template_lock.cpp +++ b/esphome/components/template/lock/template_lock.cpp @@ -11,6 +11,11 @@ static const char *const TAG = "template.lock"; TemplateLock::TemplateLock() : lock_trigger_(new Trigger<>()), unlock_trigger_(new Trigger<>()), open_trigger_(new Trigger<>()) {} +void TemplateLock::setup() { + if (!this->f_.has_value()) + this->disable_loop(); +} + void TemplateLock::loop() { auto val = this->f_(); if (val.has_value()) { diff --git a/esphome/components/template/lock/template_lock.h b/esphome/components/template/lock/template_lock.h index de5189875f..14fca4635e 100644 --- a/esphome/components/template/lock/template_lock.h +++ b/esphome/components/template/lock/template_lock.h @@ -12,6 +12,7 @@ class TemplateLock : public lock::Lock, public Component { public: TemplateLock(); + void setup() override; void dump_config() override; template void set_state_lambda(F &&f) { this->f_.set(std::forward(f)); }