ESPHome  2023.11.6
template_cover.h
Go to the documentation of this file.
1 #pragma once
2 
6 
7 namespace esphome {
8 namespace template_ {
9 
14 };
15 
16 class TemplateCover : public cover::Cover, public Component {
17  public:
18  TemplateCover();
19 
20  void set_state_lambda(std::function<optional<float>()> &&f);
21  Trigger<> *get_open_trigger() const;
23  Trigger<> *get_stop_trigger() const;
26  void set_optimistic(bool optimistic);
27  void set_assumed_state(bool assumed_state);
28  void set_tilt_lambda(std::function<optional<float>()> &&tilt_f);
29  void set_has_stop(bool has_stop);
30  void set_has_position(bool has_position);
31  void set_has_tilt(bool has_tilt);
32  void set_restore_mode(TemplateCoverRestoreMode restore_mode) { restore_mode_ = restore_mode; }
33 
34  void setup() override;
35  void loop() override;
36  void dump_config() override;
37 
38  float get_setup_priority() const override;
39 
40  protected:
41  void control(const cover::CoverCall &call) override;
42  cover::CoverTraits get_traits() override;
43  void stop_prev_trigger_();
44 
48  bool assumed_state_{false};
49  bool optimistic_{false};
52  bool has_stop_{false};
56  bool has_position_{false};
58  bool has_tilt_{false};
59 };
60 
61 } // namespace template_
62 } // namespace esphome
float get_setup_priority() const override
Base class for all cover devices.
Definition: cover.h:111
void set_has_position(bool has_position)
Trigger< float > * position_trigger_
cover::CoverTraits get_traits() override
void set_tilt_lambda(std::function< optional< float >()> &&tilt_f)
void set_optimistic(bool optimistic)
void control(const cover::CoverCall &call) override
void set_restore_mode(TemplateCoverRestoreMode restore_mode)
void set_state_lambda(std::function< optional< float >()> &&f)
TemplateCoverRestoreMode restore_mode_
Trigger< float > * get_position_trigger() const
void set_assumed_state(bool assumed_state)
optional< std::function< optional< float >)> > state_f_
optional< std::function< optional< float >)> > tilt_f_
Trigger< float > * get_tilt_trigger() const
Implementation of SPI Controller mode.
Definition: a01nyub.cpp:7