ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
esphome::as734x::AS734XComponent Class Reference

#include <as734x.h>

Inheritance diagram for esphome::as734x::AS734XComponent:
esphome::PollingComponent esphome::i2c::I2CDevice esphome::Component

Public Member Functions

 AS734XComponent (const ChipInfo *chip)
 
void setup () override
 
void dump_config () override
 
void update () override
 
void loop () override
 
void set_gain (Gain gain)
 
void set_atime (uint8_t atime)
 
void set_astep (uint16_t astep)
 
void enable_led (bool enable)
 Turns the sensor's LED driver on or off. Meant for lambdas.
 
void set_dark_current (const std::array< float, NUM_BANDS > &values)
 
void set_channel_correction (const std::array< float, NUM_BANDS > &values)
 
void set_glass_attenuation_factor (float factor)
 
void set_basic_counts_normalization (Normalization normalization)
 Chooses what the published basic counts are divided by.
 
void set_counts_sensor (sensor::Sensor *sensor, uint8_t band)
 
void set_basic_counts_sensor (sensor::Sensor *sensor, uint8_t band)
 
 SUB_SENSOR (saturation_level) SUB_SENSOR(illuminance) SUB_SENSOR(irradiance_photopic) SUB_SENSOR(irradiance_par) SUB_SENSOR(ppfd) SUB_SENSOR(color_temperature) void set_rgb_hex_sensor(text_sensor
 
- Public Member Functions inherited from esphome::PollingComponent
 PollingComponent ()
 
 PollingComponent (uint32_t update_interval)
 Initialize this polling component with the given update interval in ms.
 
void set_update_interval (uint32_t update_interval)
 Manually set the update interval in ms for this polling object.
 
void call_setup () override
 
virtual uint32_t get_update_interval () const
 Get the update interval in ms of this sensor.
 
void start_poller ()
 
void stop_poller ()
 
- Public Member Functions inherited from esphome::Component
virtual float get_setup_priority () const
 priority of setup().
 
float get_actual_setup_priority () const
 
void set_setup_priority (float priority)
 
void call ()
 
virtual void on_shutdown ()
 
virtual void on_safe_shutdown ()
 
virtual bool teardown ()
 Called during teardown to allow component to gracefully finish operations.
 
virtual void on_powerdown ()
 Called after teardown is complete to power down hardware.
 
uint8_t get_component_state () const
 
void reset_to_construction_state ()
 Reset this component back to the construction state to allow setup to run again.
 
bool is_in_loop_state () const
 Check if this component has completed setup and is in the loop state.
 
bool is_idle () const
 Check if this component is idle.
 
void mark_failed ()
 Mark this component as failed.
 
void mark_failed (const LogString *message)
 
void disable_loop ()
 Disable this component's loop.
 
void enable_loop ()
 Enable this component's loop.
 
void enable_loop_soon_any_context ()
 Thread and ISR-safe version of enable_loop() that can be called from any context.
 
bool is_failed () const
 
bool is_ready () const
 
virtual bool can_proceed ()
 
bool status_has_warning () const
 
bool status_has_error () const
 
void status_set_warning ()
 
void status_set_warning (const char *message)
 
void status_set_warning (const LogString *message)
 
void status_set_error ()
 
void status_set_error (const LogString *message)
 
void status_clear_warning ()
 
void status_clear_error ()
 
 ESPDEPRECATED ("Use status_momentary_warning() without a name. Removed in 2027.5.0", "2026.11.0") void status_momentary_warning(const char *name
 
void status_momentary_warning (uint32_t length=5000)
 Set warning status flag and clear it after length ms.
 
void status_momentary_warning (const LogString *message, uint32_t length=5000)
 
 ESPDEPRECATED ("Use status_momentary_error() without a name. Removed in 2027.5.0", "2026.11.0") void status_momentary_error(const char *name
 
void status_momentary_error (uint32_t length=5000)
 Set error status flag and clear it after length ms.
 
void status_momentary_error (const LogString *message, uint32_t length=5000)
 
bool has_overridden_loop () const
 
const LogString * get_component_log_str () const ESPHOME_ALWAYS_INLINE
 Get the integration where this component was declared as a LogString for logging.
 
bool should_warn_of_blocking (uint32_t blocking_time, uint32_t &threshold_ms_out)
 
- Public Member Functions inherited from esphome::i2c::I2CDevice
 I2CDevice ()=default
 we use the C++ default constructor
 
void set_i2c_address (uint8_t address)
 We store the address of the device on the bus.
 
uint8_t get_i2c_address () const
 Returns the I2C address of the object.
 
void set_i2c_bus (I2CBus *bus)
 we store the pointer to the I2CBus to use
 
I2CRegister reg (uint8_t a_register)
 calls the I2CRegister constructor
 
I2CRegister16 reg16 (uint16_t a_register)
 calls the I2CRegister16 constructor
 
ErrorCode read (uint8_t *data, size_t len) const
 reads an array of bytes from the device using an I2CBus
 
ErrorCode read_register (uint8_t a_register, uint8_t *data, size_t len)
 reads an array of bytes from a specific register in the I²C device
 
ErrorCode read_register16 (uint16_t a_register, uint8_t *data, size_t len)
 reads an array of bytes from a specific register in the I²C device
 
ErrorCode write (const uint8_t *data, size_t len) const
 writes an array of bytes to a device using an I2CBus
 
ErrorCode write_read (const uint8_t *write_data, size_t write_len, uint8_t *read_data, size_t read_len) const
 writes an array of bytes to a device, then reads an array, as a single transaction
 
ErrorCode write_register (uint8_t a_register, const uint8_t *data, size_t len) const
 writes an array of bytes to a specific register in the I²C device
 
ErrorCode write_register16 (uint16_t a_register, const uint8_t *data, size_t len) const
 write an array of bytes to a specific register in the I²C device
 
bool read_bytes (uint8_t a_register, uint8_t *data, uint8_t len)
 Compat APIs All methods below have been added for compatibility reasons.
 
bool read_bytes_raw (uint8_t *data, uint8_t len) const
 
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)
 
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) const
 
bool write_bytes (uint8_t a_register, const std::vector< uint8_t > &data) const
 
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) const
 
bool write_byte (uint8_t a_register, uint8_t data) const
 
bool write_byte_16 (uint8_t a_register, uint16_t data) const
 

Protected Types

enum class  State : uint8_t { STATE_IDLE , STATE_WAIT_SMUX , STATE_READ_DATA }
 

Protected Member Functions

bool select_bank_ (uint8_t reg)
 
bool update_bits_ (uint8_t reg, uint8_t mask, bool value)
 
bool write_exposure_ ()
 
bool start_step_ ()
 
void read_step_ ()
 
void abort_measurement_ (const LogString *reason)
 
void calculate_basic_counts_ ()
 
void publish_light_metrics_ ()
 
void publish_color_ ()
 
void publish_measurement_ ()
 
void publish_basic_counts_ ()
 
float normalization_divisor_ () const
 
- Protected Member Functions inherited from esphome::Component
friend void::setup ()
 
friend void::original_setup ()
 
void set_component_source_ (uint8_t index)
 Set where this component was loaded from for some debug messages.
 
void call_dump_config_ ()
 
void enable_loop_slow_path_ ()
 
void set_component_state_ (uint8_t state)
 Helper to set component state (clears state bits and sets new state)
 
bool set_status_flag_ (uint8_t flag)
 Helper to set a status LED flag on both this component and the app.
 
bool set_error_flag_ (const LogString *message)
 Set the error flag and log it; true when it was not set before.
 
void set_interval (const char *name, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a const char* name.
 
void set_interval (uint32_t id, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a numeric ID (zero heap allocation).
 
void set_interval (InternalSchedulerID id, uint32_t interval, std::function< void()> &&f)
 
void set_interval (uint32_t interval, std::function< void()> &&f)
 
bool cancel_interval (const char *name)
 Cancel an interval function.
 
bool cancel_interval (uint32_t id)
 
bool cancel_interval (InternalSchedulerID id)
 
void set_timeout (const char *name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a const char* name.
 
void set_timeout (uint32_t id, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a numeric ID (zero heap allocation).
 
void set_timeout (InternalSchedulerID id, uint32_t timeout, std::function< void()> &&f)
 
void set_timeout (uint32_t timeout, std::function< void()> &&f)
 
bool cancel_timeout (const char *name)
 Cancel a timeout function.
 
bool cancel_timeout (uint32_t id)
 
bool cancel_timeout (InternalSchedulerID id)
 
void defer (const char *name, std::function< void()> &&f)
 Defer a callback to the next loop() call with a const char* name.
 
void defer (std::function< void()> &&f)
 Defer a callback to the next loop() call.
 
void defer (uint32_t id, std::function< void()> &&f)
 Defer a callback with a numeric ID (zero heap allocation)
 
bool cancel_defer (const char *name)
 Cancel a defer callback using the specified name, name must not be empty.
 
bool cancel_defer (uint32_t id)
 
void status_clear_warning_slow_path_ ()
 
void status_clear_error_slow_path_ ()
 

Protected Attributes

std::array< sensor::Sensor *, NUM_BANDS > sensors_ {}
 
std::array< sensor::Sensor *, NUM_BANDS > basic_counts_sensors_ {}
 
std::array< float, NUM_BANDS > dark_current_ {}
 
std::array< float, NUM_BANDS > channel_correction_
 
std::array< float, NUM_BANDS > basic_counts_ {}
 
std::array< uint16_t, NUM_BANDS > raw_counts_ {}
 
const ChipInfo * chip_
 
uint32_t start_ms_ {0}
 
uint32_t integration_ms_ {0}
 
uint32_t timeout_ms_ {0}
 
float glass_attenuation_factor_ {1.0f}
 
float max_basic_count_ {0.0f}
 
float max_band_basic_count_ {0.0f}
 
float clear_basic_count_ {0.0f}
 
uint16_t astep_ {0}
 
uint16_t peak_raw_count_ {0}
 
uint16_t reading_astep_ {0}
 
Gain reading_gain_ {GAIN_1X}
 
uint8_t reading_atime_ {0}
 
enum esphome::as734x::AS734XComponent::State STATE_IDLE
 
Normalization normalization_ {Normalization::NORMALIZATION_NONE}
 
Gain gain_ {GAIN_1X}
 
uint8_t atime_ {0}
 
uint8_t step_ {0}
 
bool bank_low_ {true}
 
text_sensor::TextSensor * rgb_hex_sensor_ {nullptr}
 
- Protected Attributes inherited from esphome::PollingComponent
uint32_t update_interval_
 
- Protected Attributes inherited from esphome::Component
uint8_t component_source_index_ {0}
 Index into component source PROGMEM lookup table (0 = not set)
 
uint8_t warn_if_blocking_over_ {WARN_IF_BLOCKING_OVER_CS}
 Warn threshold in centiseconds (max 2550ms)
 
uint8_t component_state_ {0x00}
 State of this component - each bit has a purpose: Bits 0-2: Component state (0x00=CONSTRUCTION, 0x01=SETUP, 0x02=LOOP, 0x03=FAILED, 0x04=LOOP_DONE) Bit 3: STATUS_LED_WARNING Bit 4: STATUS_LED_ERROR Bit 5: Has overridden loop() (set at registration time) Bits 6-7: Unused - reserved for future expansion.
 
volatile bool pending_enable_loop_ {false}
 ISR-safe flag for enable_loop_soon_any_context.
 
ComponentRuntimeStats runtime_stats_
 
- Protected Attributes inherited from esphome::i2c::I2CDevice
uint8_t address_ {0x00}
 store the address of the device on the bus
 
I2CBus * bus_ {nullptr}
 pointer to I2CBus instance
 

Additional Inherited Members

- Data Fields inherited from esphome::Component
uint32_t length = 5000)
 

Detailed Description

Definition at line 113 of file as734x.h.

Member Enumeration Documentation

◆ State

enum class esphome::as734x::AS734XComponent::State : uint8_t
strongprotected
Enumerator
STATE_IDLE 
STATE_WAIT_SMUX 
STATE_READ_DATA 

Definition at line 188 of file as734x.h.

Constructor & Destructor Documentation

◆ AS734XComponent()

esphome::as734x::AS734XComponent::AS734XComponent ( const ChipInfo * chip)
inlineexplicit

Definition at line 117 of file as734x.h.

Member Function Documentation

◆ abort_measurement_()

void esphome::as734x::AS734XComponent::abort_measurement_ ( const LogString * reason)
protected

Definition at line 663 of file as734x.cpp.

◆ calculate_basic_counts_()

void esphome::as734x::AS734XComponent::calculate_basic_counts_ ( )
protected

Definition at line 495 of file as734x.cpp.

◆ dump_config()

void esphome::as734x::AS734XComponent::dump_config ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 329 of file as734x.cpp.

◆ enable_led()

void esphome::as734x::AS734XComponent::enable_led ( bool enable)

Turns the sensor's LED driver on or off. Meant for lambdas.

Definition at line 360 of file as734x.cpp.

◆ loop()

void esphome::as734x::AS734XComponent::loop ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 418 of file as734x.cpp.

◆ normalization_divisor_()

float esphome::as734x::AS734XComponent::normalization_divisor_ ( ) const
protected

Definition at line 536 of file as734x.cpp.

◆ publish_basic_counts_()

void esphome::as734x::AS734XComponent::publish_basic_counts_ ( )
protected

Definition at line 555 of file as734x.cpp.

◆ publish_color_()

void esphome::as734x::AS734XComponent::publish_color_ ( )
protected

Definition at line 606 of file as734x.cpp.

◆ publish_light_metrics_()

void esphome::as734x::AS734XComponent::publish_light_metrics_ ( )
protected

Definition at line 571 of file as734x.cpp.

◆ publish_measurement_()

void esphome::as734x::AS734XComponent::publish_measurement_ ( )
protected

Definition at line 644 of file as734x.cpp.

◆ read_step_()

void esphome::as734x::AS734XComponent::read_step_ ( )
protected

Definition at line 451 of file as734x.cpp.

◆ select_bank_()

bool esphome::as734x::AS734XComponent::select_bank_ ( uint8_t reg)
protected

Definition at line 257 of file as734x.cpp.

◆ set_astep()

void esphome::as734x::AS734XComponent::set_astep ( uint16_t astep)
inline

Definition at line 126 of file as734x.h.

◆ set_atime()

void esphome::as734x::AS734XComponent::set_atime ( uint8_t atime)
inline

Definition at line 125 of file as734x.h.

◆ set_basic_counts_normalization()

void esphome::as734x::AS734XComponent::set_basic_counts_normalization ( Normalization normalization)
inline

Chooses what the published basic counts are divided by.

Definition at line 137 of file as734x.h.

◆ set_basic_counts_sensor()

void esphome::as734x::AS734XComponent::set_basic_counts_sensor ( sensor::Sensor * sensor,
uint8_t band )
inline

Definition at line 140 of file as734x.h.

◆ set_channel_correction()

void esphome::as734x::AS734XComponent::set_channel_correction ( const std::array< float, NUM_BANDS > & values)
inline

Definition at line 133 of file as734x.h.

◆ set_counts_sensor()

void esphome::as734x::AS734XComponent::set_counts_sensor ( sensor::Sensor * sensor,
uint8_t band )
inline

Definition at line 139 of file as734x.h.

◆ set_dark_current()

void esphome::as734x::AS734XComponent::set_dark_current ( const std::array< float, NUM_BANDS > & values)
inline

Definition at line 132 of file as734x.h.

◆ set_gain()

void esphome::as734x::AS734XComponent::set_gain ( Gain gain)
inline

Definition at line 124 of file as734x.h.

◆ set_glass_attenuation_factor()

void esphome::as734x::AS734XComponent::set_glass_attenuation_factor ( float factor)
inline

Definition at line 134 of file as734x.h.

◆ setup()

void esphome::as734x::AS734XComponent::setup ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 294 of file as734x.cpp.

◆ start_step_()

bool esphome::as734x::AS734XComponent::start_step_ ( )
protected

Definition at line 402 of file as734x.cpp.

◆ SUB_SENSOR()

esphome::as734x::AS734XComponent::SUB_SENSOR ( saturation_level )
inline

Definition at line 142 of file as734x.h.

◆ update()

void esphome::as734x::AS734XComponent::update ( )
overridevirtual

Implements esphome::PollingComponent.

Definition at line 384 of file as734x.cpp.

◆ update_bits_()

bool esphome::as734x::AS734XComponent::update_bits_ ( uint8_t reg,
uint8_t mask,
bool value )
protected

Definition at line 266 of file as734x.cpp.

◆ write_exposure_()

bool esphome::as734x::AS734XComponent::write_exposure_ ( )
protected

Definition at line 277 of file as734x.cpp.

Field Documentation

◆ astep_

uint16_t esphome::as734x::AS734XComponent::astep_ {0}
protected

Definition at line 181 of file as734x.h.

◆ atime_

uint8_t esphome::as734x::AS734XComponent::atime_ {0}
protected

Definition at line 191 of file as734x.h.

◆ bank_low_

bool esphome::as734x::AS734XComponent::bank_low_ {true}
protected

Definition at line 193 of file as734x.h.

◆ basic_counts_

std::array<float, NUM_BANDS> esphome::as734x::AS734XComponent::basic_counts_ {}
protected

Definition at line 171 of file as734x.h.

◆ basic_counts_sensors_

std::array<sensor::Sensor *, NUM_BANDS> esphome::as734x::AS734XComponent::basic_counts_sensors_ {}
protected

Definition at line 168 of file as734x.h.

◆ channel_correction_

std::array<float, NUM_BANDS> esphome::as734x::AS734XComponent::channel_correction_
protected

Definition at line 170 of file as734x.h.

◆ chip_

const ChipInfo* esphome::as734x::AS734XComponent::chip_
protected

Definition at line 173 of file as734x.h.

◆ clear_basic_count_

float esphome::as734x::AS734XComponent::clear_basic_count_ {0.0f}
protected

Definition at line 180 of file as734x.h.

◆ dark_current_

std::array<float, NUM_BANDS> esphome::as734x::AS734XComponent::dark_current_ {}
protected

Definition at line 169 of file as734x.h.

◆ gain_

Gain esphome::as734x::AS734XComponent::gain_ {GAIN_1X}
protected

Definition at line 190 of file as734x.h.

◆ glass_attenuation_factor_

float esphome::as734x::AS734XComponent::glass_attenuation_factor_ {1.0f}
protected

Definition at line 177 of file as734x.h.

◆ integration_ms_

uint32_t esphome::as734x::AS734XComponent::integration_ms_ {0}
protected

Definition at line 175 of file as734x.h.

◆ max_band_basic_count_

float esphome::as734x::AS734XComponent::max_band_basic_count_ {0.0f}
protected

Definition at line 179 of file as734x.h.

◆ max_basic_count_

float esphome::as734x::AS734XComponent::max_basic_count_ {0.0f}
protected

Definition at line 178 of file as734x.h.

◆ normalization_

Normalization esphome::as734x::AS734XComponent::normalization_ {Normalization::NORMALIZATION_NONE}
protected

Definition at line 189 of file as734x.h.

◆ peak_raw_count_

uint16_t esphome::as734x::AS734XComponent::peak_raw_count_ {0}
protected

Definition at line 182 of file as734x.h.

◆ raw_counts_

std::array<uint16_t, NUM_BANDS> esphome::as734x::AS734XComponent::raw_counts_ {}
protected

Definition at line 172 of file as734x.h.

◆ reading_astep_

uint16_t esphome::as734x::AS734XComponent::reading_astep_ {0}
protected

Definition at line 185 of file as734x.h.

◆ reading_atime_

uint8_t esphome::as734x::AS734XComponent::reading_atime_ {0}
protected

Definition at line 187 of file as734x.h.

◆ reading_gain_

Gain esphome::as734x::AS734XComponent::reading_gain_ {GAIN_1X}
protected

Definition at line 186 of file as734x.h.

◆ rgb_hex_sensor_

text_sensor::TextSensor* esphome::as734x::AS734XComponent::rgb_hex_sensor_ {nullptr}
protected

Definition at line 195 of file as734x.h.

◆ sensors_

std::array<sensor::Sensor *, NUM_BANDS> esphome::as734x::AS734XComponent::sensors_ {}
protected

Definition at line 167 of file as734x.h.

◆ start_ms_

uint32_t esphome::as734x::AS734XComponent::start_ms_ {0}
protected

Definition at line 174 of file as734x.h.

◆ STATE_IDLE

enum esphome::as734x::AS734XComponent::State esphome::as734x::AS734XComponent::STATE_IDLE
protected

◆ step_

uint8_t esphome::as734x::AS734XComponent::step_ {0}
protected

Definition at line 192 of file as734x.h.

◆ timeout_ms_

uint32_t esphome::as734x::AS734XComponent::timeout_ms_ {0}
protected

Definition at line 176 of file as734x.h.


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