ESPHome  2022.6.2
Public Member Functions | Protected Member Functions | Protected Attributes
esphome::tsl2561::TSL2561Sensor Class Reference

This class includes support for the TSL2561 i2c ambient light sensor. More...

#include <tsl2561.h>

Inheritance diagram for esphome::tsl2561::TSL2561Sensor:
esphome::sensor::Sensor esphome::PollingComponent esphome::i2c::I2CDevice esphome::EntityBase esphome::Component

Public Member Functions

void set_integration_time (TSL2561IntegrationTime integration_time)
 Set the time that sensor values should be accumulated for. More...
 
void set_gain (TSL2561Gain gain)
 Set the internal gain of the sensor. More...
 
void set_is_cs_package (bool package_cs)
 The "CS" package of this sensor has a slightly different formula for converting the raw values. More...
 
void setup () override
 
void dump_config () override
 
void update () override
 
float get_setup_priority () const override
 
bool tsl2561_read_byte (uint8_t a_register, uint8_t *value)
 
bool tsl2561_read_uint (uint8_t a_register, uint16_t *value)
 
bool tsl2561_write_byte (uint8_t a_register, uint8_t value)
 
- Public Member Functions inherited from esphome::sensor::Sensor
 Sensor ()
 
 Sensor (const std::string &name)
 
std::string get_unit_of_measurement ()
 Get the unit of measurement, using the manual override if set. More...
 
void set_unit_of_measurement (const std::string &unit_of_measurement)
 Manually set the unit of measurement. More...
 
int8_t get_accuracy_decimals ()
 Get the accuracy in decimals, using the manual override if set. More...
 
void set_accuracy_decimals (int8_t accuracy_decimals)
 Manually set the accuracy in decimals. More...
 
std::string get_device_class ()
 Get the device class, using the manual override if set. More...
 
void set_device_class (const std::string &device_class)
 Manually set the device class. More...
 
StateClass get_state_class ()
 Get the state class, using the manual override if set. More...
 
void set_state_class (StateClass state_class)
 Manually set the state class. More...
 
bool get_force_update () const
 Get whether force update mode is enabled. More...
 
void set_force_update (bool force_update)
 Set force update mode. More...
 
void add_filter (Filter *filter)
 Add a filter to the filter chain. Will be appended to the back. More...
 
void add_filters (const std::vector< Filter *> &filters)
 Add a list of vectors to the back of the filter chain. More...
 
void set_filters (const std::vector< Filter *> &filters)
 Clear the filters and replace them by filters. More...
 
void clear_filters ()
 Clear the entire filter chain. More...
 
float get_state () const
 Getter-syntax for .state. More...
 
float get_raw_state () const
 Getter-syntax for .raw_state. More...
 
void publish_state (float state)
 Publish a new state to the front-end. More...
 
void add_on_state_callback (std::function< void(float)> &&callback)
 Add a callback that will be called every time a filtered value arrives. More...
 
void add_on_raw_state_callback (std::function< void(float)> &&callback)
 Add a callback that will be called every time the sensor sends a raw value. More...
 
bool has_state () const
 Return whether this sensor has gotten a full state (that passed through all filters) yet. More...
 
virtual std::string unique_id ()
 A unique ID for this sensor, empty for no unique id. More...
 
void internal_send_state_to_frontend (float state)
 
- 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::PollingComponent
 PollingComponent ()
 
 PollingComponent (uint32_t update_interval)
 Initialize this polling component with the given update interval in ms. More...
 
virtual void set_update_interval (uint32_t update_interval)
 Manually set the update interval in ms for this polling object. More...
 
void call_setup () override
 
virtual uint32_t get_update_interval () const
 Get the update interval in ms of this sensor. More...
 
- Public Member Functions inherited from esphome::Component
virtual void loop ()
 This method will be called repeatedly. More...
 
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...
 
- Public Member Functions inherited from esphome::i2c::I2CDevice
 I2CDevice ()=default
 
void set_i2c_address (uint8_t address)
 
void set_i2c_bus (I2CBus *bus)
 
I2CRegister reg (uint8_t a_register)
 
ErrorCode read (uint8_t *data, size_t len)
 
ErrorCode read_register (uint8_t a_register, uint8_t *data, size_t len, bool stop=true)
 
ErrorCode write (const uint8_t *data, uint8_t len, bool stop=true)
 
ErrorCode write_register (uint8_t a_register, const uint8_t *data, size_t len, bool stop=true)
 
bool read_bytes (uint8_t a_register, uint8_t *data, uint8_t len)
 
bool read_bytes_raw (uint8_t *data, uint8_t len)
 
template<size_t N>
optional< std::array< uint8_t, N > > read_bytes (uint8_t a_register)
 
template<size_t N>
optional< std::array< uint8_t, N > > read_bytes_raw ()
 
bool read_bytes_16 (uint8_t a_register, uint16_t *data, uint8_t len)
 
bool read_byte (uint8_t a_register, uint8_t *data, bool stop=true)
 
optional< uint8_t > read_byte (uint8_t a_register)
 
bool read_byte_16 (uint8_t a_register, uint16_t *data)
 
bool write_bytes (uint8_t a_register, const uint8_t *data, uint8_t len, bool stop=true)
 
bool write_bytes (uint8_t a_register, const std::vector< uint8_t > &data)
 
template<size_t N>
bool write_bytes (uint8_t a_register, const std::array< uint8_t, N > &data)
 
bool write_bytes_16 (uint8_t a_register, const uint16_t *data, uint8_t len)
 
bool write_byte (uint8_t a_register, uint8_t data, bool stop=true)
 
bool write_byte_16 (uint8_t a_register, uint16_t data)
 

Protected Member Functions

float get_integration_time_ms_ ()
 
void read_data_ ()
 
float calculate_lx_ (uint16_t ch0, uint16_t ch1)
 
- Protected Member Functions inherited from esphome::sensor::Sensor
virtual std::string unit_of_measurement ()
 Override this to set the default unit of measurement. More...
 
virtual int8_t accuracy_decimals ()
 Override this to set the default accuracy in decimals. More...
 
virtual std::string device_class ()
 Override this to set the default device class. More...
 
virtual StateClass state_class ()
 Override this to set the default state class. 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_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

TSL2561IntegrationTime integration_time_ {TSL2561_INTEGRATION_402MS}
 
TSL2561Gain gain_ {TSL2561_GAIN_1X}
 
bool package_cs_ {false}
 
- Protected Attributes inherited from esphome::sensor::Sensor
CallbackManager< void(float)> raw_callback_
 Storage for raw state callbacks. More...
 
CallbackManager< void(float)> callback_
 Storage for filtered state callbacks. More...
 
bool has_state_ {false}
 
Filterfilter_list_ {nullptr}
 Store all active filters. More...
 
optional< std::string > unit_of_measurement_
 Unit of measurement override. More...
 
optional< int8_t > accuracy_decimals_
 Accuracy in decimals override. More...
 
optional< std::string > device_class_
 Device class override. More...
 
optional< StateClassstate_class_ {STATE_CLASS_NONE}
 State class override. More...
 
bool force_update_ {false}
 Force update mode. 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::PollingComponent
uint32_t update_interval_
 
- 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
 
- Protected Attributes inherited from esphome::i2c::I2CDevice
uint8_t address_ {0x00}
 
I2CBusbus_ {nullptr}
 

Additional Inherited Members

- Data Fields inherited from esphome::sensor::Sensor
float state
 This member variable stores the last state that has passed through all filters. More...
 
float raw_state
 This member variable stores the current raw state of the sensor, without any filters applied. More...
 

Detailed Description

This class includes support for the TSL2561 i2c ambient light sensor.

Definition at line 30 of file tsl2561.h.

Member Function Documentation

◆ calculate_lx_()

float esphome::tsl2561::TSL2561Sensor::calculate_lx_ ( uint16_t  ch0,
uint16_t  ch1 
)
protected

Definition at line 66 of file tsl2561.cpp.

◆ dump_config()

void esphome::tsl2561::TSL2561Sensor::dump_config ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 39 of file tsl2561.cpp.

◆ get_integration_time_ms_()

float esphome::tsl2561::TSL2561Sensor::get_integration_time_ms_ ( )
protected

Definition at line 130 of file tsl2561.cpp.

◆ get_setup_priority()

float esphome::tsl2561::TSL2561Sensor::get_setup_priority ( ) const
overridevirtual

Reimplemented from esphome::Component.

Definition at line 146 of file tsl2561.cpp.

◆ read_data_()

void esphome::tsl2561::TSL2561Sensor::read_data_ ( )
protected

Definition at line 109 of file tsl2561.cpp.

◆ set_gain()

void esphome::tsl2561::TSL2561Sensor::set_gain ( TSL2561Gain  gain)

Set the internal gain of the sensor.

Can be useful for low-light conditions

Possible values are:

  • sensor::TSL2561_GAIN_1X (default)
  • sensor::TSL2561_GAIN_16X
Parameters
gainThe new gain.

Definition at line 144 of file tsl2561.cpp.

◆ set_integration_time()

void esphome::tsl2561::TSL2561Sensor::set_integration_time ( TSL2561IntegrationTime  integration_time)

Set the time that sensor values should be accumulated for.

Longer means more accurate, but also mean more power consumption.

Possible values are:

  • sensor::TSL2561_INTEGRATION_14MS
  • sensor::TSL2561_INTEGRATION_101MS
  • sensor::TSL2561_INTEGRATION_402MS (default)
Parameters
integration_timeThe new integration time.

Definition at line 141 of file tsl2561.cpp.

◆ set_is_cs_package()

void esphome::tsl2561::TSL2561Sensor::set_is_cs_package ( bool  package_cs)

The "CS" package of this sensor has a slightly different formula for converting the raw values.

Use this setting to indicate that this is a CS package. Defaults to false (not a CS package)

Parameters
package_csIs this a CS package.

Definition at line 145 of file tsl2561.cpp.

◆ setup()

void esphome::tsl2561::TSL2561Sensor::setup ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 17 of file tsl2561.cpp.

◆ tsl2561_read_byte()

bool esphome::tsl2561::TSL2561Sensor::tsl2561_read_byte ( uint8_t  a_register,
uint8_t *  value 
)

Definition at line 159 of file tsl2561.cpp.

◆ tsl2561_read_uint()

bool esphome::tsl2561::TSL2561Sensor::tsl2561_read_uint ( uint8_t  a_register,
uint16_t *  value 
)

Definition at line 150 of file tsl2561.cpp.

◆ tsl2561_write_byte()

bool esphome::tsl2561::TSL2561Sensor::tsl2561_write_byte ( uint8_t  a_register,
uint8_t  value 
)

Definition at line 147 of file tsl2561.cpp.

◆ update()

void esphome::tsl2561::TSL2561Sensor::update ( )
overridevirtual

Implements esphome::PollingComponent.

Definition at line 53 of file tsl2561.cpp.

Field Documentation

◆ gain_

TSL2561Gain esphome::tsl2561::TSL2561Sensor::gain_ {TSL2561_GAIN_1X}
protected

Definition at line 82 of file tsl2561.h.

◆ integration_time_

TSL2561IntegrationTime esphome::tsl2561::TSL2561Sensor::integration_time_ {TSL2561_INTEGRATION_402MS}
protected

Definition at line 81 of file tsl2561.h.

◆ package_cs_

bool esphome::tsl2561::TSL2561Sensor::package_cs_ {false}
protected

Definition at line 83 of file tsl2561.h.


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