ESPHome  2024.11.0
Data Structures | Public Member Functions | Data Fields | Static Public Attributes | Protected Member Functions | Protected Attributes
esphome::atm90e32::ATM90E32Component Class Reference

#include <atm90e32.h>

Inheritance diagram for esphome::atm90e32::ATM90E32Component:
esphome::PollingComponent esphome::spi::SPIDevice< spi::BIT_ORDER_MSB_FIRST, spi::CLOCK_POLARITY_HIGH, spi::CLOCK_PHASE_TRAILING, spi::DATA_RATE_1MHZ > esphome::Component esphome::spi::SPIClient

Data Structures

struct  ATM90E32Phase
 
struct  Calibration
 

Public Member Functions

void loop () override
 
void setup () override
 
void dump_config () override
 
float get_setup_priority () const override
 
void update () override
 
void set_voltage_sensor (int phase, sensor::Sensor *obj)
 
void set_current_sensor (int phase, sensor::Sensor *obj)
 
void set_power_sensor (int phase, sensor::Sensor *obj)
 
void set_reactive_power_sensor (int phase, sensor::Sensor *obj)
 
void set_apparent_power_sensor (int phase, sensor::Sensor *obj)
 
void set_forward_active_energy_sensor (int phase, sensor::Sensor *obj)
 
void set_reverse_active_energy_sensor (int phase, sensor::Sensor *obj)
 
void set_power_factor_sensor (int phase, sensor::Sensor *obj)
 
void set_phase_angle_sensor (int phase, sensor::Sensor *obj)
 
void set_harmonic_active_power_sensor (int phase, sensor::Sensor *obj)
 
void set_peak_current_sensor (int phase, sensor::Sensor *obj)
 
void set_volt_gain (int phase, uint16_t gain)
 
void set_ct_gain (int phase, uint16_t gain)
 
void set_freq_sensor (sensor::Sensor *freq_sensor)
 
void set_peak_current_signed (bool flag)
 
void set_chip_temperature_sensor (sensor::Sensor *chip_temperature_sensor)
 
void set_line_freq (int freq)
 
void set_current_phases (int phases)
 
void set_pga_gain (uint16_t gain)
 
void run_offset_calibrations ()
 
void clear_offset_calibrations ()
 
void set_enable_offset_calibration (bool flag)
 
uint16_t calibrate_voltage_offset_phase (uint8_t)
 
uint16_t calibrate_current_offset_phase (uint8_t)
 
- 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...
 
void start_poller ()
 
void stop_poller ()
 
- 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 () 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...
 
- Public Member Functions inherited from esphome::spi::SPIDevice< spi::BIT_ORDER_MSB_FIRST, spi::CLOCK_POLARITY_HIGH, spi::CLOCK_PHASE_TRAILING, spi::DATA_RATE_1MHZ >
 SPIDevice ()
 
 SPIDevice (SPIComponent *parent, GPIOPin *cs_pin)
 
void spi_setup () override
 
void spi_teardown () override
 
void set_spi_parent (SPIComponent *parent)
 
void set_cs_pin (GPIOPin *cs)
 
void set_data_rate (uint32_t data_rate)
 
void set_bit_order (SPIBitOrder order)
 
void set_mode (SPIMode mode)
 
uint8_t read_byte ()
 
void read_array (uint8_t *data, size_t length)
 
void write (uint16_t data, size_t num_bits)
 Write a single data item, up to 32 bits. More...
 
void write_cmd_addr_data (size_t cmd_bits, uint32_t cmd, size_t addr_bits, uint32_t address, const uint8_t *data, size_t length, uint8_t bus_width=1)
 
void write_byte (uint8_t data)
 
void transfer_array (uint8_t *data, size_t length)
 Write the array data, replace with received data. More...
 
void transfer_array (std::array< uint8_t, N > &data)
 
uint8_t transfer_byte (uint8_t data)
 
void write_byte16 (uint16_t data)
 Write 16 bit data. More...
 
void write_array16 (const uint16_t *data, size_t length)
 Write an array of data as 16 bit values, byte-swapping if required. More...
 
void enable ()
 
void disable ()
 
void write_array (const uint8_t *data, size_t length)
 
void write_array (const std::array< uint8_t, N > &data)
 
void write_array (const std::vector< uint8_t > &data)
 
- Public Member Functions inherited from esphome::spi::SPIClient
 SPIClient (SPIBitOrder bit_order, SPIMode mode, uint32_t data_rate)
 
