ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
sun_gtil2.h
Go to the documentation of this file.
1#pragma once
2
3#include <span>
4
7
8#ifdef USE_SENSOR
10#endif
11#ifdef USE_TEXT_SENSOR
13#endif
15
16namespace esphome::sun_gtil2 {
17
18class SunGTIL2 : public Component, public uart::UARTDevice {
19 public:
20 float get_setup_priority() const override { return setup_priority::LATE; }
21 void setup() override;
22 void loop() override;
23 void dump_config() override;
24
25#ifdef USE_SENSOR
26 void set_ac_voltage(sensor::Sensor *sensor) { ac_voltage_ = sensor; }
27 void set_dc_voltage(sensor::Sensor *sensor) { dc_voltage_ = sensor; }
28 void set_ac_power(sensor::Sensor *sensor) { ac_power_ = sensor; }
29 void set_dc_power(sensor::Sensor *sensor) { dc_power_ = sensor; }
31 void set_temperature(sensor::Sensor *sensor) { temperature_ = sensor; }
32#endif
33#ifdef USE_TEXT_SENSOR
34 void set_state(text_sensor::TextSensor *text_sensor) { state_ = text_sensor; }
35 void set_serial_number(text_sensor::TextSensor *text_sensor) { serial_number_ = text_sensor; }
36#endif
37
38 static constexpr size_t STATE_BUFFER_SIZE = 32;
39
40 protected:
41 const char *state_to_string_(uint8_t state, std::span<char, STATE_BUFFER_SIZE> buffer);
42#ifdef USE_SENSOR
49#endif
50#ifdef USE_TEXT_SENSOR
53#endif
54
55 float calculate_temperature_(uint16_t adc_value);
56 void handle_char_(uint8_t c);
57 std::vector<uint8_t> rx_message_;
58};
59
60} // namespace esphome::sun_gtil2
Base-class for all sensors.
Definition sensor.h:47
float calculate_temperature_(uint16_t adc_value)
Definition sun_gtil2.cpp:61
static constexpr size_t STATE_BUFFER_SIZE
Definition sun_gtil2.h:38
void set_limiter_power(sensor::Sensor *sensor)
Definition sun_gtil2.h:30
void handle_char_(uint8_t c)
Definition sun_gtil2.cpp:72
text_sensor::TextSensor * state_
Definition sun_gtil2.h:51
float get_setup_priority() const override
Definition sun_gtil2.h:20
void set_ac_voltage(sensor::Sensor *sensor)
Definition sun_gtil2.h:26
void set_ac_power(sensor::Sensor *sensor)
Definition sun_gtil2.h:28
void set_serial_number(text_sensor::TextSensor *text_sensor)
Definition sun_gtil2.h:35
sensor::Sensor * dc_power_
Definition sun_gtil2.h:46
text_sensor::TextSensor * serial_number_
Definition sun_gtil2.h:52
void set_state(text_sensor::TextSensor *text_sensor)
Definition sun_gtil2.h:34
sensor::Sensor * limiter_power_
Definition sun_gtil2.h:47
std::vector< uint8_t > rx_message_
Definition sun_gtil2.h:57
sensor::Sensor * dc_voltage_
Definition sun_gtil2.h:44
const char * state_to_string_(uint8_t state, std::span< char, STATE_BUFFER_SIZE > buffer)
Definition sun_gtil2.cpp:49
sensor::Sensor * ac_power_
Definition sun_gtil2.h:45
void set_dc_power(sensor::Sensor *sensor)
Definition sun_gtil2.h:29
sensor::Sensor * ac_voltage_
Definition sun_gtil2.h:43
void set_dc_voltage(sensor::Sensor *sensor)
Definition sun_gtil2.h:27
void set_temperature(sensor::Sensor *sensor)
Definition sun_gtil2.h:31
sensor::Sensor * temperature_
Definition sun_gtil2.h:48
bool state
Definition fan.h:2
constexpr float LATE
For components that should be initialized at the very end of the setup process.
Definition component.h:57