ESPHome 2026.3.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 {
17namespace sun_gtil2 {
18
19class SunGTIL2 : public Component, public uart::UARTDevice {
20 public:
21 float get_setup_priority() const override { return setup_priority::LATE; }
22 void setup() override;
23 void loop() override;
24 void dump_config() override;
25
26#ifdef USE_SENSOR
27 void set_ac_voltage(sensor::Sensor *sensor) { ac_voltage_ = sensor; }
28 void set_dc_voltage(sensor::Sensor *sensor) { dc_voltage_ = sensor; }
29 void set_ac_power(sensor::Sensor *sensor) { ac_power_ = sensor; }
30 void set_dc_power(sensor::Sensor *sensor) { dc_power_ = sensor; }
32 void set_temperature(sensor::Sensor *sensor) { temperature_ = sensor; }
33#endif
34#ifdef USE_TEXT_SENSOR
35 void set_state(text_sensor::TextSensor *text_sensor) { state_ = text_sensor; }
36 void set_serial_number(text_sensor::TextSensor *text_sensor) { serial_number_ = text_sensor; }
37#endif
38
39 static constexpr size_t STATE_BUFFER_SIZE = 32;
40
41 protected:
42 const char *state_to_string_(uint8_t state, std::span<char, STATE_BUFFER_SIZE> buffer);
43#ifdef USE_SENSOR
50#endif
51#ifdef USE_TEXT_SENSOR
54#endif
55
56 float calculate_temperature_(uint16_t adc_value);
57 void handle_char_(uint8_t c);
58 std::vector<uint8_t> rx_message_;
59};
60
61} // namespace sun_gtil2
62} // namespace esphome
Base-class for all sensors.
Definition sensor.h:47
float calculate_temperature_(uint16_t adc_value)
Definition sun_gtil2.cpp:62
static constexpr size_t STATE_BUFFER_SIZE
Definition sun_gtil2.h:39
void set_limiter_power(sensor::Sensor *sensor)
Definition sun_gtil2.h:31
void handle_char_(uint8_t c)
Definition sun_gtil2.cpp:73
text_sensor::TextSensor * state_
Definition sun_gtil2.h:52
float get_setup_priority() const override
Definition sun_gtil2.h:21
void set_ac_voltage(sensor::Sensor *sensor)
Definition sun_gtil2.h:27
void set_ac_power(sensor::Sensor *sensor)
Definition sun_gtil2.h:29
void set_serial_number(text_sensor::TextSensor *text_sensor)
Definition sun_gtil2.h:36
sensor::Sensor * dc_power_
Definition sun_gtil2.h:47
text_sensor::TextSensor * serial_number_
Definition sun_gtil2.h:53
void set_state(text_sensor::TextSensor *text_sensor)
Definition sun_gtil2.h:35
sensor::Sensor * limiter_power_
Definition sun_gtil2.h:48
std::vector< uint8_t > rx_message_
Definition sun_gtil2.h:58
sensor::Sensor * dc_voltage_
Definition sun_gtil2.h:45
const char * state_to_string_(uint8_t state, std::span< char, STATE_BUFFER_SIZE > buffer)
Definition sun_gtil2.cpp:50
sensor::Sensor * ac_power_
Definition sun_gtil2.h:46
void set_dc_power(sensor::Sensor *sensor)
Definition sun_gtil2.h:30
sensor::Sensor * ac_voltage_
Definition sun_gtil2.h:44
void set_dc_voltage(sensor::Sensor *sensor)
Definition sun_gtil2.h:28
void set_temperature(sensor::Sensor *sensor)
Definition sun_gtil2.h:32
sensor::Sensor * temperature_
Definition sun_gtil2.h:49
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:45
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7