ESPHome  2024.2.0
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
esphome::absolute_humidity::AbsoluteHumidityComponent Class Reference

This class implements calculation of absolute humidity from temperature and relative humidity. More...

#include <absolute_humidity.h>

Inheritance diagram for esphome::absolute_humidity::AbsoluteHumidityComponent:
esphome::sensor::Sensor esphome::Component esphome::EntityBase esphome::EntityBase_DeviceClass esphome::EntityBase_UnitOfMeasurement

Public Member Functions

 AbsoluteHumidityComponent ()=default
 
void set_temperature_sensor (sensor::Sensor *temperature_sensor)
 
void set_humidity_sensor (sensor::Sensor *humidity_sensor)
 
void set_equation (SaturationVaporPressureEquation equation)
 
void setup () override
 
void dump_config () override
 
float get_setup_priority () const override
 
void loop () override
 
- Public Member Functions inherited from esphome::sensor::Sensor
 Sensor ()
 
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...
 
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 ()
 Override this method to set the unique ID of this sensor. More...
 
void internal_send_state_to_frontend (float state)
 
- Public Member Functions inherited from esphome::EntityBase
const StringRefget_name () const
 
void set_name (const char *name)
 
bool has_own_name () const
 
std::string get_object_id () const
 
void set_object_id (const char *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)
 
std::string get_icon () const
 
void set_icon (const char *icon)
 
- Public Member Functions inherited from esphome::EntityBase_DeviceClass
std::string get_device_class ()
 Get the device class, using the manual override if set. More...
 
void set_device_class (const char *device_class)
 Manually set the device class. More...
 
- Public Member Functions inherited from esphome::EntityBase_UnitOfMeasurement
std::string get_unit_of_measurement ()
 Get the unit of measurement, using the manual override if set. More...
 
void set_unit_of_measurement (const char *unit_of_measurement)
 Manually set the unit of measurement. More...
 
- 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 ()
 
bool is_ready ()
 
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...
 

Protected Member Functions

void temperature_callback_ (float state)
 
void humidity_callback_ (float state)
 
- 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(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...
 

Static Protected Member Functions

static float es_buck (float temperature_c)
 Buck equation for saturation vapor pressure in kPa. More...
 
static float es_tetens (float temperature_c)
 Tetens equation for saturation vapor pressure in kPa. More...
 
static float es_wobus (float temperature_c)
 Wobus equation for saturation vapor pressure in kPa. More...
 
static float vapor_density (float es, float hr, float ta)
 Calculate vapor density (absolute humidity) in g/m³. More...
 

Protected Attributes

sensor::Sensortemperature_sensor_ {nullptr}
 
sensor::Sensorhumidity_sensor_ {nullptr}
 
bool next_update_ {false}
 
float temperature_ {NAN}
 
float humidity_ {NAN}
 
SaturationVaporPressureEquation equation_
 
- 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...
 
Filterfilter_list_ {nullptr}
 Store all active filters. More...
 
optional< int8_t > accuracy_decimals_
 Accuracy in decimals override. More...
 
optional< StateClassstate_class_ {STATE_CLASS_NONE}
 State class override. More...
 
bool force_update_ {false}
 Force update mode. More...
 
bool has_state_ {false}
 
- Protected Attributes inherited from esphome::EntityBase
StringRef name_
 
const char * object_id_c_str_ {nullptr}
 
const char * icon_c_str_ {nullptr}
 
uint32_t object_id_hash_
 
bool has_own_name_ {false}
 
bool internal_ {false}
 
bool disabled_by_default_ {false}
 
EntityCategory entity_category_ {ENTITY_CATEGORY_NONE}
 
- Protected Attributes inherited from esphome::EntityBase_DeviceClass
const char * device_class_ {nullptr}
 Device class override. More...
 
- Protected Attributes inherited from esphome::EntityBase_UnitOfMeasurement
const char * unit_of_measurement_ {nullptr}
 Unit of measurement override. More...
 
- 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}
 

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 implements calculation of absolute humidity from temperature and relative humidity.

Definition at line 17 of file absolute_humidity.h.

Constructor & Destructor Documentation

◆ AbsoluteHumidityComponent()

esphome::absolute_humidity::AbsoluteHumidityComponent::AbsoluteHumidityComponent ( )
default

Member Function Documentation

◆ dump_config()

void esphome::absolute_humidity::AbsoluteHumidityComponent::dump_config ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 25 of file absolute_humidity.cpp.

◆ es_buck()

float esphome::absolute_humidity::AbsoluteHumidityComponent::es_buck ( float  temperature_c)
staticprotected

Buck equation for saturation vapor pressure in kPa.

Parameters
temperature_cAir temperature in °C.

Definition at line 108 of file absolute_humidity.cpp.

◆ es_tetens()

float esphome::absolute_humidity::AbsoluteHumidityComponent::es_tetens ( float  temperature_c)
staticprotected

Tetens equation for saturation vapor pressure in kPa.

Parameters
temperature_cAir temperature in °C.

Definition at line 125 of file absolute_humidity.cpp.

◆ es_wobus()

float esphome::absolute_humidity::AbsoluteHumidityComponent::es_wobus ( float  temperature_c)
staticprotected

Wobus equation for saturation vapor pressure in kPa.

Parameters
temperature_cAir temperature in °C.

Definition at line 141 of file absolute_humidity.cpp.

◆ get_setup_priority()

float esphome::absolute_humidity::AbsoluteHumidityComponent::get_setup_priority ( ) const
overridevirtual

Reimplemented from esphome::Component.

Definition at line 48 of file absolute_humidity.cpp.

◆ humidity_callback_()

void esphome::absolute_humidity::AbsoluteHumidityComponent::humidity_callback_ ( float  state)
inlineprotected

Definition at line 35 of file absolute_humidity.h.

◆ loop()

void esphome::absolute_humidity::AbsoluteHumidityComponent::loop ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 50 of file absolute_humidity.cpp.

◆ set_equation()

void esphome::absolute_humidity::AbsoluteHumidityComponent::set_equation ( SaturationVaporPressureEquation  equation)
inline

Definition at line 23 of file absolute_humidity.h.

◆ set_humidity_sensor()

void esphome::absolute_humidity::AbsoluteHumidityComponent::set_humidity_sensor ( sensor::Sensor humidity_sensor)
inline

Definition at line 22 of file absolute_humidity.h.

◆ set_temperature_sensor()

void esphome::absolute_humidity::AbsoluteHumidityComponent::set_temperature_sensor ( sensor::Sensor temperature_sensor)
inline

Definition at line 21 of file absolute_humidity.h.

◆ setup()

void esphome::absolute_humidity::AbsoluteHumidityComponent::setup ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 9 of file absolute_humidity.cpp.

◆ temperature_callback_()

void esphome::absolute_humidity::AbsoluteHumidityComponent::temperature_callback_ ( float  state)
inlineprotected

Definition at line 31 of file absolute_humidity.h.

◆ vapor_density()

float esphome::absolute_humidity::AbsoluteHumidityComponent::vapor_density ( float  es,
float  hr,
float  ta 
)
staticprotected

Calculate vapor density (absolute humidity) in g/m³.

Parameters
esSaturation vapor pressure in kPa.
hrRelative humidity 0 to 1.
taAbsolute temperature in K.
heater_durationThe duration in ms that the heater should turn on for when measuring.

Definition at line 170 of file absolute_humidity.cpp.

Field Documentation

◆ equation_

SaturationVaporPressureEquation esphome::absolute_humidity::AbsoluteHumidityComponent::equation_
protected

Definition at line 72 of file absolute_humidity.h.

◆ humidity_

float esphome::absolute_humidity::AbsoluteHumidityComponent::humidity_ {NAN}
protected

Definition at line 71 of file absolute_humidity.h.

◆ humidity_sensor_

sensor::Sensor* esphome::absolute_humidity::AbsoluteHumidityComponent::humidity_sensor_ {nullptr}
protected

Definition at line 66 of file absolute_humidity.h.

◆ next_update_

bool esphome::absolute_humidity::AbsoluteHumidityComponent::next_update_ {false}
protected

Definition at line 68 of file absolute_humidity.h.

◆ temperature_

float esphome::absolute_humidity::AbsoluteHumidityComponent::temperature_ {NAN}
protected

Definition at line 70 of file absolute_humidity.h.

◆ temperature_sensor_

sensor::Sensor* esphome::absolute_humidity::AbsoluteHumidityComponent::temperature_sensor_ {nullptr}
protected

Definition at line 65 of file absolute_humidity.h.


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