ESPHome 2026.3.0-dev
Loading...
Searching...
No Matches
template_water_heater.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome::template_ {
9
15
17 public:
19
20 template<typename F> void set_current_temperature_lambda(F &&f) {
21 this->current_temperature_f_.set(std::forward<F>(f));
22 }
23 template<typename F> void set_target_temperature_lambda(F &&f) {
24 this->target_temperature_f_.set(std::forward<F>(f));
25 }
26 template<typename F> void set_mode_lambda(F &&f) { this->mode_f_.set(std::forward<F>(f)); }
27 template<typename F> void set_away_lambda(F &&f) { this->away_f_.set(std::forward<F>(f)); }
28 template<typename F> void set_is_on_lambda(F &&f) { this->is_on_f_.set(std::forward<F>(f)); }
29
30 void set_optimistic(bool optimistic) { this->optimistic_ = optimistic; }
31 void set_restore_mode(TemplateWaterHeaterRestoreMode restore_mode) { this->restore_mode_ = restore_mode; }
32 void set_supported_modes(const std::initializer_list<water_heater::WaterHeaterMode> &modes) {
33 this->supported_modes_ = modes;
34 }
35
37
38 void setup() override;
39 void loop() override;
40 void dump_config() override;
41 float get_setup_priority() const override;
42
44
45 protected:
46 void control(const water_heater::WaterHeaterCall &call) override;
48
49 // Ordered to minimize padding on 32-bit: 4-byte members first, then smaller
58 bool optimistic_{true};
59};
60
61} // namespace esphome::template_
ESPDEPRECATED("set_retry is deprecated and will be removed in 2026.8.0. Use set_timeout or set_interval instead.", "2026.2.0") void set_retry(const std uint32_t uint8_t std::function< RetryResult(uint8_t)> && f
Definition component.h:387
Lightweight wrapper for template platform lambdas (stateless function pointers only).
void set(optional< T >(*f)(Args...))
Set the lambda function pointer.
TemplateWaterHeaterRestoreMode restore_mode_
void control(const water_heater::WaterHeaterCall &call) override
water_heater::WaterHeaterCallInternal make_call() override
void set_restore_mode(TemplateWaterHeaterRestoreMode restore_mode)
water_heater::WaterHeaterTraits traits() override
void set_supported_modes(const std::initializer_list< water_heater::WaterHeaterMode > &modes)
TemplateLambda< water_heater::WaterHeaterMode > mode_f_
water_heater::WaterHeaterModeMask supported_modes_