bool spi_is_ready ()
 

Data Fields

int32_t last_periodic_millis = millis()
 

Static Public Attributes

static const uint8_t PHASEA = 0
 
static const uint8_t PHASEB = 1
 
static const uint8_t PHASEC = 2
 

Protected Member Functions

uint16_t read16_ (uint16_t a_register)
 
int read32_ (uint16_t addr_h, uint16_t addr_l)
 
void write16_ (uint16_t a_register, uint16_t val)
 
float get_local_phase_voltage_ (uint8_t)
 
float get_local_phase_current_ (uint8_t)
 
float get_local_phase_active_power_ (uint8_t)
 
float get_local_phase_reactive_power_ (uint8_t)
 
float get_local_phase_power_factor_ (uint8_t)
 
float get_local_phase_forward_active_energy_ (uint8_t)
 
float get_local_phase_reverse_active_energy_ (uint8_t)
 
float get_local_phase_angle_ (uint8_t)
 
float get_local_phase_harmonic_active_power_ (uint8_t)
 
float get_local_phase_peak_current_ (uint8_t)
 
float get_phase_voltage_ (uint8_t)
 
float get_phase_voltage_avg_ (uint8_t)
 
float get_phase_current_ (uint8_t)
 
float get_phase_current_avg_ (uint8_t)
 
float get_phase_active_power_ (uint8_t)
 
float get_phase_reactive_power_ (uint8_t)
 
float get_phase_power_factor_ (uint8_t)
 
float get_phase_forward_active_energy_ (uint8_t)
 
float get_phase_reverse_active_energy_ (uint8_t)
 
float get_phase_angle_ (uint8_t)
 
float get_phase_harmonic_active_power_ (uint8_t)
 
float get_phase_peak_current_ (uint8_t)
 
float get_frequency_ ()
 
float get_chip_temperature_ ()
 
bool get_publish_interval_flag_ ()
 
void set_publish_interval_flag_ (bool flag)
 
void restore_calibrations_ ()
 
- 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

struct esphome::atm90e32::ATM90E32Component::ATM90E32Phase phase_ [3]
 
struct esphome::atm90e32::ATM90E32Component::Calibration offset_phase_ [3]
 
ESPPreferenceObject pref_
 
sensor::Sensorfreq_sensor_ {nullptr}
 
sensor::Sensorchip_temperature_sensor_ {nullptr}
 
uint16_t pga_gain_ {0x15}
 
int line_freq_ {60}
 
int current_phases_ {3}
 
bool publish_interval_flag_ {false}
 
bool peak_current_signed_ {false}
 
bool enable_offset_calibration_ {false}
 
- 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::spi::SPIClient
SPIBitOrder bit_order_ {BIT_ORDER_MSB_FIRST}
 
SPIMode mode_ {MODE0}
 
uint32_t data_rate_ {1000000}
 
SPIComponentparent_ {nullptr}
 
GPIOPincs_ {nullptr}
 
SPIDelegatedelegate_ {nullptr}
 

Detailed Description

Definition at line 14 of file atm90e32.h.

Member Function Documentation

◆ calibrate_current_offset_phase()

uint16_t esphome::atm90e32::ATM90E32Component::calibrate_current_offset_phase ( uint8_t  phase)

Definition at line 483 of file atm90e32.cpp.

◆ calibrate_voltage_offset_phase()

uint16_t esphome::atm90e32::ATM90E32Component::calibrate_voltage_offset_phase ( uint8_t  phase)

Definition at line 470 of file atm90e32.cpp.

◆ clear_offset_calibrations()

void esphome::atm90e32::ATM90E32Component::clear_offset_calibrations ( )

Definition at line 171 of file atm90e32.cpp.

◆ dump_config()

void esphome::atm90e32::ATM90E32Component::dump_config ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 249 of file atm90e32.cpp.

◆ get_chip_temperature_()

float esphome::atm90e32::ATM90E32Component::get_chip_temperature_ ( )
protected

Definition at line 465 of file atm90e32.cpp.

◆ get_frequency_()

float esphome::atm90e32::ATM90E32Component::get_frequency_ ( )
protected

Definition at line 460 of file atm90e32.cpp.

◆ get_local_phase_active_power_()

float esphome::atm90e32::ATM90E32Component::get_local_phase_active_power_ ( uint8_t  phase)
protected

Definition at line 339 of file atm90e32.cpp.

◆ get_local_phase_angle_()

