ESPHome 2025.9.3
Loading...
Searching...
No Matches
esphome::bl0940::BL0940 Class Reference

#include <bl0940.h>

Inheritance diagram for esphome::bl0940::BL0940:
esphome::PollingComponent esphome::uart::UARTDevice esphome::Component

Public Member Functions

void set_voltage_sensor (sensor::Sensor *voltage_sensor)
 
void set_current_sensor (sensor::Sensor *current_sensor)
 
void set_power_sensor (sensor::Sensor *power_sensor)
 
void set_energy_sensor (sensor::Sensor *energy_sensor)
 
void set_internal_temperature_sensor (sensor::Sensor *internal_temperature_sensor)
 
void set_external_temperature_sensor (sensor::Sensor *external_temperature_sensor)
 
void set_legacy_mode (bool enable)
 
void set_read_command (uint8_t read_command)
 
void set_write_command (uint8_t write_command)
 
void set_current_reference (float current_ref)
 
void set_energy_reference (float energy_ref)
 
void set_power_reference (float power_ref)
 
void set_voltage_reference (float voltage_ref)
 
void set_current_calibration_number (number::Number *num)
 
void set_voltage_calibration_number (number::Number *num)
 
void set_power_calibration_number (number::Number *num)
 
void set_energy_calibration_number (number::Number *num)
 
void reset_calibration ()
 
void loop () override
 
void update () override
 
void setup () override
 
void dump_config () override
 
- Public Member Functions inherited from esphome::PollingComponent
 PollingComponent ()
 
 PollingComponent (uint32_t update_interval)
 Initialize this polling component with the given update interval in ms.
 
virtual 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)
 
virtual float get_loop_priority () const
 priority of loop().
 
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.
 
virtual void mark_failed ()
 Mark this component as failed.
 
void mark_failed (const char *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 (const char *message=nullptr)
 
void status_set_warning (const LogString *message)
 
void status_set_error (const char *message=nullptr)
 
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 LogString *source)
 Set where this component was loaded from for some debug messages.
 
const LogString * get_component_log_str () const
 Get the integration where this component was declared as a LogString for logging.
 
bool should_warn_of_blocking (uint32_t blocking_time)
 
- Public Member Functions inherited from esphome::uart::UARTDevice
 UARTDevice ()=default
 
 UARTDevice (UARTComponent *parent)
 
void set_uart_parent (UARTComponent *parent)
 
void write_byte (uint8_t data)
 
void write_array (const uint8_t *data, size_t len)
 
void write_array (const std::vector< uint8_t > &data)
 
template<size_t N>
void write_array (const std::array< uint8_t, N > &data)
 
void write_str (const char *str)
 
bool read_byte (uint8_t *data)
 
bool peek_byte (uint8_t *data)
 
bool read_array (uint8_t *data, size_t len)
 
template<size_t N>
optional< std::array< uint8_t, N > > read_array ()
 
int available ()
 
void flush ()
 
int read ()
 
size_t write (uint8_t data)
 
int peek ()
 
void check_uart_settings (uint32_t baud_rate, uint8_t stop_bits=1, UARTParityOptions parity=UART_CONFIG_PARITY_NONE, uint8_t data_bits=8)
 Check that the configuration of the UART bus matches the provided values and otherwise print a warning.
 

Protected Member Functions

float update_temp_ (sensor::Sensor *sensor, uint16_le_t packed_temperature) const
 
bool validate_checksum_ (DataPacket *data)
 
void received_package_ (DataPacket *data)
 
float calculate_energy_reference_ ()
 
float calculate_power_reference_ ()
 
float calculate_calibration_value_ (float state)
 
void current_calibration_callback_ (float state)
 
void voltage_calibration_callback_ (float state)
 
void power_calibration_callback_ (float state)
 
void energy_calibration_callback_ (float state)
 
void reset_calibration_callback_ ()
 
void recalibrate_ ()
 
- Protected Member Functions inherited from esphome::Component
virtual void call_loop ()
 
virtual void call_dump_config ()
 
void set_component_state_ (uint8_t state)
 Helper to set component state (clears state bits and sets new state)
 
void set_interval (const std::string &name, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a unique name.
 
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 interval, std::function< void()> &&f)
 
bool cancel_interval (const std::string &name)
 Cancel an interval function.
 
bool cancel_interval (const char *name)
 
void set_retry (const std::string &name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 Set an retry function with a unique name.
 
void set_retry (uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 
bool cancel_retry (const std::string &name)
 Cancel a retry function.
 
void set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a unique name.
 
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 timeout, std::function< void()> &&f)
 
bool cancel_timeout (const std::string &name)
 Cancel a timeout function.
 
bool cancel_timeout (const char *name)
 
void defer (const std::string &name, std::function< void()> &&f)
 Defer a callback to the next loop() call.
 
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.
 
bool cancel_defer (const std::string &name)
 Cancel a defer callback using the specified name, name must not be empty.
 

Protected Attributes

sensor::Sensorvoltage_sensor_ {nullptr}
 
sensor::Sensorcurrent_sensor_ {nullptr}
 
sensor::Sensorpower_sensor_ {nullptr}
 
sensor::Sensorenergy_sensor_ {nullptr}
 
sensor::Sensorinternal_temperature_sensor_ {nullptr}
 
sensor::Sensorexternal_temperature_sensor_ {nullptr}
 
number::Numbervoltage_calibration_number_ {nullptr}
 
number::Numbercurrent_calibration_number_ {nullptr}
 
number::Numberpower_calibration_number_ {nullptr}
 
number::Numberenergy_calibration_number_ {nullptr}
 
uint32_t prev_cf_cnt_ = 0
 
float max_temperature_diff_ {0}
 
float power_reference_
 
float power_reference_cal_
 
float voltage_reference_
 
float voltage_reference_cal_
 
float current_reference_
 
float current_reference_cal_
 
float energy_reference_
 
float energy_reference_cal_
 
float current_cal_ {1}
 
float voltage_cal_ {1}
 
float power_cal_ {1}
 
float energy_cal_ {1}
 
uint8_t read_command_
 
uint8_t write_command_
 
bool legacy_mode_enabled_ = true
 
- Protected Attributes inherited from esphome::PollingComponent
uint32_t update_interval_
 
- Protected Attributes inherited from esphome::Component
const LogString * component_source_ {nullptr}
 
uint16_t warn_if_blocking_over_ {WARN_IF_BLOCKING_OVER_MS}
 Warn if blocked for this many ms (max 65.5s)
 
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 Bits 5-7: Unused - reserved for future expansion.
 
volatile bool pending_enable_loop_ {false}
 ISR-safe flag for enable_loop_soon_any_context.
 
- Protected Attributes inherited from esphome::uart::UARTDevice
UARTComponentparent_ {nullptr}
 

Detailed Description

Definition at line 37 of file bl0940.h.

Member Function Documentation

◆ calculate_calibration_value_()

float esphome::bl0940::BL0940::calculate_calibration_value_ ( float state)
protected

Definition at line 127 of file bl0940.cpp.

◆ calculate_energy_reference_()

float esphome::bl0940::BL0940::calculate_energy_reference_ ( )
protected

Definition at line 121 of file bl0940.cpp.

◆ calculate_power_reference_()

float esphome::bl0940::BL0940::calculate_power_reference_ ( )
protected

Definition at line 116 of file bl0940.cpp.

◆ current_calibration_callback_()

void esphome::bl0940::BL0940::current_calibration_callback_ ( float state)
protected

Definition at line 147 of file bl0940.cpp.

◆ dump_config()

void esphome::bl0940::BL0940::dump_config ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 244 of file bl0940.cpp.

◆ energy_calibration_callback_()

void esphome::bl0940::BL0940::energy_calibration_callback_ ( float state)
protected

Definition at line 162 of file bl0940.cpp.

◆ loop()

void esphome::bl0940::BL0940::loop ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 31 of file bl0940.cpp.

◆ power_calibration_callback_()

void esphome::bl0940::BL0940::power_calibration_callback_ ( float state)
protected

Definition at line 157 of file bl0940.cpp.

◆ recalibrate_()

void esphome::bl0940::BL0940::recalibrate_ ( )
protected

Definition at line 168 of file bl0940.cpp.

◆ received_package_()

void esphome::bl0940::BL0940::received_package_ ( DataPacket * data)
protected

Definition at line 204 of file bl0940.cpp.

◆ reset_calibration()

void esphome::bl0940::BL0940::reset_calibration ( )

Definition at line 129 of file bl0940.cpp.

◆ reset_calibration_callback_()

void esphome::bl0940::BL0940::reset_calibration_callback_ ( )
protected

◆ set_current_calibration_number()

void esphome::bl0940::BL0940::set_current_calibration_number ( number::Number * num)
inline

Definition at line 66 of file bl0940.h.

◆ set_current_reference()

void esphome::bl0940::BL0940::set_current_reference ( float current_ref)
inline

Definition at line 59 of file bl0940.h.

◆ set_current_sensor()

void esphome::bl0940::BL0940::set_current_sensor ( sensor::Sensor * current_sensor)
inline

Definition at line 41 of file bl0940.h.

◆ set_energy_calibration_number()

void esphome::bl0940::BL0940::set_energy_calibration_number ( number::Number * num)
inline

Definition at line 69 of file bl0940.h.

◆ set_energy_reference()

void esphome::bl0940::BL0940::set_energy_reference ( float energy_ref)
inline

Definition at line 60 of file bl0940.h.

◆ set_energy_sensor()

void esphome::bl0940::BL0940::set_energy_sensor ( sensor::Sensor * energy_sensor)
inline

Definition at line 43 of file bl0940.h.

◆ set_external_temperature_sensor()

void esphome::bl0940::BL0940::set_external_temperature_sensor ( sensor::Sensor * external_temperature_sensor)
inline

Definition at line 49 of file bl0940.h.

◆ set_internal_temperature_sensor()

void esphome::bl0940::BL0940::set_internal_temperature_sensor ( sensor::Sensor * internal_temperature_sensor)
inline

Definition at line 46 of file bl0940.h.

◆ set_legacy_mode()

void esphome::bl0940::BL0940::set_legacy_mode ( bool enable)
inline

Definition at line 54 of file bl0940.h.

◆ set_power_calibration_number()

void esphome::bl0940::BL0940::set_power_calibration_number ( number::Number * num)
inline

Definition at line 68 of file bl0940.h.

◆ set_power_reference()

void esphome::bl0940::BL0940::set_power_reference ( float power_ref)
inline

Definition at line 61 of file bl0940.h.

◆ set_power_sensor()

void esphome::bl0940::BL0940::set_power_sensor ( sensor::Sensor * power_sensor)
inline

Definition at line 42 of file bl0940.h.

◆ set_read_command()

void esphome::bl0940::BL0940::set_read_command ( uint8_t read_command)
inline

Definition at line 55 of file bl0940.h.

◆ set_voltage_calibration_number()

void esphome::bl0940::BL0940::set_voltage_calibration_number ( number::Number * num)
inline

Definition at line 67 of file bl0940.h.

◆ set_voltage_reference()

void esphome::bl0940::BL0940::set_voltage_reference ( float voltage_ref)
inline

Definition at line 62 of file bl0940.h.

◆ set_voltage_sensor()

void esphome::bl0940::BL0940::set_voltage_sensor ( sensor::Sensor * voltage_sensor)
inline

Definition at line 40 of file bl0940.h.

◆ set_write_command()

void esphome::bl0940::BL0940::set_write_command ( uint8_t write_command)
inline

Definition at line 56 of file bl0940.h.

◆ setup()

void esphome::bl0940::BL0940::setup ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 67 of file bl0940.cpp.

◆ update()

void esphome::bl0940::BL0940::update ( )
overridevirtual

Implements esphome::PollingComponent.

Definition at line 61 of file bl0940.cpp.

◆ update_temp_()

float esphome::bl0940::BL0940::update_temp_ ( sensor::Sensor * sensor,
uint16_le_t packed_temperature ) const
protected

Definition at line 190 of file bl0940.cpp.

◆ validate_checksum_()

bool esphome::bl0940::BL0940::validate_checksum_ ( DataPacket * data)
protected

Definition at line 47 of file bl0940.cpp.

◆ voltage_calibration_callback_()

void esphome::bl0940::BL0940::voltage_calibration_callback_ ( float state)
protected

Definition at line 152 of file bl0940.cpp.

Field Documentation

◆ current_cal_

float esphome::bl0940::BL0940::current_cal_ {1}
protected

Definition at line 115 of file bl0940.h.

◆ current_calibration_number_

number::Number* esphome::bl0940::BL0940::current_calibration_number_ {nullptr}
protected

Definition at line 95 of file bl0940.h.

◆ current_reference_

float esphome::bl0940::BL0940::current_reference_
protected

Definition at line 109 of file bl0940.h.

◆ current_reference_cal_

float esphome::bl0940::BL0940::current_reference_cal_
protected

Definition at line 110 of file bl0940.h.

◆ current_sensor_

sensor::Sensor* esphome::bl0940::BL0940::current_sensor_ {nullptr}
protected

Definition at line 86 of file bl0940.h.

◆ energy_cal_

float esphome::bl0940::BL0940::energy_cal_ {1}
protected

Definition at line 118 of file bl0940.h.

◆ energy_calibration_number_

number::Number* esphome::bl0940::BL0940::energy_calibration_number_ {nullptr}
protected

Definition at line 97 of file bl0940.h.

◆ energy_reference_

float esphome::bl0940::BL0940::energy_reference_
protected

Definition at line 111 of file bl0940.h.

◆ energy_reference_cal_

float esphome::bl0940::BL0940::energy_reference_cal_
protected

Definition at line 112 of file bl0940.h.

◆ energy_sensor_

sensor::Sensor* esphome::bl0940::BL0940::energy_sensor_ {nullptr}
protected

Definition at line 88 of file bl0940.h.

◆ external_temperature_sensor_

sensor::Sensor* esphome::bl0940::BL0940::external_temperature_sensor_ {nullptr}
protected

Definition at line 90 of file bl0940.h.

◆ internal_temperature_sensor_

sensor::Sensor* esphome::bl0940::BL0940::internal_temperature_sensor_ {nullptr}
protected

Definition at line 89 of file bl0940.h.

◆ legacy_mode_enabled_

bool esphome::bl0940::BL0940::legacy_mode_enabled_ = true
protected

Definition at line 125 of file bl0940.h.

◆ max_temperature_diff_

float esphome::bl0940::BL0940::max_temperature_diff_ {0}
protected

Definition at line 102 of file bl0940.h.

◆ power_cal_

float esphome::bl0940::BL0940::power_cal_ {1}
protected

Definition at line 117 of file bl0940.h.

◆ power_calibration_number_

number::Number* esphome::bl0940::BL0940::power_calibration_number_ {nullptr}
protected

Definition at line 96 of file bl0940.h.

◆ power_reference_

float esphome::bl0940::BL0940::power_reference_
protected

Definition at line 105 of file bl0940.h.

◆ power_reference_cal_

float esphome::bl0940::BL0940::power_reference_cal_
protected

Definition at line 106 of file bl0940.h.

◆ power_sensor_

sensor::Sensor* esphome::bl0940::BL0940::power_sensor_ {nullptr}
protected

Definition at line 87 of file bl0940.h.

◆ prev_cf_cnt_

uint32_t esphome::bl0940::BL0940::prev_cf_cnt_ = 0
protected

Definition at line 101 of file bl0940.h.

◆ read_command_

uint8_t esphome::bl0940::BL0940::read_command_
protected

Definition at line 121 of file bl0940.h.

◆ voltage_cal_

float esphome::bl0940::BL0940::voltage_cal_ {1}
protected

Definition at line 116 of file bl0940.h.

◆ voltage_calibration_number_

number::Number* esphome::bl0940::BL0940::voltage_calibration_number_ {nullptr}
protected

Definition at line 94 of file bl0940.h.

◆ voltage_reference_

float esphome::bl0940::BL0940::voltage_reference_
protected

Definition at line 107 of file bl0940.h.

◆ voltage_reference_cal_

float esphome::bl0940::BL0940::voltage_reference_cal_
protected

Definition at line 108 of file bl0940.h.

◆ voltage_sensor_

sensor::Sensor* esphome::bl0940::BL0940::voltage_sensor_ {nullptr}
protected

Definition at line 85 of file bl0940.h.

◆ write_command_

uint8_t esphome::bl0940::BL0940::write_command_
protected

Definition at line 122 of file bl0940.h.


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