ESPHome 2026.5.0-dev
Loading...
Searching...
No Matches
speed_fan.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome {
9namespace speed {
10
11class SpeedFan : public Component, public fan::Fan {
12 public:
13 SpeedFan(int speed_count) : speed_count_(speed_count) {}
14 void setup() override;
15 void dump_config() override;
16 void set_output(output::FloatOutput *output) { this->output_ = output; }
19 void set_preset_modes(std::initializer_list<const char *> presets) { this->set_supported_preset_modes(presets); }
21 this->wire_preset_modes_(this->traits_);
22 return this->traits_;
23 }
24
25 protected:
26 void control(const fan::FanCall &call) override;
27 void write_state_();
28
34};
35
36} // namespace speed
37} // namespace esphome
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: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:179
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:22
fan::FanTraits traits_
Definition speed_fan.h:33
void set_output(output::FloatOutput *output)
Definition speed_fan.h:16
void set_preset_modes(std::initializer_list< const char * > presets)
Definition speed_fan.h:19
void set_oscillating(output::BinaryOutput *oscillating)
Definition speed_fan.h:17
output::BinaryOutput * oscillating_
Definition speed_fan.h:30
output::FloatOutput * output_
Definition speed_fan.h:29
void dump_config() override
Definition speed_fan.cpp:20
output::BinaryOutput * direction_
Definition speed_fan.h:31
void setup() override
Definition speed_fan.cpp:9
void set_direction(output::BinaryOutput *direction)
Definition speed_fan.h:18
fan::FanTraits get_traits() override
Definition speed_fan.h:20
SpeedFan(int speed_count)
Definition speed_fan.h:13
int speed
Definition fan.h:3
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7