float esphome::atm90e32::ATM90E32Component::get_local_phase_angle_ ( uint8_t  phase)
protected

Definition at line 353 of file atm90e32.cpp.

◆ get_local_phase_current_()

float esphome::atm90e32::ATM90E32Component::get_local_phase_current_ ( uint8_t  phase)
protected

Definition at line 337 of file atm90e32.cpp.

◆ get_local_phase_forward_active_energy_()

float esphome::atm90e32::ATM90E32Component::get_local_phase_forward_active_energy_ ( uint8_t  phase)
protected

Definition at line 345 of file atm90e32.cpp.

◆ get_local_phase_harmonic_active_power_()

float esphome::atm90e32::ATM90E32Component::get_local_phase_harmonic_active_power_ ( uint8_t  phase)
protected

Definition at line 355 of file atm90e32.cpp.

◆ get_local_phase_peak_current_()

float esphome::atm90e32::ATM90E32Component::get_local_phase_peak_current_ ( uint8_t  phase)
protected

Definition at line 359 of file atm90e32.cpp.

◆ get_local_phase_power_factor_()

float esphome::atm90e32::ATM90E32Component::get_local_phase_power_factor_ ( uint8_t  phase)
protected

Definition at line 343 of file atm90e32.cpp.

◆ get_local_phase_reactive_power_()

float esphome::atm90e32::ATM90E32Component::get_local_phase_reactive_power_ ( uint8_t  phase)
protected

Definition at line 341 of file atm90e32.cpp.

◆ get_local_phase_reverse_active_energy_()

float esphome::atm90e32::ATM90E32Component::get_local_phase_reverse_active_energy_ ( uint8_t  phase)
protected

Definition at line 349 of file atm90e32.cpp.

◆ get_local_phase_voltage_()

float esphome::atm90e32::ATM90E32Component::get_local_phase_voltage_ ( uint8_t  phase)
protected

Definition at line 335 of file atm90e32.cpp.

◆ get_phase_active_power_()

float esphome::atm90e32::ATM90E32Component::get_phase_active_power_ ( uint8_t  phase)
protected

Definition at line 405 of file atm90e32.cpp.

◆ get_phase_angle_()

float esphome::atm90e32::ATM90E32Component::get_phase_angle_ ( uint8_t  phase)
protected

Definition at line 447 of file atm90e32.cpp.

◆ get_phase_current_()

float esphome::atm90e32::ATM90E32Component::get_phase_current_ ( uint8_t  phase)
protected

Definition at line 398 of file atm90e32.cpp.

◆ get_phase_current_avg_()

float esphome::atm90e32::ATM90E32Component::get_phase_current_avg_ ( uint8_t  phase)
protected

Definition at line 383 of file atm90e32.cpp.

◆ get_phase_forward_active_energy_()

float esphome::atm90e32::ATM90E32Component::get_phase_forward_active_energy_ ( uint8_t  phase)
protected

Definition at line 422 of file atm90e32.cpp.

◆ get_phase_harmonic_active_power_()

float esphome::atm90e32::ATM90E32Component::get_phase_harmonic_active_power_ ( uint8_t  phase)
protected

Definition at line 442 of file atm90e32.cpp.

◆ get_phase_peak_current_()

float esphome::atm90e32::ATM90E32Component::get_phase_peak_current_ ( uint8_t  phase)
protected

Definition at line 452 of file atm90e32.cpp.

◆ get_phase_power_factor_()

float esphome::atm90e32::ATM90E32Component::get_phase_power_factor_ ( uint8_t  phase)
protected

Definition at line 415 of file atm90e32.cpp.

◆ get_phase_reactive_power_()

float esphome::atm90e32::ATM90E32Component::get_phase_reactive_power_ ( uint8_t  phase)
protected

Definition at line 410 of file atm90e32.cpp.

◆ get_phase_reverse_active_energy_()

float esphome::atm90e32::ATM90E32Component::get_phase_reverse_active_energy_ ( uint8_t  phase)
protected

Definition at line 432 of file atm90e32.cpp.

◆ get_phase_voltage_()

float esphome::atm90e32::ATM90E32Component::get_phase_voltage_ ( uint8_t  phase)
protected

Definition at line 361 of file atm90e32.cpp.

◆ get_phase_voltage_avg_()

float esphome::atm90e32::ATM90E32Component::get_phase_voltage_avg_ ( uint8_t  phase)
protected

