1
0
mirror of https://github.com/esphome/esphome.git synced 2026-02-08 08:41:59 +00:00

cleanup duplicate code

This commit is contained in:
J. Nick Koston
2026-02-04 10:29:59 +01:00
parent c7dfdfc6d7
commit dc11bb8709

View File

@@ -90,25 +90,18 @@ template<typename... Ts> class CoverPublishAction : public Action<Ts...> {
Cover *cover_;
};
template<typename... Ts> class CoverIsOpenCondition : public Condition<Ts...> {
template<float POS, typename... Ts> class CoverPositionCondition : public Condition<Ts...> {
public:
CoverIsOpenCondition(Cover *cover) : cover_(cover) {}
CoverPositionCondition(Cover *cover) : cover_(cover) {}
bool check(const Ts &...x) override { return this->cover_->position == COVER_OPEN; }
bool check(const Ts &...x) override { return this->cover_->position == POS; }
protected:
Cover *cover_;
};
template<typename... Ts> class CoverIsClosedCondition : public Condition<Ts...> {
public:
CoverIsClosedCondition(Cover *cover) : cover_(cover) {}
bool check(const Ts &...x) override { return this->cover_->position == COVER_CLOSED; }
protected:
Cover *cover_;
};
template<typename... Ts> using CoverIsOpenCondition = CoverPositionCondition<COVER_OPEN, Ts...>;
template<typename... Ts> using CoverIsClosedCondition = CoverPositionCondition<COVER_CLOSED, Ts...>;
template<float POS> class CoverPositionTrigger : public Trigger<> {
public: