ESPHome  2023.3.2
Public Member Functions | Protected Member Functions | Protected Attributes
esphome::ezo_pmp::EzoPMP Class Reference

#include <ezo_pmp.h>

Inheritance diagram for esphome::ezo_pmp::EzoPMP:
esphome::PollingComponent esphome::i2c::I2CDevice esphome::Component

Public Member Functions

void dump_config () override
float get_setup_priority () const override
void loop () override
void update () override
void set_current_volume_dosed (sensor::Sensor *current_volume_dosed)
void set_total_volume_dosed (sensor::Sensor *total_volume_dosed)
void set_absolute_total_volume_dosed (sensor::Sensor *absolute_total_volume_dosed)
void set_pump_voltage (sensor::Sensor *pump_voltage)
void set_last_volume_requested (sensor::Sensor *last_volume_requested)
void set_max_flow_rate (sensor::Sensor *max_flow_rate)
void set_is_dosing (binary_sensor::BinarySensor *is_dosing)
void set_is_paused (binary_sensor::BinarySensor *is_paused)
void set_dosing_mode (text_sensor::TextSensor *dosing_mode)
void set_calibration_status (text_sensor::TextSensor *calibration_status)
void find ()
void dose_continuously ()
void dose_volume (double volume)
void dose_volume_over_time (double volume, int duration)
void dose_with_constant_flow_rate (double volume, int duration)
void set_calibration_volume (double volume)
void clear_total_volume_dosed ()
void clear_calibration ()
void pause_dosing ()
void stop_dosing ()
void change_i2c_address (int address)
void exec_arbitrary_command (const std::basic_string< char > &command)
- 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 setup ()
 Where the component's initialization should happen. 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 ()
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...
- 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

void send_next_command_ ()
void read_command_result_ ()
void clear_current_command_ ()
void queue_command_ (uint16_t command, double volume, int duration, bool should_schedule)
void pop_next_command_ ()
uint16_t peek_next_command_ ()
- 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(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 Attributes

uint32_t start_time_ = 0
uint32_t wait_time_ = 0
bool is_waiting_ = false
bool is_first_read_ = true
uint16_t next_command_ = 0
double next_command_volume_ = 0
int next_command_duration_ = 0
uint16_t next_command_queue_ [10]
double next_command_volume_queue_ [10]
int next_command_duration_queue_ [10]
int next_command_queue_head_ = 0
int next_command_queue_last_ = 0
int next_command_queue_length_ = 0
uint16_t current_command_ = 0
bool is_paused_flag_ = false
bool is_dosing_flag_ = false
const char * arbitrary_command_ {nullptr}
sensor::Sensorcurrent_volume_dosed_ {nullptr}
sensor::Sensortotal_volume_dosed_ {nullptr}
sensor::Sensorabsolute_total_volume_dosed_ {nullptr}
sensor::Sensorpump_voltage_ {nullptr}
sensor::Sensormax_flow_rate_ {nullptr}
sensor::Sensorlast_volume_requested_ {nullptr}
binary_sensor::BinarySensoris_dosing_ {nullptr}
binary_sensor::BinarySensoris_paused_ {nullptr}
text_sensor::TextSensordosing_mode_ {nullptr}
text_sensor::TextSensorcalibration_status_ {nullptr}
- 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}

Detailed Description

Definition at line 23 of file ezo_pmp.h.

Member Function Documentation

◆ change_i2c_address()

void esphome::ezo_pmp::EzoPMP::change_i2c_address ( int  address)

Definition at line 533 of file ezo_pmp.cpp.

◆ clear_calibration()

void esphome::ezo_pmp::EzoPMP::clear_calibration ( )

Definition at line 520 of file ezo_pmp.cpp.

◆ clear_current_command_()

void esphome::ezo_pmp::EzoPMP::clear_current_command_ ( )

Definition at line 101 of file ezo_pmp.cpp.

◆ clear_total_volume_dosed()

void esphome::ezo_pmp::EzoPMP::clear_total_volume_dosed ( )

Definition at line 513 of file ezo_pmp.cpp.

◆ dose_continuously()

void esphome::ezo_pmp::EzoPMP::dose_continuously ( )

Definition at line 483 of file ezo_pmp.cpp.

◆ dose_volume()

void esphome::ezo_pmp::EzoPMP::dose_volume ( double  volume)

Definition at line 489 of file ezo_pmp.cpp.

◆ dose_volume_over_time()

