ESPHome 2026.5.3
Loading...
Searching...
No Matches
growatt_solar.h
Go to the documentation of this file.
1#pragma once
2
6
7#include <vector>
8
10
11static const float TWO_DEC_UNIT = 0.01;
12static const float ONE_DEC_UNIT = 0.1;
13
18
20 public:
21 void loop() override;
22 void update() override;
23 void on_modbus_data(const std::vector<uint8_t> &data) override;
24 void dump_config() override;
25
26 void set_protocol_version(GrowattProtocolVersion protocol_version) { this->protocol_version_ = protocol_version; }
27
29
33
37
38 void set_voltage_sensor(uint8_t phase, sensor::Sensor *voltage_sensor) {
39 this->phases_[phase].voltage_sensor_ = voltage_sensor;
40 }
41 void set_current_sensor(uint8_t phase, sensor::Sensor *current_sensor) {
42 this->phases_[phase].current_sensor_ = current_sensor;
43 }
44 void set_active_power_sensor(uint8_t phase, sensor::Sensor *active_power_sensor) {
45 this->phases_[phase].active_power_sensor_ = active_power_sensor;
46 }
47 void set_voltage_sensor_pv(uint8_t pv, sensor::Sensor *voltage_sensor) {
48 this->pvs_[pv].voltage_sensor_ = voltage_sensor;
49 }
50 void set_current_sensor_pv(uint8_t pv, sensor::Sensor *current_sensor) {
51 this->pvs_[pv].current_sensor_ = current_sensor;
52 }
53 void set_active_power_sensor_pv(uint8_t pv, sensor::Sensor *active_power_sensor) {
54 this->pvs_[pv].active_power_sensor_ = active_power_sensor;
55 }
56
57 protected:
58 bool waiting_to_update_{false};
60
71
73
76
78
83};
84
85} // namespace esphome::growatt_solar
This class simplifies creating components that periodically check a state.
Definition component.h:602
void set_current_sensor_pv(uint8_t pv, sensor::Sensor *current_sensor)
void set_grid_frequency_sensor(sensor::Sensor *sensor)
void on_modbus_data(const std::vector< uint8_t > &data) override
struct esphome::growatt_solar::GrowattSolar::GrowattPhase phases_[3]
void set_today_production_sensor(sensor::Sensor *sensor)
void set_voltage_sensor_pv(uint8_t pv, sensor::Sensor *voltage_sensor)
void set_protocol_version(GrowattProtocolVersion protocol_version)
GrowattProtocolVersion protocol_version_
struct esphome::growatt_solar::GrowattSolar::GrowattPV pvs_[2]
void set_inverter_status_sensor(sensor::Sensor *sensor)
void set_voltage_sensor(uint8_t phase, sensor::Sensor *voltage_sensor)
void set_current_sensor(uint8_t phase, sensor::Sensor *current_sensor)
void set_inverter_module_temp_sensor(sensor::Sensor *sensor)
void set_active_power_sensor(uint8_t phase, sensor::Sensor *active_power_sensor)
void set_grid_active_power_sensor(sensor::Sensor *sensor)
void set_active_power_sensor_pv(uint8_t pv, sensor::Sensor *active_power_sensor)
void set_pv_active_power_sensor(sensor::Sensor *sensor)
void set_total_energy_production_sensor(sensor::Sensor *sensor)
Base-class for all sensors.
Definition sensor.h:47
static void uint32_t