Definition at line 368 of file atm90e32.cpp.

◆ get_publish_interval_flag_()

bool esphome::atm90e32::ATM90E32Component::get_publish_interval_flag_ ( )
inlineprotected

Definition at line 88 of file atm90e32.h.

◆ get_setup_priority()

float esphome::atm90e32::ATM90E32Component::get_setup_priority ( ) const
overridevirtual

Reimplemented from esphome::Component.

Definition at line 290 of file atm90e32.cpp.

◆ loop()

void esphome::atm90e32::ATM90E32Component::loop ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 10 of file atm90e32.cpp.

◆ read16_()

uint16_t esphome::atm90e32::ATM90E32Component::read16_ ( uint16_t  a_register)
protected

Definition at line 295 of file atm90e32.cpp.

◆ read32_()

int esphome::atm90e32::ATM90E32Component::read32_ ( uint16_t  addr_h,
uint16_t  addr_l 
)
protected

Definition at line 312 of file atm90e32.cpp.

◆ restore_calibrations_()

void esphome::atm90e32::ATM90E32Component::restore_calibrations_ ( )
protected

Definition at line 135 of file atm90e32.cpp.

◆ run_offset_calibrations()

void esphome::atm90e32::ATM90E32Component::run_offset_calibrations ( )

Definition at line 141 of file atm90e32.cpp.

◆ set_apparent_power_sensor()

void esphome::atm90e32::ATM90E32Component::set_apparent_power_sensor ( int  phase,
sensor::Sensor obj 
)
inline

Definition at line 30 of file atm90e32.h.

◆ set_chip_temperature_sensor()

void esphome::atm90e32::ATM90E32Component::set_chip_temperature_sensor ( sensor::Sensor chip_temperature_sensor)
inline

Definition at line 47 of file atm90e32.h.

◆ set_ct_gain()

void esphome::atm90e32::ATM90E32Component::set_ct_gain ( int  phase,
uint16_t  gain 
)
inline

Definition at line 44 of file atm90e32.h.

◆ set_current_phases()

void esphome::atm90e32::ATM90E32Component::set_current_phases ( int  phases)
inline

Definition at line 51 of file atm90e32.h.

◆ set_current_sensor()

void esphome::atm90e32::ATM90E32Component::set_current_sensor ( int  phase,
sensor::Sensor obj 
)
inline

Definition at line 27 of file atm90e32.h.

◆ set_enable_offset_calibration()

void esphome::atm90e32::ATM90E32Component::set_enable_offset_calibration ( bool  flag)
inline

Definition at line 55 of file atm90e32.h.

◆ set_forward_active_energy_sensor()

void esphome::atm90e32::ATM90E32Component::set_forward_active_energy_sensor ( int  phase,
sensor::Sensor obj 
)
inline

Definition at line 31 of file atm90e32.h.

◆ set_freq_sensor()

void esphome::atm90e32::ATM90E32Component::set_freq_sensor ( sensor::Sensor freq_sensor)
inline

Definition at line 45 of file atm90e32.h.

◆ set_harmonic_active_power_sensor()

void esphome::atm90e32::ATM90E32Component::set_harmonic_active_power_sensor ( int  phase,
sensor::Sensor obj 
)
inline

Definition at line 39 of file atm90e32.h.

◆ set_line_freq()

void esphome::atm90e32::ATM90E32Component::set_line_freq ( int  freq)
inline

Definition at line 50 of file atm90e32.h.

◆ set_peak_current_sensor()

void esphome::atm90e32::ATM90E32Component::set_peak_current_sensor ( int  phase,
sensor::Sensor obj 
)
inline

Definition at line 42 of file atm90e32.h.

◆ set_peak_current_signed()

void esphome::atm90e32::ATM90E32Component::set_peak_current_signed ( bool  flag)
inline

Definition at line 46 of file atm90e32.h.

◆ set_pga_gain()

void esphome::atm90e32::ATM90E32Component::set_pga_gain ( uint16_t  gain)
inline

Definition at line 52 of file atm90e32.h.

◆ set_phase_angle_sensor()

void esphome::atm90e32::ATM90E32Component::set_phase_angle_sensor ( int  phase,
sensor::Sensor obj 
)
inline

Definition at line 38 of file atm90e32.h.

◆ set_power_factor_sensor()

void esphome::atm90e32::ATM90E32Component::set_power_factor_sensor ( int  phase,
sensor::Sensor obj 
)
inline