void esphome::ezo_pmp::EzoPMP::dose_volume_over_time ( double  volume,
int  duration 

Definition at line 495 of file ezo_pmp.cpp.

◆ dose_with_constant_flow_rate()

void esphome::ezo_pmp::EzoPMP::dose_with_constant_flow_rate ( double  volume,
int  duration 

Definition at line 501 of file ezo_pmp.cpp.

◆ dump_config()

void esphome::ezo_pmp::EzoPMP::dump_config ( )

Reimplemented from esphome::Component.

Definition at line 41 of file ezo_pmp.cpp.

◆ exec_arbitrary_command()

void esphome::ezo_pmp::EzoPMP::exec_arbitrary_command ( const std::basic_string< char > &  command)

Definition at line 537 of file ezo_pmp.cpp.

◆ find()

void esphome::ezo_pmp::EzoPMP::find ( )

Definition at line 481 of file ezo_pmp.cpp.

◆ get_setup_priority()

float esphome::ezo_pmp::EzoPMP::get_setup_priority ( ) const

Reimplemented from esphome::Component.

Definition at line 26 of file ezo_pmp.h.

◆ loop()

void esphome::ezo_pmp::EzoPMP::loop ( )

Reimplemented from esphome::Component.

Definition at line 81 of file ezo_pmp.cpp.

◆ pause_dosing()

void esphome::ezo_pmp::EzoPMP::pause_dosing ( )

Definition at line 526 of file ezo_pmp.cpp.

◆ peek_next_command_()

uint16_t esphome::ezo_pmp::EzoPMP::peek_next_command_ ( )

Definition at line 446 of file ezo_pmp.cpp.

◆ pop_next_command_()

void esphome::ezo_pmp::EzoPMP::pop_next_command_ ( )

Definition at line 423 of file ezo_pmp.cpp.

◆ queue_command_()

void esphome::ezo_pmp::EzoPMP::queue_command_ ( uint16_t  command,
double  volume,
int  duration,
bool  should_schedule 

Definition at line 454 of file ezo_pmp.cpp.

◆ read_command_result_()

void esphome::ezo_pmp::EzoPMP::read_command_result_ ( )

Definition at line 106 of file ezo_pmp.cpp.

◆ send_next_command_()

void esphome::ezo_pmp::EzoPMP::send_next_command_ ( )

Definition at line 308 of file ezo_pmp.cpp.

◆ set_absolute_total_volume_dosed()

void esphome::ezo_pmp::EzoPMP::set_absolute_total_volume_dosed ( sensor::Sensor absolute_total_volume_dosed)

Definition at line 34 of file ezo_pmp.h.

◆ set_calibration_status()

void esphome::ezo_pmp::EzoPMP::set_calibration_status ( text_sensor::TextSensor calibration_status)

Definition at line 51 of file ezo_pmp.h.

◆ set_calibration_volume()

void esphome::ezo_pmp::EzoPMP::set_calibration_volume ( double  volume)

Definition at line 507 of file ezo_pmp.cpp.

◆ set_current_volume_dosed()

void esphome::ezo_pmp::EzoPMP::set_current_volume_dosed ( sensor::Sensor current_volume_dosed)

Definition at line 32 of file ezo_pmp.h.

◆ set_dosing_mode()

void esphome::ezo_pmp::EzoPMP::set_dosing_mode ( text_sensor::TextSensor dosing_mode)

Definition at line 50 of file ezo_pmp.h.

◆ set_is_dosing()

void esphome::ezo_pmp::EzoPMP::set_is_dosing ( binary_sensor::BinarySensor is_dosing)

Definition at line 45 of file ezo_pmp.h.

◆ set_is_paused()

void esphome::ezo_pmp::EzoPMP::set_is_paused ( binary_sensor::BinarySensor is_paused)

Definition at line 46 of file ezo_pmp.h.

◆ set_last_volume_requested()

void esphome::ezo_pmp::EzoPMP::set_last_volume_requested ( sensor::Sensor last_volume_requested)

Definition at line 38 of file ezo_pmp.h.

◆ set_max_flow_rate()

void esphome::ezo_pmp::EzoPMP::set_max_flow_rate ( sensor::Sensor max_flow_rate)

Definition at line 41 of file ezo_pmp.h.

◆ set_pump_voltage()

void esphome::ezo_pmp::EzoPMP::set_pump_voltage ( sensor::Sensor pump_voltage)

Definition at line 37 of file ezo_pmp.h.

◆ set_total_volume_dosed()

void esphome::ezo_pmp::EzoPMP::set_total_volume_dosed ( sensor::Sensor total_volume_dosed)

Definition at line 33 of file ezo_pmp.h.

◆ stop_dosing()

void esphome::ezo_pmp::EzoPMP::stop_dosing ( )

Definition at line 531 of file ezo_pmp.cpp.

◆ update()

void esphome::ezo_pmp::EzoPMP::update ( )

Implements esphome::PollingComponent.

Definition at line 49 of file ezo_pmp.cpp.

Field Documentation

◆ absolute_total_volume_dosed_

sensor::Sensor* esphome::ezo_pmp::EzoPMP::absolute_total_volume_dosed_ {nullptr}

Definition at line 101 of file ezo_pmp.h.

◆ arbitrary_command_

const char* esphome::ezo_pmp::EzoPMP::arbitrary_command_ {nullptr}

Definition at line 89 of file ezo_pmp.h.

◆ calibration_status_

text_sensor::TextSensor* esphome::ezo_pmp::EzoPMP::calibration_status_ {nullptr}

Definition at line 114 of file ezo_pmp.h.

◆ current_command_

uint16_t esphome::ezo_pmp::EzoPMP::current_command_ = 0

Definition at line 85 of file ezo_pmp.h.

◆ current_volume_dosed_

sensor::Sensor* esphome::ezo_pmp::EzoPMP::current_volume_dosed_ {nullptr}

Definition at line 99 of file ezo_pmp.h.

◆ dosing_mode_

text_sensor::TextSensor* esphome::ezo_pmp::EzoPMP::dosing_mode_ {nullptr}

Definition at line 113 of file ezo_pmp.h.

◆ is_dosing_

binary_sensor::BinarySensor* esphome::ezo_pmp::EzoPMP::is_dosing_ {nullptr}

Definition at line 108 of file ezo_pmp.h.

◆ is_dosing_flag_

bool esphome::ezo_pmp::EzoPMP::is_dosing_flag_ = false

Definition at line 87 of file ezo_pmp.h.

◆ is_first_read_

bool esphome::ezo_pmp::EzoPMP::is_first_read_ = true

Definition at line 72 of file ezo_pmp.h.

◆ is_paused_

binary_sensor::BinarySensor* esphome::ezo_pmp::EzoPMP::is_paused_ {nullptr}

Definition at line 109 of file ezo_pmp.h.

◆ is_paused_flag_

bool esphome::ezo_pmp::EzoPMP::is_paused_flag_ = false

Definition at line 86 of file ezo_pmp.h.

◆ is_waiting_

bool esphome::ezo_pmp::EzoPMP::is_waiting_ = false

Definition at line 71 of file ezo_pmp.h.

◆ last_volume_requested_

sensor::Sensor* esphome::ezo_pmp::EzoPMP::last_volume_requested_ {nullptr}

Definition at line 104 of file ezo_pmp.h.

◆ max_flow_rate_

sensor::Sensor* esphome::ezo_pmp::EzoPMP::max_flow_rate_ {nullptr}

Definition at line 103 of file ezo_pmp.h.

◆ next_command_

uint16_t esphome::ezo_pmp::EzoPMP::next_command_ = 0

Definition at line 74 of file ezo_pmp.h.

◆ next_command_duration_

int esphome::ezo_pmp::EzoPMP::next_command_duration_ = 0

Definition at line 76 of file ezo_pmp.h.

◆ next_command_duration_queue_

int esphome::ezo_pmp::EzoPMP::next_command_duration_queue_[10]

Definition at line 80 of file ezo_pmp.h.

◆ next_command_queue_

uint16_t esphome::ezo_pmp::EzoPMP::next_command_queue_[10]

Definition at line 78 of file ezo_pmp.h.

◆ next_command_queue_head_

int esphome::ezo_pmp::EzoPMP::next_command_queue_head_ = 0

Definition at line 81 of file ezo_pmp.h.

◆ next_command_queue_last_

int esphome::ezo_pmp::EzoPMP::next_command_queue_last_ = 0

Definition at line 82 of file ezo_pmp.h.

◆ next_command_queue_length_

int esphome::ezo_pmp::EzoPMP::next_command_queue_length_ = 0

Definition at line 83 of file ezo_pmp.h.

◆ next_command_volume_

double esphome::ezo_pmp::EzoPMP::next_command_volume_ = 0

Definition at line 75 of file ezo_pmp.h.

◆ next_command_volume_queue_

double esphome::ezo_pmp::EzoPMP::next_command_volume_queue_[10]

Definition at line 79 of file ezo_pmp.h.

◆ pump_voltage_

sensor::Sensor* esphome::ezo_pmp::EzoPMP::pump_voltage_ {nullptr}

Definition at line 102 of file ezo_pmp.h.

◆ start_time_

uint32_t esphome::ezo_pmp::EzoPMP::start_time_ = 0

Definition at line 69 of file ezo_pmp.h.

◆ total_volume_dosed_

sensor::Sensor* esphome::ezo_pmp::EzoPMP::total_volume_dosed_ {nullptr}

Definition at line 100 of file ezo_pmp.h.

◆ wait_time_

uint32_t esphome::ezo_pmp::EzoPMP::wait_time_ = 0

Definition at line 70 of file ezo_pmp.h.

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