ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
template_cover.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome::template_ {
9
15
16class TemplateCover final : public cover::Cover, public Component {
17 public:
19
20 template<typename F> void set_state_lambda(F &&f) { this->state_f_.set(std::forward<F>(f)); }
21 template<typename F> void set_tilt_lambda(F &&f) { this->tilt_f_.set(std::forward<F>(f)); }
29 void set_optimistic(bool optimistic) { this->optimistic_ = optimistic; }
30 void set_assumed_state(bool assumed_state) { this->assumed_state_ = assumed_state; }
31 void set_has_stop(bool has_stop) { this->has_stop_ = has_stop; }
32 void set_has_position(bool has_position) { this->has_position_ = has_position; }
33 void set_has_tilt(bool has_tilt) { this->has_tilt_ = has_tilt; }
34 void set_has_stop_tilt(bool has_stop_tilt) { this->has_stop_tilt_ = has_stop_tilt; }
35 void set_has_toggle(bool has_toggle) { this->has_toggle_ = has_toggle; }
36 void set_restore_mode(TemplateCoverRestoreMode restore_mode) { restore_mode_ = restore_mode; }
37
38 void setup() override;
39 void loop() override;
40 void dump_config() override;
41
42 float get_setup_priority() const override;
43
44 protected:
45 void control(const cover::CoverCall &call) override;
47 void stop_prev_trigger_();
48
52 bool assumed_state_{false};
53 bool optimistic_{false};
56 bool has_stop_{false};
57 bool has_toggle_{false};
62 bool has_position_{false};
65 bool has_tilt_{false};
66 bool has_stop_tilt_{false};
67};
68
69} // namespace esphome::template_
Lightweight wrapper for template platform lambdas (stateless function pointers only).
void set(optional< T >(*f)(Args...))
Set the lambda function pointer.
Base class for all cover devices.
Definition cover.h:115
void set_has_toggle(bool has_toggle)
TemplateLambda< float > state_f_
void control(const cover::CoverCall &call) override
void set_has_position(bool has_position)
void set_assumed_state(bool assumed_state)
void set_has_stop_tilt(bool has_stop_tilt)
Trigger< float > * get_position_trigger()
void set_optimistic(bool optimistic)
float get_setup_priority() const override
cover::CoverTraits get_traits() override
void set_restore_mode(TemplateCoverRestoreMode restore_mode)
TemplateCoverRestoreMode restore_mode_
TemplateLambda< float > tilt_f_