ESPHome 2026.6.0-dev
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::haier {
8
9template<typename... Ts> class DisplayOnAction : public Action<Ts...> {
10 public:
12 void play(const Ts &...x) { this->parent_->set_display_state(true); }
13
14 protected:
16};
17
18template<typename... Ts> class DisplayOffAction : public Action<Ts...> {
19 public:
21 void play(const Ts &...x) { this->parent_->set_display_state(false); }
22
23 protected:
25};
26
27template<typename... Ts> class BeeperOnAction : public Action<Ts...> {
28 public:
29 BeeperOnAction(HonClimate *parent) : parent_(parent) {}
30 void play(const Ts &...x) { this->parent_->set_beeper_state(true); }
31
32 protected:
34};
35
36template<typename... Ts> class BeeperOffAction : public Action<Ts...> {
37 public:
38 BeeperOffAction(HonClimate *parent) : parent_(parent) {}
39 void play(const Ts &...x) { this->parent_->set_beeper_state(false); }
40
41 protected:
43};
44
45template<typename... Ts> class VerticalAirflowAction : public Action<Ts...> {
46 public:
49 void play(const Ts &...x) { this->parent_->set_vertical_airflow(this->direction_.value(x...)); }
50
51 protected:
53};
54
55template<typename... Ts> class HorizontalAirflowAction : public Action<Ts...> {
56 public:
59 void play(const Ts &...x) { this->parent_->set_horizontal_airflow(this->direction_.value(x...)); }
60
61 protected:
63};
64
65template<typename... Ts> class HealthOnAction : public Action<Ts...> {
66 public:
68 void play(const Ts &...x) { this->parent_->set_health_mode(true); }
69
70 protected:
72};
73
74template<typename... Ts> class HealthOffAction : public Action<Ts...> {
75 public:
77 void play(const Ts &...x) { this->parent_->set_health_mode(false); }
78
79 protected:
81};
82
83template<typename... Ts> class StartSelfCleaningAction : public Action<Ts...> {
84 public:
86 void play(const Ts &...x) { this->parent_->start_self_cleaning(); }
87
88 protected:
90};
91
92template<typename... Ts> class StartSteriCleaningAction : public Action<Ts...> {
93 public:
95 void play(const Ts &...x) { this->parent_->start_steri_cleaning(); }
96
97 protected:
99};
100
101template<typename... Ts> class PowerOnAction : public Action<Ts...> {
102 public:
104 void play(const Ts &...x) { this->parent_->send_power_on_command(); }
105
106 protected:
108};
109
110template<typename... Ts> class PowerOffAction : public Action<Ts...> {
111 public:
113 void play(const Ts &...x) { this->parent_->send_power_off_command(); }
114
115 protected:
117};
118
119template<typename... Ts> class PowerToggleAction : public Action<Ts...> {
120 public:
122 void play(const Ts &...x) { this->parent_->toggle_power(); }
123
124 protected:
126};
127
128} // namespace esphome::haier
virtual void play(const Ts &...x)=0
void play(const Ts &...x)
Definition automation.h:39
BeeperOffAction(HonClimate *parent)
Definition automation.h:38
void play(const Ts &...x)
Definition automation.h:30
BeeperOnAction(HonClimate *parent)
Definition automation.h:29
void play(const Ts &...x)
Definition automation.h:21
DisplayOffAction(HaierClimateBase *parent)
Definition automation.h:20
void play(const Ts &...x)
Definition automation.h:12
HaierClimateBase * parent_
Definition automation.h:15
DisplayOnAction(HaierClimateBase *parent)
Definition automation.h:11
void play(const Ts &...x)
Definition automation.h:77
HaierClimateBase * parent_
Definition automation.h:80
HealthOffAction(HaierClimateBase *parent)
Definition automation.h:76
HealthOnAction(HaierClimateBase *parent)
Definition automation.h:67
void play(const Ts &...x)
Definition automation.h:68
HaierClimateBase * parent_
Definition automation.h:71
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:57
TEMPLATABLE_VALUE(hon_protocol::HorizontalSwingMode, direction) void play(const Ts &...x)
Definition automation.h:58
void play(const Ts &...x)
Definition automation.h:113
PowerOffAction(HaierClimateBase *parent)
Definition automation.h:112
HaierClimateBase * parent_
Definition automation.h:116
PowerOnAction(HaierClimateBase *parent)
Definition automation.h:103
void play(const Ts &...x)
Definition automation.h:104
HaierClimateBase * parent_
Definition automation.h:107
PowerToggleAction(HaierClimateBase *parent)
Definition automation.h:121
StartSelfCleaningAction(HonClimate *parent)
Definition automation.h:85
StartSteriCleaningAction(HonClimate *parent)
Definition automation.h:94
TEMPLATABLE_VALUE(hon_protocol::VerticalSwingMode, direction) void play(const Ts &...x)
Definition automation.h:48
VerticalAirflowAction(HonClimate *parent)
Definition automation.h:47
FanDirection direction
Definition fan.h:5
uint16_t x
Definition tt21100.cpp:5