ESPHome 2025.5.0
Loading...
Searching...
No Matches
growatt_solar.h
Go to the documentation of this file.
1#pragma once
2
6
7#include <vector>
8
9namespace esphome {
10namespace growatt_solar {
11
12static const float TWO_DEC_UNIT = 0.01;
13static const float ONE_DEC_UNIT = 0.1;
14
19
21 public:
22 void loop() override;
23 void update() override;
24 void on_modbus_data(const std::vector<uint8_t> &data) override;
25 void dump_config() override;
26
27 void set_protocol_version(GrowattProtocolVersion protocol_version) { this->protocol_version_ = protocol_version; }
28
30
34
38
39 void set_voltage_sensor(uint8_t phase, sensor::Sensor *voltage_sensor) {
40 this->phases_[phase].voltage_sensor_ = voltage_sensor;
41 }
42 void set_current_sensor(uint8_t phase, sensor::Sensor *current_sensor) {
43 this->phases_[phase].current_sensor_ = current_sensor;
44 }
45 void set_active_power_sensor(uint8_t phase, sensor::Sensor *active_power_sensor) {
46 this->phases_[phase].active_power_sensor_ = active_power_sensor;
47 }
48 void set_voltage_sensor_pv(uint8_t pv, sensor::Sensor *voltage_sensor) {
49 this->pvs_[pv].voltage_sensor_ = voltage_sensor;
50 }
51 void set_current_sensor_pv(uint8_t pv, sensor::Sensor *current_sensor) {
52 this->pvs_[pv].current_sensor_ = current_sensor;
53 }
54 void set_active_power_sensor_pv(uint8_t pv, sensor::Sensor *active_power_sensor) {
55 this->pvs_[pv].active_power_sensor_ = active_power_sensor;
56 }
57
58 protected:
60 uint32_t last_send_;
61
72
74
77
79
84};
85
86} // namespace growatt_solar
87} // namespace esphome
This class simplifies creating components that periodically check a state.
Definition component.h:301
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:57
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7