ESPHome 2026.5.1
Loading...
Searching...
No Matches
rgb_light_output.h
Go to the documentation of this file.
1#pragma once
2
6
7namespace esphome::rgb {
8
10 public:
11 void set_red(output::FloatOutput *red) { red_ = red; }
12 void set_green(output::FloatOutput *green) { green_ = green; }
13 void set_blue(output::FloatOutput *blue) { blue_ = blue; }
14
16 auto traits = light::LightTraits();
17 traits.set_supported_color_modes({light::ColorMode::RGB});
18 return traits;
19 }
21 float red, green, blue;
22 state->current_values_as_rgb(&red, &green, &blue);
23 this->red_->set_level(red);
24 this->green_->set_level(green);
25 this->blue_->set_level(blue);
26 }
27
28 protected:
32};
33
34} // namespace esphome::rgb
Interface to write LightStates to hardware.
This class represents the communication layer between the front-end MQTT layer and the hardware outpu...
Definition light_state.h:93
This class is used to represent the capabilities of a light.
Definition light_traits.h:9
Base class for all output components that can output a variable level, like PWM.
void set_level(float state)
Set the level of this float output, this is called from the front-end.
light::LightTraits get_traits() override
output::FloatOutput * blue_
void set_green(output::FloatOutput *green)
output::FloatOutput * green_
void set_blue(output::FloatOutput *blue)
output::FloatOutput * red_
void write_state(light::LightState *state) override
void set_red(output::FloatOutput *red)
bool state
Definition fan.h:2
@ RGB
RGB color output.