ESPHome  2022.11.3
esphome::light::AddressableLightState Class Reference

Use a custom state class for addressable lights, to allow type system to discriminate between addressable and non-addressable lights. More...

#include <addressable_light.h>

Inheritance diagram for esphome::light::AddressableLightState:
esphome::light::LightState esphome::EntityBase esphome::Component

Additional Inherited Members

- Public Member Functions inherited from esphome::light::LightState
 LightState (const std::string &name, LightOutput *output)
 Construct this LightState using the provided traits and name. More...
 
 LightState (LightOutput *output)
 
LightTraits get_traits ()
 
LightCall turn_on ()
 Make a light state call. More...
 
LightCall turn_off ()
 
LightCall toggle ()
 
LightCall make_call ()
 
void setup () override
 Load state from preferences. More...
 
void dump_config () override
 
void loop () override
 
float get_setup_priority () const override
 Shortly after HARDWARE. More...
 
void publish_state ()
 Publish the currently active state to the frontend. More...
 
LightOutputget_output () const
 Get the light output associated with this object. More...
 
std::string get_effect_name ()
 Return the name of the current effect, or if no effect is active "None". More...
 
void add_new_remote_values_callback (std::function< void()> &&send_callback)
 This lets front-end components subscribe to light change events. More...
 
void add_new_target_state_reached_callback (std::function< void()> &&send_callback)
 The callback is called once the state of current_values and remote_values are equal (when the transition is finished). More...
 
void set_default_transition_length (uint32_t default_transition_length)
 Set the default transition length, i.e. the transition length when no transition is provided. More...
 
uint32_t get_default_transition_length () const
 
void set_flash_transition_length (uint32_t flash_transition_length)
 Set the flash transition length. More...
 
uint32_t get_flash_transition_length () const
 
void set_gamma_correct (float gamma_correct)
 Set the gamma correction factor. More...
 
float get_gamma_correct () const
 
void set_restore_mode (LightRestoreMode restore_mode)
 Set the restore mode of this light. More...
 
bool supports_effects ()
 Return whether the light has any effects that meet the trait requirements. More...
 
const std::vector< LightEffect * > & get_effects () const
 Get all effects for this light state. More...
 
void add_effects (const std::vector< LightEffect *> &effects)
 Add effects for this light state. More...
 
void current_values_as_binary (bool *binary)
 The result of all the current_values_as_* methods have gamma correction applied. More...
 
void current_values_as_brightness (float *brightness)
 
void current_values_as_rgb (float *red, float *green, float *blue, bool color_interlock=false)
 
void current_values_as_rgbw (float *red, float *green, float *blue, float *white, bool color_interlock=false)
 
void current_values_as_rgbww (float *red, float *green, float *blue, float *cold_white, float *warm_white, bool constant_brightness=false)
 
void current_values_as_rgbct (float *red, float *green, float *blue, float *color_temperature, float *white_brightness)
 
void current_values_as_cwww (float *cold_white, float *warm_white, bool constant_brightness=false)
 
void current_values_as_ct (float *color_temperature, float *white_brightness)
 
- Public Member Functions inherited from esphome::EntityBase
 EntityBase ()
 
 EntityBase (std::string name)
 
const std::string & get_name () const
 
void set_name (const std::string &name)
 
const std::string & get_object_id ()
 
uint32_t get_object_id_hash ()
 
bool is_internal () const
 
void set_internal (bool internal)
 
bool is_disabled_by_default () const
 
void set_disabled_by_default (bool disabled_by_default)
 
EntityCategory get_entity_category () const
 
void set_entity_category (EntityCategory entity_category)
 
const std::string & get_icon () const
 
void set_icon (const std::string &name)
 
- Public Member Functions inherited from esphome::Component
float get_actual_setup_priority () const
 
void set_setup_priority (float priority)
 
virtual float get_loop_priority () const
 priority of loop(). More...
 
void call ()
 
virtual void on_shutdown ()
 
virtual void on_safe_shutdown ()
 
uint32_t get_component_state () const
 
virtual void mark_failed ()
 Mark this component as failed. More...
 
bool is_failed ()
 
virtual bool can_proceed ()
 
bool status_has_warning ()
 
bool status_has_error ()
 
void status_set_warning ()
 
void status_set_error ()
 
void status_clear_warning ()
 
void status_clear_error ()
 
void status_momentary_warning (const std::string &name, uint32_t length=5000)
 
void status_momentary_error (const std::string &name, uint32_t length=5000)
 
