From c7dfdfc6d740c5d1d2741f8f10f8de5fb849008f Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 4 Feb 2026 10:22:02 +0100 Subject: [PATCH] cleanup duplicate code --- esphome/components/cover/automation.h | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/esphome/components/cover/automation.h b/esphome/components/cover/automation.h index 76cb8a37b79..8dee297634e 100644 --- a/esphome/components/cover/automation.h +++ b/esphome/components/cover/automation.h @@ -110,13 +110,13 @@ template class CoverIsClosedCondition : public Condition Cover *cover_; }; -class CoverOpenedTrigger : public Trigger<> { +template class CoverPositionTrigger : public Trigger<> { public: - CoverOpenedTrigger(Cover *a_cover) { + CoverPositionTrigger(Cover *a_cover) { a_cover->add_on_state_callback([this, a_cover]() { if (a_cover->position != this->last_position_) { this->last_position_ = a_cover->position; - if (a_cover->position == COVER_OPEN) + if (a_cover->position == POS) this->trigger(); } }); @@ -126,21 +126,8 @@ class CoverOpenedTrigger : public Trigger<> { float last_position_{NAN}; }; -class CoverClosedTrigger : public Trigger<> { - public: - CoverClosedTrigger(Cover *a_cover) { - a_cover->add_on_state_callback([this, a_cover]() { - if (a_cover->position != this->last_position_) { - this->last_position_ = a_cover->position; - if (a_cover->position == COVER_CLOSED) - this->trigger(); - } - }); - } - - protected: - float last_position_{NAN}; -}; +using CoverOpenedTrigger = CoverPositionTrigger; +using CoverClosedTrigger = CoverPositionTrigger; template class CoverTrigger : public Trigger<> { public: