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