116 void setup()
override;
119 void loop()
override;
159 bool read_energy_(
double &joules_out,
double &watt_hours_out);
160 bool read_charge_(
double &coulombs_out,
double &_hours_out);
240 bool read_unsigned_(uint8_t reg, uint8_t reg_size, uint64_t &data_out);
This class simplifies creating components that periodically check a state.
bool reset_energy_counters()
bool configure_shunt_tempco_()
bool check_device_model_()
enum esphome::ina2xx_base::INA2XX::State NOT_INITIALIZED
bool read_die_temp_c_(float &temp)
AdcAvgSamples adc_avg_samples_
bool write_unsigned_16_(uint8_t reg, uint16_t val)
void set_bus_voltage_sensor(sensor::Sensor *sensor)
sensor::Sensor * bus_voltage_sensor_
void set_adc_time_die_temperature(AdcTime time)
bool read_unsigned_(uint8_t reg, uint8_t reg_size, uint64_t &data_out)
sensor::Sensor * energy_sensor_j_
void set_energy_sensor_j(sensor::Sensor *sensor)
bool configure_adc_range_()
void set_charge_sensor_ah(sensor::Sensor *sensor)
void set_max_current_a(float max_current_a)
bool read_bus_voltage_(float &volt_out)
void set_power_sensor(sensor::Sensor *sensor)
sensor::Sensor * power_sensor_
bool read_unsigned_16_(uint8_t reg, uint16_t &out)
sensor::Sensor * charge_sensor_c_
sensor::Sensor * die_temperature_sensor_
sensor::Sensor * energy_sensor_wh_
void set_current_sensor(sensor::Sensor *sensor)
bool read_shunt_voltage_mv_(float &volt_out)
void set_adc_time_bus_voltage(AdcTime time)
void set_shunt_resistance_ohm(float shunt_resistance_ohm)
uint16_t shunt_tempco_ppm_c_
void set_charge_sensor_c(sensor::Sensor *sensor)
int8_t current_lsb_scale_factor
float shunt_resistance_ohm_
virtual bool read_ina_register(uint8_t a_register, uint8_t *data, size_t len)=0
void set_adc_avg_samples(AdcAvgSamples samples)
sensor::Sensor * charge_sensor_ah_
bool read_power_w_(float &power_out)
int64_t two_complement_(uint64_t value, uint8_t bits)
void set_adc_range(uint8_t range)
bool read_charge_(double &coulombs_out, double &_hours_out)
void dump_config() override
sensor::Sensor * current_sensor_
AdcTime adc_time_shunt_voltage_
bool read_energy_(double &joules_out, double &watt_hours_out)
float get_setup_priority() const override
AdcTime adc_time_die_temperature_
void set_shunt_voltage_sensor(sensor::Sensor *sensor)
void set_energy_sensor_wh(sensor::Sensor *sensor)
bool read_diagnostics_and_act_()
void set_shunt_tempco(uint16_t coeff)
void set_die_temperature_sensor(sensor::Sensor *sensor)
AdcTime adc_time_bus_voltage_
uint32_t energy_overflows_count_
bool read_current_a_(float &s_out)
void set_model(INAModel model)
uint32_t charge_overflows_count_
struct esphome::ina2xx_base::INA2XX::@87 cfg_
void set_adc_time_shunt_voltage(AdcTime time)
sensor::Sensor * shunt_voltage_sensor_
virtual bool write_ina_register(uint8_t a_register, const uint8_t *data, size_t len)=0
Base-class for all sensors.
struct @67::@68 __attribute__
Providing packet encoding functions for exchanging data with a remote host.