Definition at line 37 of file atm90e32.h.

◆ set_power_sensor()

void esphome::atm90e32::ATM90E32Component::set_power_sensor ( int  phase,
sensor::Sensor obj 
)
inline

Definition at line 28 of file atm90e32.h.

◆ set_publish_interval_flag_()

void esphome::atm90e32::ATM90E32Component::set_publish_interval_flag_ ( bool  flag)
inlineprotected

Definition at line 89 of file atm90e32.h.

◆ set_reactive_power_sensor()

void esphome::atm90e32::ATM90E32Component::set_reactive_power_sensor ( int  phase,
sensor::Sensor obj 
)
inline

Definition at line 29 of file atm90e32.h.

◆ set_reverse_active_energy_sensor()

void esphome::atm90e32::ATM90E32Component::set_reverse_active_energy_sensor ( int  phase,
sensor::Sensor obj 
)
inline

Definition at line 34 of file atm90e32.h.

◆ set_volt_gain()

void esphome::atm90e32::ATM90E32Component::set_volt_gain ( int  phase,
uint16_t  gain 
)
inline

Definition at line 43 of file atm90e32.h.

◆ set_voltage_sensor()

void esphome::atm90e32::ATM90E32Component::set_voltage_sensor ( int  phase,
sensor::Sensor obj 
)
inline

Definition at line 26 of file atm90e32.h.

◆ setup()

void esphome::atm90e32::ATM90E32Component::setup ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 198 of file atm90e32.cpp.

◆ update()

void esphome::atm90e32::ATM90E32Component::update ( )
overridevirtual

Implements esphome::PollingComponent.

Definition at line 126 of file atm90e32.cpp.

◆ write16_()

void esphome::atm90e32::ATM90E32Component::write16_ ( uint16_t  a_register,
uint16_t  val 
)
protected

Definition at line 325 of file atm90e32.cpp.

Field Documentation

◆ chip_temperature_sensor_

sensor::Sensor* esphome::atm90e32::ATM90E32Component::chip_temperature_sensor_ {nullptr}
protected

Definition at line 130 of file atm90e32.h.

◆ current_phases_

int esphome::atm90e32::ATM90E32Component::current_phases_ {3}
protected

Definition at line 133 of file atm90e32.h.

◆ enable_offset_calibration_

bool esphome::atm90e32::ATM90E32Component::enable_offset_calibration_ {false}
protected

Definition at line 136 of file atm90e32.h.

◆ freq_sensor_

sensor::Sensor* esphome::atm90e32::ATM90E32Component::freq_sensor_ {nullptr}
protected

Definition at line 129 of file atm90e32.h.

◆ last_periodic_millis

int32_t esphome::atm90e32::ATM90E32Component::last_periodic_millis = millis()

Definition at line 58 of file atm90e32.h.

◆ line_freq_

int esphome::atm90e32::ATM90E32Component::line_freq_ {60}
protected

Definition at line 132 of file atm90e32.h.

◆ offset_phase_

struct esphome::atm90e32::ATM90E32Component::Calibration esphome::atm90e32::ATM90E32Component::offset_phase_[3]
protected

◆ peak_current_signed_

bool esphome::atm90e32::ATM90E32Component::peak_current_signed_ {false}
protected

Definition at line 135 of file atm90e32.h.

◆ pga_gain_

uint16_t esphome::atm90e32::ATM90E32Component::pga_gain_ {0x15}
protected

Definition at line 131 of file atm90e32.h.

◆ phase_

struct esphome::atm90e32::ATM90E32Component::ATM90E32Phase esphome::atm90e32::ATM90E32Component::phase_[3]
protected

◆ PHASEA

const uint8_t esphome::atm90e32::ATM90E32Component::PHASEA = 0
static

Definition at line 18 of file atm90e32.h.

◆ PHASEB

const uint8_t esphome::atm90e32::ATM90E32Component::PHASEB = 1
static

Definition at line 19 of file atm90e32.h.

◆ PHASEC

const uint8_t esphome::atm90e32::ATM90E32Component::PHASEC = 2
static

Definition at line 20 of file atm90e32.h.

◆ pref_

ESPPreferenceObject esphome::atm90e32::ATM90E32Component::pref_
protected

Definition at line 127 of file atm90e32.h.

◆ publish_interval_flag_

bool esphome::atm90e32::ATM90E32Component::publish_interval_flag_ {false}
protected

Definition at line 134 of file atm90e32.h.


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