ESPHome 2026.5.0-dev
Loading...
Searching...
No Matches
automation.h
Go to the documentation of this file.
1#pragma once
2
5
6#include "nextion.h"
7
8namespace esphome::nextion {
9
10template<typename... Ts> class NextionSetBrightnessAction : public Action<Ts...> {
11 public:
13
14 TEMPLATABLE_VALUE(float, brightness)
15
16 void play(const Ts &...x) override {
17 this->component_->set_brightness(this->brightness_.value(x...));
18 this->component_->set_backlight_brightness(this->brightness_.value(x...));
19 }
20
21 void set_brightness(std::function<void(Ts..., float)> brightness) { this->brightness_ = brightness; }
22
23 protected:
25};
26
27template<typename... Ts> class NextionPublishFloatAction : public Action<Ts...> {
28 public:
30
32 TEMPLATABLE_VALUE(bool, publish_state)
33 TEMPLATABLE_VALUE(bool, send_to_nextion)
34
35 void play(const Ts &...x) override {
36 this->component_->set_state(this->state_.value(x...), this->publish_state_.value(x...),
37 this->send_to_nextion_.value(x...));
38 }
39
40 void set_state(std::function<void(Ts..., float)> state) { this->state_ = state; }
41 void set_publish_state(std::function<void(Ts..., bool)> publish_state) { this->publish_state_ = publish_state; }
42 void set_send_to_nextion(std::function<void(Ts..., bool)> send_to_nextion) {
43 this->send_to_nextion_ = send_to_nextion;
44 }
45
46 protected:
48};
49
50template<typename... Ts> class NextionPublishTextAction : public Action<Ts...> {
51 public:
53
54 TEMPLATABLE_VALUE(const char *, state)
55 TEMPLATABLE_VALUE(bool, publish_state)
56 TEMPLATABLE_VALUE(bool, send_to_nextion)
57
58 void play(const Ts &...x) override {
59 this->component_->set_state(this->state_.value(x...), this->publish_state_.value(x...),
60 this->send_to_nextion_.value(x...));
61 }
62
63 void set_state(std::function<void(Ts..., const char *)> state) { this->state_ = state; }
64 void set_publish_state(std::function<void(Ts..., bool)> publish_state) { this->publish_state_ = publish_state; }
65 void set_send_to_nextion(std::function<void(Ts..., bool)> send_to_nextion) {
66 this->send_to_nextion_ = send_to_nextion;
67 }
68
69 protected:
71};
72
73template<typename... Ts> class NextionPublishBoolAction : public Action<Ts...> {
74 public:
76
78 TEMPLATABLE_VALUE(bool, publish_state)
79 TEMPLATABLE_VALUE(bool, send_to_nextion)
80
81 void play(const Ts &...x) override {
82 this->component_->set_state(this->state_.value(x...), this->publish_state_.value(x...),
83 this->send_to_nextion_.value(x...));
84 }
85
86 void set_state(std::function<void(Ts..., bool)> state) { this->state_ = state; }
87 void set_publish_state(std::function<void(Ts..., bool)> publish_state) { this->publish_state_ = publish_state; }
88 void set_send_to_nextion(std::function<void(Ts..., bool)> send_to_nextion) {
89 this->send_to_nextion_ = send_to_nextion;
90 }
91
92 protected:
94};
95
96} // namespace esphome::nextion
virtual void play(const Ts &...x)=0
void set_brightness(float brightness)
Definition nextion.h:1059
void set_backlight_brightness(float brightness)
Set the brightness of the backlight.
void set_publish_state(std::function< void(Ts..., bool)> publish_state)
Definition automation.h:87
NextionPublishBoolAction(NextionComponent *component)
Definition automation.h:75
TEMPLATABLE_VALUE(bool, state) TEMPLATABLE_VALUE(bool
void set_send_to_nextion(std::function< void(Ts..., bool)> send_to_nextion)
Definition automation.h:88
void set_state(std::function< void(Ts..., bool)> state)
Definition automation.h:86
void set_send_to_nextion(std::function< void(Ts..., bool)> send_to_nextion)
Definition automation.h:42
NextionPublishFloatAction(NextionComponent *component)
Definition automation.h:29
void set_publish_state(std::function< void(Ts..., bool)> publish_state)
Definition automation.h:41
TEMPLATABLE_VALUE(float, state) TEMPLATABLE_VALUE(bool
void set_state(std::function< void(Ts..., float)> state)
Definition automation.h:40
void set_publish_state(std::function< void(Ts..., bool)> publish_state)
Definition automation.h:64
TEMPLATABLE_VALUE(const char *, state) TEMPLATABLE_VALUE(bool
void set_send_to_nextion(std::function< void(Ts..., bool)> send_to_nextion)
Definition automation.h:65
NextionPublishTextAction(NextionComponent *component)
Definition automation.h:52
void set_state(std::function< void(Ts..., const char *)> state)
Definition automation.h:63
void set_brightness(std::function< void(Ts..., float)> brightness)
Definition automation.h:21
TEMPLATABLE_VALUE(float, brightness) void play(const Ts &...x) override
Definition automation.h:14
const Component * component
Definition component.cpp:34
bool state
Definition fan.h:2
uint16_t x
Definition tt21100.cpp:5