ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
havells_solar.h
Go to the documentation of this file.
1#pragma once
2
6
7#include <vector>
8
10
12 public:
13 void set_voltage_sensor(uint8_t phase, sensor::Sensor *voltage_sensor) {
14 this->phases_[phase].setup = true;
15 this->phases_[phase].voltage_sensor_ = voltage_sensor;
16 }
17 void set_current_sensor(uint8_t phase, sensor::Sensor *current_sensor) {
18 this->phases_[phase].setup = true;
19 this->phases_[phase].current_sensor_ = current_sensor;
20 }
21 void set_voltage_sensor_pv(uint8_t pv, sensor::Sensor *voltage_sensor) {
22 this->pvs_[pv].setup = true;
23 this->pvs_[pv].voltage_sensor_ = voltage_sensor;
24 }
25 void set_current_sensor_pv(uint8_t pv, sensor::Sensor *current_sensor) {
26 this->pvs_[pv].setup = true;
27 this->pvs_[pv].current_sensor_ = current_sensor;
28 }
29 void set_active_power_sensor_pv(uint8_t pv, sensor::Sensor *active_power_sensor) {
30 this->pvs_[pv].setup = true;
31 this->pvs_[pv].active_power_sensor_ = active_power_sensor;
32 }
34 sensor::Sensor *voltage_sampled_by_secondary_cpu_sensor) {
35 this->pvs_[pv].setup = true;
36 this->pvs_[pv].voltage_sampled_by_secondary_cpu_sensor_ = voltage_sampled_by_secondary_cpu_sensor;
37 }
38 void set_insulation_of_p_to_ground_sensor_pv(uint8_t pv, sensor::Sensor *insulation_of_p_to_ground_sensor) {
39 this->pvs_[pv].setup = true;
40 this->pvs_[pv].insulation_of_p_to_ground_sensor_ = insulation_of_p_to_ground_sensor;
41 }
42 void set_frequency_sensor(sensor::Sensor *frequency_sensor) { this->frequency_sensor_ = frequency_sensor; }
43 void set_active_power_sensor(sensor::Sensor *active_power_sensor) {
44 this->active_power_sensor_ = active_power_sensor;
45 }
46 void set_reactive_power_sensor(sensor::Sensor *reactive_power_sensor) {
47 this->reactive_power_sensor_ = reactive_power_sensor;
48 }
49 void set_today_production_sensor(sensor::Sensor *today_production_sensor) {
50 this->today_production_sensor_ = today_production_sensor;
51 }
52 void set_total_energy_production_sensor(sensor::Sensor *total_energy_production_sensor) {
53 this->total_energy_production_sensor_ = total_energy_production_sensor;
54 }
55 void set_total_generation_time_sensor(sensor::Sensor *total_generation_time_sensor) {
56 this->total_generation_time_sensor_ = total_generation_time_sensor;
57 }
58 void set_today_generation_time_sensor(sensor::Sensor *today_generation_time_sensor) {
59 this->today_generation_time_sensor_ = today_generation_time_sensor;
60 }
61 void set_inverter_module_temp_sensor(sensor::Sensor *inverter_module_temp_sensor) {
62 this->inverter_module_temp_sensor_ = inverter_module_temp_sensor;
63 }
64 void set_inverter_inner_temp_sensor(sensor::Sensor *inverter_inner_temp_sensor) {
65 this->inverter_inner_temp_sensor_ = inverter_inner_temp_sensor;
66 }
67 void set_inverter_bus_voltage_sensor(sensor::Sensor *inverter_bus_voltage_sensor) {
68 this->inverter_bus_voltage_sensor_ = inverter_bus_voltage_sensor;
69 }
70 void set_insulation_pv_n_to_ground_sensor(sensor::Sensor *insulation_pv_n_to_ground_sensor) {
71 this->insulation_pv_n_to_ground_sensor_ = insulation_pv_n_to_ground_sensor;
72 }
73 void set_gfci_value_sensor(sensor::Sensor *gfci_value_sensor) { this->gfci_value_sensor_ = gfci_value_sensor; }
74 void set_dci_of_r_sensor(sensor::Sensor *dci_of_r_sensor) { this->dci_of_r_sensor_ = dci_of_r_sensor; }
75 void set_dci_of_s_sensor(sensor::Sensor *dci_of_s_sensor) { this->dci_of_s_sensor_ = dci_of_s_sensor; }
76 void set_dci_of_t_sensor(sensor::Sensor *dci_of_t_sensor) { this->dci_of_t_sensor_ = dci_of_t_sensor; }
77
78 void update() override;
79
80 void on_modbus_data(const std::vector<uint8_t> &data) override;
81
82 void dump_config() override;
83
84 protected:
113};
114
115} // namespace esphome::havells_solar
This class simplifies creating components that periodically check a state.
Definition component.h:585
void set_today_production_sensor(sensor::Sensor *today_production_sensor)
void set_frequency_sensor(sensor::Sensor *frequency_sensor)
void set_insulation_pv_n_to_ground_sensor(sensor::Sensor *insulation_pv_n_to_ground_sensor)
void set_insulation_of_p_to_ground_sensor_pv(uint8_t pv, sensor::Sensor *insulation_of_p_to_ground_sensor)
void set_current_sensor_pv(uint8_t pv, sensor::Sensor *current_sensor)
void set_dci_of_s_sensor(sensor::Sensor *dci_of_s_sensor)
void set_today_generation_time_sensor(sensor::Sensor *today_generation_time_sensor)
void on_modbus_data(const std::vector< uint8_t > &data) override
void set_gfci_value_sensor(sensor::Sensor *gfci_value_sensor)
void set_active_power_sensor_pv(uint8_t pv, sensor::Sensor *active_power_sensor)
sensor::Sensor * insulation_pv_n_to_ground_sensor_
void set_inverter_bus_voltage_sensor(sensor::Sensor *inverter_bus_voltage_sensor)
sensor::Sensor * total_energy_production_sensor_
void set_reactive_power_sensor(sensor::Sensor *reactive_power_sensor)
void set_total_energy_production_sensor(sensor::Sensor *total_energy_production_sensor)
void set_voltage_sampled_by_secondary_cpu_sensor_pv(uint8_t pv, sensor::Sensor *voltage_sampled_by_secondary_cpu_sensor)
struct esphome::havells_solar::HavellsSolar::HAVELLSPV pvs_[2]
void set_voltage_sensor(uint8_t phase, sensor::Sensor *voltage_sensor)
void set_voltage_sensor_pv(uint8_t pv, sensor::Sensor *voltage_sensor)
void set_inverter_module_temp_sensor(sensor::Sensor *inverter_module_temp_sensor)
void set_total_generation_time_sensor(sensor::Sensor *total_generation_time_sensor)
void set_dci_of_r_sensor(sensor::Sensor *dci_of_r_sensor)
void set_inverter_inner_temp_sensor(sensor::Sensor *inverter_inner_temp_sensor)
void set_dci_of_t_sensor(sensor::Sensor *dci_of_t_sensor)
struct esphome::havells_solar::HavellsSolar::HAVELLSPhase phases_[3]
void set_current_sensor(uint8_t phase, sensor::Sensor *current_sensor)
void set_active_power_sensor(sensor::Sensor *active_power_sensor)
Base-class for all sensors.
Definition sensor.h:47