ESPHome 2025.5.0
Loading...
Searching...
No Matches
nextion.h
Go to the documentation of this file.
1#pragma once
2
3#include <deque>
4#include <vector>
5
7#include "esphome/core/time.h"
8
10#include "nextion_base.h"
11#include "nextion_component.h"
13
14#ifdef USE_NEXTION_TFT_UPLOAD
15#ifdef USE_ARDUINO
16#ifdef USE_ESP32
17#include <HTTPClient.h>
18#endif // USE_ESP32
19#ifdef USE_ESP8266
20#include <ESP8266HTTPClient.h>
21#include <WiFiClientSecure.h>
22#endif // USE_ESP8266
23#elif defined(USE_ESP_IDF)
24#include <esp_http_client.h>
25#endif // ARDUINO vs USE_ESP_IDF
26#endif // USE_NEXTION_TFT_UPLOAD
27
28namespace esphome {
29namespace nextion {
30
31class Nextion;
32class NextionComponentBase;
33
34using nextion_writer_t = std::function<void(Nextion &)>;
35
36static const std::string COMMAND_DELIMITER{static_cast<char>(255), static_cast<char>(255), static_cast<char>(255)};
37
38#ifdef USE_NEXTION_COMMAND_SPACING
40 public:
45 explicit NextionCommandPacer(uint8_t initial_spacing = 0) : spacing_ms_(initial_spacing) {}
46
51 void set_spacing(uint8_t spacing_ms) { spacing_ms_ = spacing_ms; }
52
57 uint8_t get_spacing() const { return spacing_ms_; }
58
63 bool can_send() const { return (millis() - last_command_time_) >= spacing_ms_; }
64
68 void mark_sent() { last_command_time_ = millis(); }
69
70 private:
71 uint8_t spacing_ms_;
72 uint32_t last_command_time_{0};
73};
74#endif // USE_NEXTION_COMMAND_SPACING
75
76class Nextion : public NextionBase, public PollingComponent, public uart::UARTDevice {
77 public:
78#ifdef USE_NEXTION_COMMAND_SPACING
83 void set_command_spacing(uint32_t spacing_ms) { this->command_pacer_.set_spacing(spacing_ms); }
84#endif // USE_NEXTION_COMMAND_SPACING
85
98 void set_component_text(const char *component, const char *text);
99
115 void set_component_text_printf(const char *component, const char *format, ...) __attribute__((format(printf, 3, 4)));
116
129 void set_component_value(const char *component, int32_t value);
130
143 void set_component_picture(const char *component, uint8_t picture_id);
144
159 void set_component_background_color(const char *component, uint16_t color);
160
174 void set_component_background_color(const char *component, const char *color);
175
189 void set_component_background_color(const char *component, Color color) override;
190
206 void set_component_pressed_background_color(const char *component, uint16_t color);
207
222 void set_component_pressed_background_color(const char *component, const char *color);
223
238 void set_component_pressed_background_color(const char *component, Color color) override;
239
254 void set_component_foreground_color(const char *component, uint16_t color);
255
269 void set_component_foreground_color(const char *component, const char *color);
270
283 void set_component_foreground_color(const char *component, Color color) override;
284
300 void set_component_pressed_foreground_color(const char *component, uint16_t color);
301
316 void set_component_pressed_foreground_color(const char *component, const char *color);
317
332 void set_component_pressed_foreground_color(const char *component, Color color) override;
333
346 void set_component_pic(const char *component, uint8_t pic_id);
347
360 void set_component_picc(const char *component, uint8_t pic_id);
361
376 void set_component_font_color(const char *component, uint16_t color);
377
391 void set_component_font_color(const char *component, const char *color);
392
405 void set_component_font_color(const char *component, Color color) override;
406
421 void set_component_pressed_font_color(const char *component, uint16_t color);
422
436 void set_component_pressed_font_color(const char *component, const char *color);
437
450 void set_component_pressed_font_color(const char *component, Color color) override;
451
465 void set_component_coordinates(const char *component, uint16_t x, uint16_t y);
466
479 void set_component_font(const char *component, uint8_t font_id) override;
480
485 void set_nextion_rtc_time(ESPTime time);
486
498 void goto_page(const char *page);
499
511 void goto_page(uint8_t page);
512
524 void hide_component(const char *component) override;
525
537 void show_component(const char *component) override;
538
550 void enable_component_touch(const char *component);
551
563 void disable_component_touch(const char *component);
564
571 void add_waveform_data(uint8_t component_id, uint8_t channel_number, uint8_t value);
572
573 void open_waveform_channel(uint8_t component_id, uint8_t channel_number, uint8_t value);
574
588 void display_picture(uint16_t picture_id, uint16_t x_start, uint16_t y_start);
589
608 void fill_area(uint16_t x1, uint16_t y1, uint16_t width, uint16_t height, uint16_t color);
609
627 void fill_area(uint16_t x1, uint16_t y1, uint16_t width, uint16_t height, const char *color);
628
646 void fill_area(uint16_t x1, uint16_t y1, uint16_t width, uint16_t height, Color color);
647
666 void line(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color);
667
685 void line(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, const char *color);
686
704 void line(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, Color color);
705
724 void rectangle(uint16_t x1, uint16_t y1, uint16_t width, uint16_t height, uint16_t color);
725
743 void rectangle(uint16_t x1, uint16_t y1, uint16_t width, uint16_t height, const char *color);
744
762 void rectangle(uint16_t x1, uint16_t y1, uint16_t width, uint16_t height, Color color);
763
773 void circle(uint16_t center_x, uint16_t center_y, uint16_t radius, uint16_t color);
774
783 void circle(uint16_t center_x, uint16_t center_y, uint16_t radius, const char *color);
784
792 void circle(uint16_t center_x, uint16_t center_y, uint16_t radius, Color color);
793
810 void filled_circle(uint16_t center_x, uint16_t center_y, uint16_t radius, uint16_t color);
811
827 void filled_circle(uint16_t center_x, uint16_t center_y, uint16_t radius, const char *color);
828
844 void filled_circle(uint16_t center_x, uint16_t center_y, uint16_t radius, Color color);
845
864 void qrcode(uint16_t x1, uint16_t y1, const char *content, uint16_t size = 200, uint16_t background_color = 65535,
865 uint16_t foreground_color = 0, uint8_t logo_pic = -1, uint8_t border_width = 8);
866
888 void qrcode(uint16_t x1, uint16_t y1, const char *content, uint16_t size,
889 Color background_color = Color(255, 255, 255), Color foreground_color = Color(0, 0, 0),
890 uint8_t logo_pic = -1, uint8_t border_width = 8);
891
903 void set_backlight_brightness(float brightness);
904
918 void set_skip_connection_handshake(bool skip_handshake) { this->skip_connection_handshake_ = skip_handshake; }
919
924 void sleep(bool sleep);
925
945
946 // ======== Nextion Intelligent Series ========
947
962 void set_component_vid(const char *component, uint8_t vid_id);
963
978 void set_component_drag(const char *component, bool drag);
979
994 void set_component_aph(const char *component, uint8_t aph);
995
1011 void set_component_position(const char *component, uint32_t x, uint32_t y);
1012
1013 // ========== INTERNAL METHODS ==========
1014 // (In most use cases you won't need these)
1015 void register_touch_component(NextionComponentBase *obj) { this->touch_.push_back(obj); }
1020
1021 void setup() override;
1022 void set_brightness(float brightness) { this->brightness_ = brightness; }
1023 float get_setup_priority() const override;
1024 void update() override;
1025 void loop() override;
1026 void set_writer(const nextion_writer_t &writer);
1027
1028 // This function has been deprecated
1029 void set_wait_for_ack(bool wait_for_ack);
1030
1036 bool send_command(const char *command);
1037
1044 bool send_command_printf(const char *format, ...) __attribute__((format(printf, 2, 3)));
1045
1046#ifdef USE_NEXTION_TFT_UPLOAD
1050 void set_tft_url(const std::string &tft_url) { this->tft_url_ = tft_url; }
1051
1072 bool upload_tft(uint32_t baud_rate = 0, bool exit_reparse = true);
1073
1074#endif // USE_NEXTION_TFT_UPLOAD
1075
1076 void dump_config() override;
1077
1081 void soft_reset();
1082
1087 void add_sleep_state_callback(std::function<void()> &&callback);
1088
1093 void add_wake_state_callback(std::function<void()> &&callback);
1094
1099 void add_setup_state_callback(std::function<void()> &&callback);
1100
1105 void add_new_page_callback(std::function<void(uint8_t)> &&callback);
1106
1111 void add_touch_event_callback(std::function<void(uint8_t, uint8_t, bool)> &&callback);
1112
1117 void add_buffer_overflow_event_callback(std::function<void()> &&callback);
1118
1119 void update_all_components();
1120
1133 void set_nextion_sensor_state(int queue_type, const std::string &name, float state);
1134 void set_nextion_sensor_state(NextionQueueType queue_type, const std::string &name, float state);
1135 void set_nextion_text_state(const std::string &name, const std::string &state);
1136
1137 void add_no_result_to_queue_with_set(NextionComponentBase *component, int32_t state_value) override;
1138 void add_no_result_to_queue_with_set(const std::string &variable_name, const std::string &variable_name_to_send,
1139 int32_t state_value) override;
1140
1141 void add_no_result_to_queue_with_set(NextionComponentBase *component, const std::string &state_value) override;
1142 void add_no_result_to_queue_with_set(const std::string &variable_name, const std::string &variable_name_to_send,
1143 const std::string &state_value) override;
1144
1145 void add_to_get_queue(NextionComponentBase *component) override;
1146
1147 void add_addt_command_to_queue(NextionComponentBase *component) override;
1148
1149 void update_components_by_prefix(const std::string &prefix);
1150
1163 void set_touch_sleep_timeout(uint32_t touch_sleep_timeout);
1164
1177 void set_wake_up_page(uint8_t wake_up_page = 255);
1178
1191 void set_start_up_page(uint8_t start_up_page = 255) { this->start_up_page_ = start_up_page; }
1192
1205 void set_auto_wake_on_touch(bool auto_wake_on_touch);
1206
1219 void set_exit_reparse_on_start(bool exit_reparse_on_start) { this->exit_reparse_on_start_ = exit_reparse_on_start; }
1220
1234 size_t queue_size() { return this->nextion_queue_.size(); }
1235
1254 bool is_updating() override;
1255
1273 bool is_connected() { return this->is_connected_; }
1274
1275 protected:
1276#ifdef USE_NEXTION_COMMAND_SPACING
1278#endif // USE_NEXTION_COMMAND_SPACING
1279 std::deque<NextionQueue *> nextion_queue_;
1280 std::deque<NextionQueue *> waveform_queue_;
1281 uint16_t recv_ret_string_(std::string &response, uint32_t timeout, bool recv_flag);
1282 void all_components_send_state_(bool force_update = false);
1283 uint64_t comok_sent_ = 0;
1284 bool remove_from_q_(bool report_empty = true);
1285
1290 bool ignore_is_setup_ = false;
1291
1294
1296 void process_serial_();
1297 bool is_updating_ = false;
1299 int16_t wake_up_page_ = -1;
1300 int16_t start_up_page_ = -1;
1304
1309 bool send_command_(const std::string &command);
1310 void add_no_result_to_queue_(const std::string &variable_name);
1311 bool add_no_result_to_queue_with_ignore_sleep_printf_(const std::string &variable_name, const char *format, ...)
1312 __attribute__((format(printf, 3, 4)));
1313 void add_no_result_to_queue_with_command_(const std::string &variable_name, const std::string &command);
1314
1315 bool add_no_result_to_queue_with_printf_(const std::string &variable_name, const char *format, ...)
1316 __attribute__((format(printf, 3, 4)));
1317
1318 void add_no_result_to_queue_with_set_internal_(const std::string &variable_name,
1319 const std::string &variable_name_to_send, int32_t state_value,
1320 bool is_sleep_safe = false);
1321
1322 void add_no_result_to_queue_with_set_internal_(const std::string &variable_name,
1323 const std::string &variable_name_to_send,
1324 const std::string &state_value, bool is_sleep_safe = false);
1325
1327
1328#ifdef USE_NEXTION_TFT_UPLOAD
1329#ifdef USE_ESP8266
1330 WiFiClient *wifi_client_{nullptr};
1331 BearSSL::WiFiClientSecure *wifi_client_secure_{nullptr};
1332 WiFiClient *get_wifi_client_();
1333#endif // USE_ESP8266
1334 std::string tft_url_;
1335 uint32_t content_length_ = 0;
1336 int tft_size_ = 0;
1339
1340#ifdef USE_ARDUINO
1348 int upload_by_chunks_(HTTPClient &http_client, uint32_t &range_start);
1349#elif defined(USE_ESP_IDF)
1357 int upload_by_chunks_(esp_http_client_handle_t http_client, uint32_t &range_start);
1358#endif // USE_ARDUINO vs USE_ESP_IDF
1359
1366 bool upload_end_(bool successful);
1367
1372 uint32_t get_free_heap_();
1373
1374#endif // USE_NEXTION_TFT_UPLOAD
1375
1376 bool check_connect_();
1377
1378 std::vector<NextionComponentBase *> touch_;
1379 std::vector<NextionComponentBase *> switchtype_;
1380 std::vector<NextionComponentBase *> sensortype_;
1381 std::vector<NextionComponentBase *> textsensortype_;
1382 std::vector<NextionComponentBase *> binarysensortype_;
1387 CallbackManager<void(uint8_t, uint8_t, bool)> touch_callback_{};
1389
1392
1393 std::string device_model_;
1395 std::string serial_number_;
1396 std::string flash_size_;
1397
1399
1400#ifdef NEXTION_PROTOCOL_LOG
1401 void print_queue_members_();
1402#endif // NEXTION_PROTOCOL_LOG
1403 void reset_(bool reset_nextion = true);
1404
1405 std::string command_data_;
1406 bool is_connected_ = false;
1407 const uint16_t startup_override_ms_ = 8000;
1408 const uint16_t max_q_age_ms_ = 8000;
1409 uint32_t started_ms_ = 0;
1411};
1412
1413} // namespace nextion
1414} // namespace esphome
This class simplifies creating components that periodically check a state.
Definition component.h:301
void set_spacing(uint8_t spacing_ms)
Set the minimum time between commands.
Definition nextion.h:51
uint8_t get_spacing() const
Get current command spacing.
Definition nextion.h:57
bool can_send() const
Check if enough time has passed to send next command.
Definition nextion.h:63
void mark_sent()
Mark a command as sent, updating the timing.
Definition nextion.h:68
NextionCommandPacer(uint8_t initial_spacing=0)
Creates command pacer with initial spacing.
Definition nextion.h:45
void add_setup_state_callback(std::function< void()> &&callback)
Add a callback to be notified when the nextion completes its initialize setup.
Definition nextion.cpp:196
void set_skip_connection_handshake(bool skip_handshake)
Sets whether the Nextion display should skip the connection handshake process.
Definition nextion.h:918
void set_component_font_color(const char *component, uint16_t color)
Set the font color of a component.
std::vector< NextionComponentBase * > touch_
Definition nextion.h:1378
void open_waveform_channel(uint8_t component_id, uint8_t channel_number, uint8_t value)
std::vector< NextionComponentBase * > switchtype_
Definition nextion.h:1379
void set_component_drag(const char *component, bool drag)
Set the drag availability of a component.
void add_buffer_overflow_event_callback(std::function< void()> &&callback)
Add a callback to be notified when the nextion reports a buffer overflow.
Definition nextion.cpp:208
std::vector< NextionComponentBase * > binarysensortype_
Definition nextion.h:1382
uint32_t get_free_heap_()
Returns the ESP Free Heap memory.
void set_component_foreground_color(const char *component, uint16_t color)
Set the foreground color of a component.
void set_component_font(const char *component, uint8_t font_id) override
Set the font id for a component.
const uint16_t max_q_age_ms_
Definition nextion.h:1408
const uint16_t startup_override_ms_
Definition nextion.h:1407
bool send_command_(const std::string &command)
Manually send a raw command to the display and don't wait for an acknowledgement packet.
Definition nextion.cpp:29
std::vector< NextionComponentBase * > textsensortype_
Definition nextion.h:1381
CallbackManager< void(uint8_t)> page_callback_
Definition nextion.h:1386
void set_component_text_printf(const char *component, const char *format,...) __attribute__((format(printf
Set the text of a component to a formatted string.
void set_brightness(float brightness)
Definition nextion.h:1022
void set_component_text(const char *component, const char *text)
Set the text of a component to a static string.
void set_wake_up_page(uint8_t wake_up_page=255)
Sets which page Nextion loads when exiting sleep mode.
optional< nextion_writer_t > writer_
Definition nextion.h:1390
std::string device_model_
Definition nextion.h:1393
void set_nextion_rtc_time(ESPTime time)
Send the current time to the nextion display.
void all_components_send_state_(bool force_update=false)
Definition nextion.cpp:912
void set_start_up_page(uint8_t start_up_page=255)
Sets which page Nextion loads when connecting to ESPHome.
Definition nextion.h:1191
void set_component_pressed_foreground_color(const char *component, uint16_t color)
Set the pressed foreground color of a component.
std::string firmware_version_
Definition nextion.h:1394
void set_nextion_sensor_state(int queue_type, const std::string &name, float state)
Set the nextion sensor state object.
Definition nextion.cpp:855
void add_addt_command_to_queue(NextionComponentBase *component) override
Add addt command to the queue.
Definition nextion.cpp:1164
void soft_reset()
Softreset the Nextion.
void filled_circle(uint16_t center_x, uint16_t center_y, uint16_t radius, uint16_t color)
Draw a filled circled.
bool ignore_is_setup_
Sends commands ignoring of the Nextion has been setup.
Definition nextion.h:1290
void register_textsensor_component(NextionComponentBase *obj)
Definition nextion.h:1019
void add_new_page_callback(std::function< void(uint8_t)> &&callback)
Add a callback to be notified when the nextion changes pages.
Definition nextion.cpp:200
void circle(uint16_t center_x, uint16_t center_y, uint16_t radius, uint16_t color)
Draw a circle outline.
void enable_component_touch(const char *component)
Enable touch for a component.
void rectangle(uint16_t x1, uint16_t y1, uint16_t width, uint16_t height, uint16_t color)
Draw a rectangle outline.
void add_to_get_queue(NextionComponentBase *component) override
Definition nextion.cpp:1136
void void set_component_value(const char *component, int32_t value)
Set the integer value of a component.
bool send_command_printf(const char *format,...) __attribute__((format(printf
Manually send a raw formatted command to the display.
Definition nextion.cpp:241
void setup() override
Definition nextion.cpp:12
WiFiClient * wifi_client_
Definition nextion.h:1330
void set_component_picture(const char *component, uint8_t picture_id)
Set the picture of an image component.
void set_component_picc(const char *component, uint8_t pic_id)
Set the background picture id of component.
std::deque< NextionQueue * > nextion_queue_
Definition nextion.h:1279
void loop() override
Definition nextion.cpp:282
void set_auto_wake_on_touch(bool auto_wake_on_touch)
Sets if Nextion should auto-wake from sleep when touch press occurs.
bool remove_from_q_(bool report_empty=true)
Definition nextion.cpp:321
bool upload_tft(uint32_t baud_rate=0, bool exit_reparse=true)
Uploads the TFT file to the Nextion display.
bool set_protocol_reparse_mode(bool active_mode)
Sets the Nextion display's protocol reparse mode.
std::vector< NextionComponentBase * > sensortype_
Definition nextion.h:1380
bool upload_end_(bool successful)
Ends the upload process, restart Nextion and, if successful, restarts ESP.
bool void add_no_result_to_queue_with_set_internal_(const std::string &variable_name, const std::string &variable_name_to_send, int32_t state_value, bool is_sleep_safe=false)
Definition nextion.cpp:1098
BearSSL::WiFiClientSecure * wifi_client_secure_
Definition nextion.h:1331
void set_component_coordinates(const char *component, uint16_t x, uint16_t y)
Set the coordinates of a component on screen.
void set_exit_reparse_on_start(bool exit_reparse_on_start)
Sets if Nextion should exit the active reparse mode before the "connect" command is sent.
Definition nextion.h:1219
void sleep(bool sleep)
Sets Nextion mode between sleep and awake.
bool add_no_result_to_queue_with_printf_(const std::string &variable_name, const char *format,...) __attribute__((format(printf
Sends a formatted command to the nextion.
Definition nextion.cpp:1061
CallbackManager< void()> setup_callback_
Definition nextion.h:1383
void hide_component(const char *component) override
Hide a component.
std::string command_data_
Definition nextion.h:1405
void set_component_position(const char *component, uint32_t x, uint32_t y)
Set the position of a component.
optional< float > brightness_
Definition nextion.h:1391
CallbackManager< void()> wake_callback_
Definition nextion.h:1385
void add_sleep_state_callback(std::function< void()> &&callback)
Add a callback to be notified of sleep state changes.
Definition nextion.cpp:188
bool void set_tft_url(const std::string &tft_url)
Set the tft file URL.
Definition nextion.h:1050
void add_waveform_data(uint8_t component_id, uint8_t channel_number, uint8_t value)
Add waveform data to a waveform component.
void disable_component_touch(const char *component)
Disable touch for a component.
bool is_updating() override
Check if the TFT update process is currently running.
Definition nextion.cpp:1201
uint16_t recv_ret_string_(std::string &response, uint32_t timeout, bool recv_flag)
Definition nextion.cpp:951
void set_component_pressed_font_color(const char *component, uint16_t color)
Set the pressed font color of a component.
void register_touch_component(NextionComponentBase *obj)
Definition nextion.h:1015
void goto_page(const char *page)
Show the page with a given name.
void set_touch_sleep_timeout(uint32_t touch_sleep_timeout)
Set the touch sleep timeout of the display.
void set_wait_for_ack(bool wait_for_ack)
void register_switch_component(NextionComponentBase *obj)
Definition nextion.h:1016
size_t queue_size()
Retrieves the number of commands pending in the Nextion command queue.
Definition nextion.h:1234
bool send_command(const char *command)
Manually send a raw command to the display.
Definition nextion.cpp:230
std::string serial_number_
Definition nextion.h:1395
void set_component_pic(const char *component, uint8_t pic_id)
Set the picture id of a component.
CallbackManager< void()> sleep_callback_
Definition nextion.h:1384
void set_component_pressed_background_color(const char *component, uint16_t color)
Set the pressed background color of a component.
float get_setup_priority() const override
Definition nextion.cpp:178
void set_component_vid(const char *component, uint8_t vid_id)
Set the video id of a component.
bool void add_no_result_to_queue_with_command_(const std::string &variable_name, const std::string &command)
Definition nextion.cpp:1026
void set_component_background_color(const char *component, uint16_t color)
Set the background color of a component.
bool is_connected()
Check if the Nextion display is successfully connected.
Definition nextion.h:1273
void reset_(bool reset_nextion=true)
Definition nextion.cpp:138
void line(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color)
Draw a line on the screen.
void add_no_result_to_queue_(const std::string &variable_name)
Definition nextion.cpp:1005
CallbackManager< void(uint8_t, uint8_t, bool)> touch_callback_
Definition nextion.h:1387
void register_binarysensor_component(NextionComponentBase *obj)
Definition nextion.h:1017
void dump_config() override
Definition nextion.cpp:148
void set_command_spacing(uint32_t spacing_ms)
Set the command spacing for the display.
Definition nextion.h:83
NextionCommandPacer command_pacer_
Definition nextion.h:1277
void fill_area(uint16_t x1, uint16_t y1, uint16_t width, uint16_t height, uint16_t color)
Fill a rectangle with a color.
void set_nextion_text_state(const std::string &name, const std::string &state)
Definition nextion.cpp:899
std::deque< NextionQueue * > waveform_queue_
Definition nextion.h:1280
bool add_no_result_to_queue_with_ignore_sleep_printf_(const std::string &variable_name, const char *format,...) __attribute__((format(printf
Definition nextion.cpp:1035
void update() override
Definition nextion.cpp:179
void display_picture(uint16_t picture_id, uint16_t x_start, uint16_t y_start)
Display a picture at coordinates.
void add_wake_state_callback(std::function< void()> &&callback)
Add a callback to be notified of wake state changes.
Definition nextion.cpp:192
CallbackManager< void()> buffer_overflow_callback_
Definition nextion.h:1388
void show_component(const char *component) override
Show a component.
void qrcode(uint16_t x1, uint16_t y1, const char *content, uint16_t size=200, uint16_t background_color=65535, uint16_t foreground_color=0, uint8_t logo_pic=-1, uint8_t border_width=8)
Draws a QR code in the screen.
void set_writer(const nextion_writer_t &writer)
Definition nextion.cpp:1196
int upload_by_chunks_(HTTPClient &http_client, uint32_t &range_start)
will request chunk_size chunks from the web server and send each to the nextion
void register_sensor_component(NextionComponentBase *obj)
Definition nextion.h:1018
void add_no_result_to_queue_with_set(NextionComponentBase *component, int32_t state_value) override
Definition nextion.cpp:1088
void add_touch_event_callback(std::function< void(uint8_t, uint8_t, bool)> &&callback)
Add a callback to be notified when Nextion has a touch event.
Definition nextion.cpp:204
void set_component_aph(const char *component, uint8_t aph)
Set the opaqueness (fading) of a component.
void update_components_by_prefix(const std::string &prefix)
Definition nextion.cpp:932
void set_backlight_brightness(float brightness)
Set the brightness of the backlight.
struct @67::@68 __attribute__
bool state
Definition fan.h:0
bool active_mode
std::function< void(Nextion &)> nextion_writer_t
Definition nextion.h:34
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7
uint32_t IRAM_ATTR HOT millis()
Definition core.cpp:27
A more user-friendly version of struct tm from time.h.
Definition time.h:15
uint16_t x
Definition tt21100.cpp:5
uint16_t y
Definition tt21100.cpp:6