ESPHome 2025.12.0-dev
Loading...
Searching...
No Matches
template_valve.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome {
9namespace template_ {
10
16
17class TemplateValve final : public valve::Valve, public Component {
18 public:
20
21 template<typename F> void set_state_lambda(F &&f) { this->state_f_.set(std::forward<F>(f)); }
27 void set_optimistic(bool optimistic);
28 void set_assumed_state(bool assumed_state);
29 void set_has_stop(bool has_stop);
30 void set_has_position(bool has_position);
31 void set_has_toggle(bool has_toggle);
32 void set_restore_mode(TemplateValveRestoreMode 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 valve::ValveCall &call) override;
43 void stop_prev_trigger_();
44
47 bool assumed_state_{false};
48 bool optimistic_{false};
51 bool has_stop_{false};
52 bool has_toggle_{false};
57 bool has_position_{false};
58};
59
60} // namespace template_
61} // namespace esphome
Lightweight wrapper for template platform lambdas (stateless function pointers only).
void set(optional< T >(*f)(Args...))
Set the lambda function pointer.
void set_restore_mode(TemplateValveRestoreMode restore_mode)
void set_optimistic(bool optimistic)
float get_setup_priority() const override
void set_has_position(bool has_position)
void set_assumed_state(bool assumed_state)
TemplateLambda< float > state_f_
valve::ValveTraits get_traits() override
void control(const valve::ValveCall &call) override
TemplateValveRestoreMode restore_mode_
Trigger< float > * get_position_trigger() const
Base class for all valve devices.
Definition valve.h:105
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7