ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
pylontech.h
Go to the documentation of this file.
1#pragma once
2
6
7namespace esphome::pylontech {
8
9static const uint8_t NUM_BUFFERS = 20;
10static const uint8_t TEXT_SENSOR_MAX_LEN = 14;
11
13 public:
14 struct LineContents {
16 char base_st[TEXT_SENSOR_MAX_LEN] = {0}, volt_st[TEXT_SENSOR_MAX_LEN] = {0}, curr_st[TEXT_SENSOR_MAX_LEN] = {0},
17 temp_st[TEXT_SENSOR_MAX_LEN] = {0};
18 };
19
21 virtual void dump_config();
22};
23
25 public:
27
29 void update() override;
31 void loop() override;
33 void setup() override;
34 void dump_config() override;
35
36 void register_listener(PylontechListener *listener) { this->listeners_.push_back(listener); }
37
38 protected:
39 void process_line_(std::string &buffer);
40
41 // ring buffer
42 std::string buffer_[NUM_BUFFERS];
45 bool has_tlow_id_ = false;
46
47 std::vector<PylontechListener *> listeners_{};
48};
49
50} // namespace esphome::pylontech
This class simplifies creating components that periodically check a state.
Definition component.h:585
void loop() override
Read data once available.
Definition pylontech.cpp:57
std::vector< PylontechListener * > listeners_
Definition pylontech.h:47
void process_line_(std::string &buffer)
Definition pylontech.cpp:91
void update() override
Schedule data readings.
Definition pylontech.cpp:55
void setup() override
Setup the sensor and test for a connection.
Definition pylontech.cpp:49
void register_listener(PylontechListener *listener)
Definition pylontech.h:36
std::string buffer_[NUM_BUFFERS]
Definition pylontech.h:42
virtual void on_line_read(LineContents *line)
const char int line
Definition log.h:74