diff --git a/esphome/components/cover/automation.h b/esphome/components/cover/automation.h index 39760424418..12ec46725d6 100644 --- a/esphome/components/cover/automation.h +++ b/esphome/components/cover/automation.h @@ -90,26 +90,26 @@ template class CoverPublishAction : public Action { Cover *cover_; }; -template class CoverPositionCondition : public Condition { +template class CoverPositionCondition : public Condition { public: CoverPositionCondition(Cover *cover) : cover_(cover) {} - bool check(const Ts &...x) override { return this->cover_->position == POS; } + bool check(const Ts &...x) override { return this->cover_->position == (OPEN ? COVER_OPEN : COVER_CLOSED); } protected: Cover *cover_; }; -template using CoverIsOpenCondition = CoverPositionCondition; -template using CoverIsClosedCondition = CoverPositionCondition; +template using CoverIsOpenCondition = CoverPositionCondition; +template using CoverIsClosedCondition = CoverPositionCondition; -template class CoverPositionTrigger : public Trigger<> { +template class CoverPositionTrigger : public Trigger<> { public: 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 == POS) + if (a_cover->position == (OPEN ? COVER_OPEN : COVER_CLOSED)) this->trigger(); } }); @@ -119,8 +119,8 @@ template class CoverPositionTrigger : public Trigger<> { float last_position_{NAN}; }; -using CoverOpenedTrigger = CoverPositionTrigger; -using CoverClosedTrigger = CoverPositionTrigger; +using CoverOpenedTrigger = CoverPositionTrigger; +using CoverClosedTrigger = CoverPositionTrigger; template class CoverTrigger : public Trigger<> { public: