ESPHome 2026.6.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 : 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 void set_preset_modes(std::initializer_list<const char *> presets) { this->set_supported_preset_modes(presets); }
20 this->wire_preset_modes_(this->traits_);
21 return this->traits_;
22 }
23
24 protected:
25 void control(const fan::FanCall &call) override;
26 void write_state_();
27
33};
34
35} // namespace esphome::speed
void set_supported_preset_modes(std::initializer_list< const char * > preset_modes)
Set the supported preset modes (stored on Fan, referenced by FanTraits via pointer).
Definition fan.h:133
FanDirection direction
The current direction of the fan.
Definition fan.h:116
bool oscillating
The current oscillation state of the fan.
Definition fan.h:112
void wire_preset_modes_(FanTraits &traits)
Wire the Fan-owned preset modes pointer into the given traits object.
Definition fan.h:178
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:32
void set_output(output::FloatOutput *output)
Definition speed_fan.h:15
void set_preset_modes(std::initializer_list< const char * > presets)
Definition speed_fan.h:18
void set_oscillating(output::BinaryOutput *oscillating)
Definition speed_fan.h:16
output::BinaryOutput * oscillating_
Definition speed_fan.h:29
output::FloatOutput * output_
Definition speed_fan.h:28
void dump_config() override
Definition speed_fan.cpp:19
output::BinaryOutput * direction_
Definition speed_fan.h:30
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:19
SpeedFan(int speed_count)
Definition speed_fan.h:12