ESPHome 2025.5.0
Loading...
Searching...
No Matches
automation.h
Go to the documentation of this file.
1#pragma once
2
6
7namespace esphome {
8namespace pn7150 {
9
11 public:
13 parent->add_on_emulated_tag_scan_callback([this]() { this->trigger(); });
14 }
15};
16
18 public:
20 parent->add_on_finished_write_callback([this]() { this->trigger(); });
21 }
22};
23
24template<typename... Ts> class PN7150IsWritingCondition : public Condition<Ts...>, public Parented<PN7150> {
25 public:
26 bool check(Ts... x) override { return this->parent_->is_writing(); }
27};
28
29template<typename... Ts> class EmulationOffAction : public Action<Ts...>, public Parented<PN7150> {
30 void play(Ts... x) override { this->parent_->set_tag_emulation_off(); }
31};
32
33template<typename... Ts> class EmulationOnAction : public Action<Ts...>, public Parented<PN7150> {
34 void play(Ts... x) override { this->parent_->set_tag_emulation_on(); }
35};
36
37template<typename... Ts> class PollingOffAction : public Action<Ts...>, public Parented<PN7150> {
38 void play(Ts... x) override { this->parent_->set_polling_off(); }
39};
40
41template<typename... Ts> class PollingOnAction : public Action<Ts...>, public Parented<PN7150> {
42 void play(Ts... x) override { this->parent_->set_polling_on(); }
43};
44
45template<typename... Ts> class SetCleanModeAction : public Action<Ts...>, public Parented<PN7150> {
46 void play(Ts... x) override { this->parent_->clean_mode(); }
47};
48
49template<typename... Ts> class SetFormatModeAction : public Action<Ts...>, public Parented<PN7150> {
50 void play(Ts... x) override { this->parent_->format_mode(); }
51};
52
53template<typename... Ts> class SetReadModeAction : public Action<Ts...>, public Parented<PN7150> {
54 void play(Ts... x) override { this->parent_->read_mode(); }
55};
56
57template<typename... Ts> class SetEmulationMessageAction : public Action<Ts...>, public Parented<PN7150> {
58 TEMPLATABLE_VALUE(std::string, message)
59 TEMPLATABLE_VALUE(bool, include_android_app_record)
60
61 void play(Ts... x) override {
62 this->parent_->set_tag_emulation_message(this->message_.optional_value(x...),
63 this->include_android_app_record_.optional_value(x...));
64 }
65};
66
67template<typename... Ts> class SetWriteMessageAction : public Action<Ts...>, public Parented<PN7150> {
68 TEMPLATABLE_VALUE(std::string, message)
69 TEMPLATABLE_VALUE(bool, include_android_app_record)
70
71 void play(Ts... x) override {
72 this->parent_->set_tag_write_message(this->message_.optional_value(x...),
73 this->include_android_app_record_.optional_value(x...));
74 }
75};
76
77template<typename... Ts> class SetWriteModeAction : public Action<Ts...>, public Parented<PN7150> {
78 void play(Ts... x) override { this->parent_->write_mode(); }
79};
80
81} // namespace pn7150
82} // namespace esphome
Base class for all automation conditions.
Definition automation.h:75
Helper class to easily give an object a parent of type T.
Definition helpers.h:538
void trigger(Ts... x)
Definition automation.h:96
void add_on_emulated_tag_scan_callback(std::function< void()> callback)
Definition pn7150.h:170
void add_on_finished_write_callback(std::function< void()> callback)
Definition pn7150.h:174
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7
uint16_t x
Definition tt21100.cpp:5