ESPHome 2025.5.0
Loading...
Searching...
No Matches
automation.h
Go to the documentation of this file.
1#pragma once
2
4#include "haier_base.h"
5#include "hon_climate.h"
6
7namespace esphome {
8namespace haier {
9
10template<typename... Ts> class DisplayOnAction : public Action<Ts...> {
11 public:
13 void play(Ts... x) { this->parent_->set_display_state(true); }
14
15 protected:
17};
18
19template<typename... Ts> class DisplayOffAction : public Action<Ts...> {
20 public:
22 void play(Ts... x) { this->parent_->set_display_state(false); }
23
24 protected:
26};
27
28template<typename... Ts> class BeeperOnAction : public Action<Ts...> {
29 public:
30 BeeperOnAction(HonClimate *parent) : parent_(parent) {}
31 void play(Ts... x) { this->parent_->set_beeper_state(true); }
32
33 protected:
35};
36
37template<typename... Ts> class BeeperOffAction : public Action<Ts...> {
38 public:
39 BeeperOffAction(HonClimate *parent) : parent_(parent) {}
40 void play(Ts... x) { this->parent_->set_beeper_state(false); }
41
42 protected:
44};
45
46template<typename... Ts> class VerticalAirflowAction : public Action<Ts...> {
47 public:
50 void play(Ts... x) { this->parent_->set_vertical_airflow(this->direction_.value(x...)); }
51
52 protected:
54};
55
56template<typename... Ts> class HorizontalAirflowAction : public Action<Ts...> {
57 public:
60 void play(Ts... x) { this->parent_->set_horizontal_airflow(this->direction_.value(x...)); }
61
62 protected:
64};
65
66template<typename... Ts> class HealthOnAction : public Action<Ts...> {
67 public:
69 void play(Ts... x) { this->parent_->set_health_mode(true); }
70
71 protected:
73};
74
75template<typename... Ts> class HealthOffAction : public Action<Ts...> {
76 public:
78 void play(Ts... x) { this->parent_->set_health_mode(false); }
79
80 protected:
82};
83
84template<typename... Ts> class StartSelfCleaningAction : public Action<Ts...> {
85 public:
87 void play(Ts... x) { this->parent_->start_self_cleaning(); }
88
89 protected:
91};
92
93template<typename... Ts> class StartSteriCleaningAction : public Action<Ts...> {
94 public:
96 void play(Ts... x) { this->parent_->start_steri_cleaning(); }
97
98 protected:
100};
101
102template<typename... Ts> class PowerOnAction : public Action<Ts...> {
103 public:
105 void play(Ts... x) { this->parent_->send_power_on_command(); }
106
107 protected:
109};
110
111template<typename... Ts> class PowerOffAction : public Action<Ts...> {
112 public:
114 void play(Ts... x) { this->parent_->send_power_off_command(); }
115
116 protected:
118};
119
120template<typename... Ts> class PowerToggleAction : public Action<Ts...> {
121 public:
123 void play(Ts... x) { this->parent_->toggle_power(); }
124
125 protected:
127};
128
129} // namespace haier
130} // namespace esphome
virtual void play(Ts... x)=0
BeeperOffAction(HonClimate *parent)
Definition automation.h:39
BeeperOnAction(HonClimate *parent)
Definition automation.h:30
DisplayOffAction(HaierClimateBase *parent)
Definition automation.h:21
HaierClimateBase * parent_
Definition automation.h:16
DisplayOnAction(HaierClimateBase *parent)
Definition automation.h:12
HaierClimateBase * parent_
Definition automation.h:81
HealthOffAction(HaierClimateBase *parent)
Definition automation.h:77
HealthOnAction(HaierClimateBase *parent)
Definition automation.h:68
HaierClimateBase * parent_
Definition automation.h:72
void set_beeper_state(bool state)
void set_horizontal_airflow(hon_protocol::HorizontalSwingMode direction)
void set_vertical_airflow(hon_protocol::VerticalSwingMode direction)
HorizontalAirflowAction(HonClimate *parent)
Definition automation.h:58
TEMPLATABLE_VALUE(hon_protocol::HorizontalSwingMode, direction) void play(Ts... x)
Definition automation.h:59
PowerOffAction(HaierClimateBase *parent)
Definition automation.h:113
HaierClimateBase * parent_
Definition automation.h:117
PowerOnAction(HaierClimateBase *parent)
Definition automation.h:104
HaierClimateBase * parent_
Definition automation.h:108
PowerToggleAction(HaierClimateBase *parent)
Definition automation.h:122
StartSelfCleaningAction(HonClimate *parent)
Definition automation.h:86
StartSteriCleaningAction(HonClimate *parent)
Definition automation.h:95
VerticalAirflowAction(HonClimate *parent)
Definition automation.h:48
TEMPLATABLE_VALUE(hon_protocol::VerticalSwingMode, direction) void play(Ts... x)
Definition automation.h:49
FanDirection direction
Definition fan.h:3
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7
uint16_t x
Definition tt21100.cpp:5