ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
speed_fan.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome::speed {
9
10class SpeedFan final : public Component, public fan::Fan {
11 public:
12 SpeedFan(int speed_count) : speed_count_(speed_count) {}
13 void setup() override;
14 void dump_config() override;
15 void set_output(output::FloatOutput *output) { this->output_ = output; }
18 // Remove before 2027.5.0
19 ESPDEPRECATED("Use set_supported_preset_modes() instead. Removed in 2027.5.0", "2026.11.0")
20 void set_preset_modes(std::initializer_list<const char *> presets) { this->set_supported_preset_modes(presets); }
22 this->wire_preset_modes_(this->traits_);
23 return this->traits_;
24 }
25
26 protected:
27 void control(const fan::FanCall &call) override;
28 void write_state_();
29
35};
36
37} // namespace esphome::speed
void set_supported_preset_modes(std::initializer_list< const char * > preset_modes)
Set the supported preset modes; the list is copied (stored on Fan, referenced by FanTraits).
Definition fan.h:134
FanDirection direction
The current direction of the fan.
Definition fan.h:117
bool oscillating
The current oscillation state of the fan.
Definition fan.h:113
void wire_preset_modes_(FanTraits &traits)
Wire the Fan-owned preset modes pointer into the given traits object.
Definition fan.h:186
Base class for all output components that can output a variable level, like PWM.
void control(const fan::FanCall &call) override
Definition speed_fan.cpp:21
fan::FanTraits traits_
Definition speed_fan.h:34
void set_output(output::FloatOutput *output)
Definition speed_fan.h:15
void set_oscillating(output::BinaryOutput *oscillating)
Definition speed_fan.h:16
output::BinaryOutput * oscillating_
Definition speed_fan.h:31
output::FloatOutput * output_
Definition speed_fan.h:30
void dump_config() override
Definition speed_fan.cpp:19
output::BinaryOutput * direction_
Definition speed_fan.h:32
ESPDEPRECATED("Use set_supported_preset_modes() instead. Removed in 2027.5.0", "2026.11.0") void set_preset_modes(std
Definition speed_fan.h:19
void setup() override
Definition speed_fan.cpp:8
void set_direction(output::BinaryOutput *direction)
Definition speed_fan.h:17
fan::FanTraits get_traits() override
Definition speed_fan.h:21
SpeedFan(int speed_count)
Definition speed_fan.h:12
STL namespace.