bool has_overridden_loop () const
 
void set_component_source (const char *source)
 Set where this component was loaded from for some debug messages. More...
 
const char * get_component_source () const
 Get the integration where this component was declared as a string. More...
 
- Data Fields inherited from esphome::light::LightState
LightColorValues current_values
 The current values of the light as outputted to the light. More...
 
LightColorValues remote_values
 The remote color values reported to the frontend. More...
 
- Protected Member Functions inherited from esphome::light::LightState
void start_effect_ (uint32_t effect_index)
 Internal method to start an effect with the given index. More...
 
LightEffectget_active_effect_ ()
 Internal method to get the currently active effect. More...
 
void stop_effect_ ()
 Internal method to stop the current effect (if one is active). More...
 
void start_transition_ (const LightColorValues &target, uint32_t length, bool set_remote_values)
 Internal method to start a transition to the target color with the given length. More...
 
void start_flash_ (const LightColorValues &target, uint32_t length, bool set_remote_values)
 Internal method to start a flash for the specified amount of time. More...
 
void set_immediately_ (const LightColorValues &target, bool set_remote_values)
 Internal method to set the color values to target immediately (with no transition). More...
 
void save_remote_values_ ()
 Internal method to save the current remote_values to the preferences. More...
 
- Protected Member Functions inherited from esphome::EntityBase
virtual uint32_t hash_base ()
 The hash_base() function has been deprecated. More...
 
void calc_object_id_ ()
 
- Protected Member Functions inherited from esphome::Component
virtual void call_loop ()
 
virtual void call_setup ()
 
virtual void call_dump_config ()
 
void set_interval (const std::string &name, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a unique name. More...
 
void set_interval (uint32_t interval, std::function< void()> &&f)
 
bool cancel_interval (const std::string &name)
 Cancel an interval function. More...
 
void set_retry (const std::string &name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult()> &&f, float backoff_increase_factor=1.0f)
 Set an retry function with a unique name. More...
 
void set_retry (uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult()> &&f, float backoff_increase_factor=1.0f)
 
bool cancel_retry (const std::string &name)
 Cancel a retry function. More...
 
void set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a unique name. More...
 
void set_timeout (uint32_t timeout, std::function< void()> &&f)
 
bool cancel_timeout (const std::string &name)
 Cancel a timeout function. More...
 
void defer (const std::string &name, std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
void defer (std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
bool cancel_defer (const std::string &name)
 Cancel a defer callback using the specified name, name must not be empty. More...
 
- Protected Attributes inherited from esphome::light::LightState
friend LightOutput
 
friend LightCall
 
LightOutputoutput_
 Store the output to allow effects to have more access. More...
 
uint32_t active_effect_index_ {}
 Value for storing the index of the currently active effect. 0 if no effect is active. More...
 
std::unique_ptr< LightTransformertransformer_ {nullptr}
 The currently active transformer for this light (transition/flash). More...
 
bool next_write_ {true}
 Whether the light value should be written in the next cycle. More...
 
ESPPreferenceObject rtc_
 Object used to store the persisted values of the light. More...
 
CallbackManager< void()> remote_values_callback_ {}
 Callback to call when new values for the frontend are available. More...
 
CallbackManager< void()> target_state_reached_callback_ {}
 Callback to call when the state of current_values and remote_values are equal This should be called once the state of current_values changed and equals the state of remote_values. More...
 
uint32_t default_transition_length_ {}
 Default transition length for all transitions in ms. More...
 
uint32_t flash_transition_length_ {}
 Transition length to use for flash transitions. More...
 
float gamma_correct_ {}
 Gamma correction factor for the light. More...
 
LightRestoreMode restore_mode_
 Restore mode of the light. More...
 
std::vector< LightEffect * > effects_
 List of effects for this light. More...
 
- Protected Attributes inherited from esphome::EntityBase
std::string name_
 
std::string object_id_
 
std::string icon_
 
uint32_t object_id_hash_
 
bool internal_ {false}
 
bool disabled_by_default_ {false}
 
EntityCategory entity_category_ {ENTITY_CATEGORY_NONE}
 
- Protected Attributes inherited from esphome::Component
uint32_t component_state_ {0x0000}
 State of this component. More...
 
float setup_priority_override_ {NAN}
 
const char * component_source_ {nullptr}
 

Detailed Description

Use a custom state class for addressable lights, to allow type system to discriminate between addressable and non-addressable lights.

Definition at line 27 of file addressable_light.h.


The documentation for this class was generated from the following file: