ESPHome
2025.4.0
|
#include <bme680.h>
Public Member Functions | |
void | set_temperature_oversampling (BME680Oversampling temperature_oversampling) |
Set the temperature oversampling value. Defaults to 16X. More... | |
void | set_pressure_oversampling (BME680Oversampling pressure_oversampling) |
Set the pressure oversampling value. Defaults to 16X. More... | |
void | set_humidity_oversampling (BME680Oversampling humidity_oversampling) |
Set the humidity oversampling value. Defaults to 16X. More... | |
void | set_iir_filter (BME680IIRFilter iir_filter) |
Set the IIR Filter value. Defaults to no IIR Filter. More... | |
void | set_temperature_sensor (sensor::Sensor *temperature_sensor) |
void | set_pressure_sensor (sensor::Sensor *pressure_sensor) |
void | set_humidity_sensor (sensor::Sensor *humidity_sensor) |
void | set_gas_resistance_sensor (sensor::Sensor *gas_resistance_sensor) |
void | set_heater (uint16_t heater_temperature, uint16_t heater_duration) |
Set how the internal heater should operate. More... | |
void | setup () override |
void | dump_config () override |
float | get_setup_priority () const override |
void | update () override |
![]() | |
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... | |
void | start_poller () |
void | stop_poller () |
![]() | |
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... | |
void | mark_failed (const char *message) |
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="unspecified") |
void | status_set_error (const char *message="unspecified") |
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... | |
![]() | |
I2CDevice ()=default | |
we use the C++ default constructor More... | |
void | set_i2c_address (uint8_t address) |
We store the address of the device on the bus. More... | |
void | set_i2c_bus (I2CBus *bus) |
we store the pointer to the I2CBus to use More... | |
I2CRegister | reg (uint8_t a_register) |
calls the I2CRegister constructor More... | |
I2CRegister16 | reg16 (uint16_t a_register) |
calls the I2CRegister16 constructor More... | |
ErrorCode | read (uint8_t *data, size_t len) |
reads an array of bytes from the device using an I2CBus More... | |
ErrorCode | read_register (uint8_t a_register, uint8_t *data, size_t len, bool stop=true) |
reads an array of bytes from a specific register in the I²C device More... | |
ErrorCode | read_register16 (uint16_t a_register, uint8_t *data, size_t len, bool stop=true) |
reads an array of bytes from a specific register in the I²C device More... | |
ErrorCode | write (const uint8_t *data, size_t len, bool stop=true) |
writes an array of bytes to a device using an I2CBus More... | |
ErrorCode | write_register (uint8_t a_register, const uint8_t *data, size_t len, bool stop=true) |
writes an array of bytes to a specific register in the I²C device More... | |
ErrorCode | write_register16 (uint16_t a_register, const uint8_t *data, size_t len, bool stop=true) |
write an array of bytes to a specific register in the I²C device More... | |
bool | read_bytes (uint8_t a_register, uint8_t *data, uint8_t len) |
Compat APIs All methods below have been added for compatibility reasons. More... | |
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 | |
uint8_t | calc_heater_resistance_ (uint16_t temperature) |
Calculate the heater resistance value to send to the BME680 register. More... | |
uint8_t | calc_heater_duration_ (uint16_t duration) |
Calculate the heater duration value to send to the BME680 register. More... | |
void | read_data_ () |
Read data from the BME680 and publish results. More... | |
float | calc_temperature_ (uint32_t raw_temperature) |
Calculate the temperature in °C using the provided raw ADC value. More... | |
float | calc_pressure_ (uint32_t raw_pressure) |
Calculate the pressure in hPa using the provided raw ADC value. More... | |
float | calc_humidity_ (uint16_t raw_humidity) |
Calculate the relative humidity in % using the provided raw ADC value. More... | |
float | calc_gas_resistance_ (uint16_t raw_gas, uint8_t range) |
Calculate the gas resistance in Ω using the provided raw ADC value. More... | |
uint32_t | calc_meas_duration_ () |
Calculate how long the sensor will take until we can retrieve data. More... | |
![]() | |
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(uint8_t)> &&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(uint8_t)> &&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 |
Calculate the gas resistance in Ω using the provided raw ADC value.
Definition at line 459 of file bme680.cpp.
|
protected |
Calculate the heater duration value to send to the BME680 register.
Definition at line 283 of file bme680.cpp.
|
protected |
Calculate the heater resistance value to send to the BME680 register.
Definition at line 252 of file bme680.cpp.
|
protected |
Calculate the relative humidity in % using the provided raw ADC value.
Definition at line 423 of file bme680.cpp.
|
protected |
Calculate how long the sensor will take until we can retrieve data.
Definition at line 476 of file bme680.cpp.
|
protected |
Calculate the pressure in hPa using the provided raw ADC value.
Definition at line 381 of file bme680.cpp.
|
protected |
Calculate the temperature in °C using the provided raw ADC value.
Definition at line 355 of file bme680.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 214 of file bme680.cpp.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 237 of file bme680.cpp.
|
protected |
Read data from the BME680 and publish results.
Definition at line 299 of file bme680.cpp.
|
inline |
void esphome::bme680::BME680Component::set_heater | ( | uint16_t | heater_temperature, |
uint16_t | heater_duration | ||
) |
Set how the internal heater should operate.
By default, the heater is off. If you want to to have more reliable humidity and Gas Resistance values, you can however setup the heater with this method.
heater_temperature | The temperature of the heater in °C. |
heater_duration | The duration in ms that the heater should turn on for when measuring. |
Definition at line 509 of file bme680.cpp.
void esphome::bme680::BME680Component::set_humidity_oversampling | ( | BME680Oversampling | humidity_oversampling | ) |
Set the humidity oversampling value. Defaults to 16X.
Definition at line 505 of file bme680.cpp.
|
inline |
void esphome::bme680::BME680Component::set_iir_filter | ( | BME680IIRFilter | iir_filter | ) |
Set the IIR Filter value. Defaults to no IIR Filter.
Definition at line 508 of file bme680.cpp.
void esphome::bme680::BME680Component::set_pressure_oversampling | ( | BME680Oversampling | pressure_oversampling | ) |
Set the pressure oversampling value. Defaults to 16X.
Definition at line 502 of file bme680.cpp.
|
inline |
void esphome::bme680::BME680Component::set_temperature_oversampling | ( | BME680Oversampling | temperature_oversampling | ) |
Set the temperature oversampling value. Defaults to 16X.
Definition at line 499 of file bme680.cpp.
|
inline |
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 73 of file bme680.cpp.
|
overridevirtual |
Implements esphome::PollingComponent.
Definition at line 239 of file bme680.cpp.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |