ESPHome 2026.5.0b1
Loading...
Searching...
No Matches
light_traits.h
Go to the documentation of this file.
1#pragma once
2
3#include "color_mode.h"
5
6namespace esphome::light {
7
10 public:
11 LightTraits() = default;
12
13 // Return by value to avoid dangling reference when get_traits() returns a temporary
15 void set_supported_color_modes(ColorModeMask supported_color_modes) {
16 this->supported_color_modes_ = supported_color_modes;
17 }
18 void set_supported_color_modes(std::initializer_list<ColorMode> modes) {
20 }
21
22 bool supports_color_mode(ColorMode color_mode) const { return this->supported_color_modes_.count(color_mode) > 0; }
23 bool supports_color_capability(ColorCapability color_capability) const {
24 return has_capability(this->supported_color_modes_, color_capability);
25 }
26
27 float get_min_mireds() const { return this->min_mireds_; }
28 void set_min_mireds(float min_mireds) { this->min_mireds_ = min_mireds; }
29 float get_max_mireds() const { return this->max_mireds_; }
30 void set_max_mireds(float max_mireds) { this->max_mireds_ = max_mireds; }
31
32 protected:
33 float min_mireds_{0};
34 float max_mireds_{0};
36};
37
38} // namespace esphome::light
constexpr size_t count(ValueType value) const
Check if the set contains a specific value (std::set compatibility) Returns 1 if present,...
This class is used to represent the capabilities of a light.
Definition light_traits.h:9
void set_supported_color_modes(ColorModeMask supported_color_modes)
void set_supported_color_modes(std::initializer_list< ColorMode > modes)
bool supports_color_mode(ColorMode color_mode) const
ColorModeMask get_supported_color_modes() const
void set_min_mireds(float min_mireds)
bool supports_color_capability(ColorCapability color_capability) const
ColorModeMask supported_color_modes_
void set_max_mireds(float max_mireds)
FiniteSetMask< ColorMode, ColorModeBitPolicy > ColorModeMask
Definition color_mode.h:147
bool has_capability(const ColorModeMask &mask, ColorCapability capability)
Check if any mode in the bitmask has a specific capability Used for checking if a light supports a ca...
Definition color_mode.h:207
ColorMode
Color modes are a combination of color capabilities that can be used at the same time.
Definition color_mode.h:49
ColorCapability
Color capabilities are the various outputs that a light has and that can be independently controlled ...
Definition color_mode.h:9