ESPHome 2025.5.0
Loading...
Searching...
No Matches
cse7761.h
Go to the documentation of this file.
1#pragma once
2
6
7namespace esphome {
8namespace cse7761 {
9
11 uint32_t frequency = 0;
12 uint32_t voltage_rms = 0;
13 uint32_t current_rms[2] = {0};
14 uint32_t energy[2] = {0};
15 uint32_t active_power[2] = {0};
16 uint16_t coefficient[8] = {0};
17 uint8_t energy_update = 0;
18 bool ready = false;
19};
20
23 public:
24 void set_voltage_sensor(sensor::Sensor *voltage_sensor) { voltage_sensor_ = voltage_sensor; }
25 void set_active_power_1_sensor(sensor::Sensor *power_sensor_1) { power_sensor_1_ = power_sensor_1; }
26 void set_current_1_sensor(sensor::Sensor *current_sensor_1) { current_sensor_1_ = current_sensor_1; }
27 void set_active_power_2_sensor(sensor::Sensor *power_sensor_2) { power_sensor_2_ = power_sensor_2; }
28 void set_current_2_sensor(sensor::Sensor *current_sensor_2) { current_sensor_2_ = current_sensor_2; }
29 void setup() override;
30 void dump_config() override;
31 float get_setup_priority() const override;
32 void update() override;
33
34 protected:
35 // Sensors
42
43 void write_(uint8_t reg, uint16_t data);
44 bool read_once_(uint8_t reg, uint8_t size, uint32_t *value);
45 uint32_t read_(uint8_t reg, uint8_t size);
46 uint32_t coefficient_by_unit_(uint32_t unit);
47 bool chip_init_();
48 void get_data_();
49};
50
51} // namespace cse7761
52} // namespace esphome
This class simplifies creating components that periodically check a state.
Definition component.h:301
This class implements support for the CSE7761 UART power sensor.
Definition cse7761.h:22
void set_current_2_sensor(sensor::Sensor *current_sensor_2)
Definition cse7761.h:28
sensor::Sensor * current_sensor_1_
Definition cse7761.h:38
sensor::Sensor * power_sensor_2_
Definition cse7761.h:39
sensor::Sensor * voltage_sensor_
Definition cse7761.h:36
uint32_t coefficient_by_unit_(uint32_t unit)
Definition cse7761.cpp:152
uint32_t read_(uint8_t reg, uint8_t size)
Definition cse7761.cpp:139
sensor::Sensor * current_sensor_2_
Definition cse7761.h:40
sensor::Sensor * power_sensor_1_
Definition cse7761.h:37
bool read_once_(uint8_t reg, uint8_t size, uint32_t *value)
Definition cse7761.cpp:100
float get_setup_priority() const override
Definition cse7761.cpp:66
void write_(uint8_t reg, uint16_t data)
Definition cse7761.cpp:74
void set_voltage_sensor(sensor::Sensor *voltage_sensor)
Definition cse7761.h:24
void set_active_power_2_sensor(sensor::Sensor *power_sensor_2)
Definition cse7761.h:27
void set_active_power_1_sensor(sensor::Sensor *power_sensor_1)
Definition cse7761.h:25
void set_current_1_sensor(sensor::Sensor *current_sensor_1)
Definition cse7761.h:26
Base-class for all sensors.
Definition sensor.h:57
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7