Go to the documentation of this file.
28 #include "IRsend_test.h"
108 #define HAIER_AC_MIN_TEMP kHaierAcMinTemp
109 #define HAIER_AC_DEF_TEMP kHaierAcDefTemp
110 #define HAIER_AC_MAX_TEMP kHaierAcMaxTemp
111 #define HAIER_AC_CMD_OFF kHaierAcCmdOff
112 #define HAIER_AC_CMD_ON kHaierAcCmdOn
113 #define HAIER_AC_CMD_MODE kHaierAcCmdMode
114 #define HAIER_AC_CMD_FAN kHaierAcCmdFan
115 #define HAIER_AC_CMD_TEMP_UP kHaierAcCmdTempUp
116 #define HAIER_AC_CMD_TEMP_DOWN kHaierAcCmdTempDown
117 #define HAIER_AC_CMD_SLEEP kHaierAcCmdSleep
118 #define HAIER_AC_CMD_TIMER_SET kHaierAcCmdTimerSet
119 #define HAIER_AC_CMD_TIMER_CANCEL kHaierAcCmdTimerCancel
120 #define HAIER_AC_CMD_HEALTH kHaierAcCmdHealth
121 #define HAIER_AC_CMD_SWING kHaierAcCmdSwing
122 #define HAIER_AC_SWING_OFF kHaierAcSwingOff
123 #define HAIER_AC_SWING_UP kHaierAcSwingUp
124 #define HAIER_AC_SWING_DOWN kHaierAcSwingDown
125 #define HAIER_AC_SWING_CHG kHaierAcSwingChg
126 #define HAIER_AC_AUTO kHaierAcAuto
127 #define HAIER_AC_COOL kHaierAcCool
128 #define HAIER_AC_DRY kHaierAcDry
129 #define HAIER_AC_HEAT kHaierAcHeat
130 #define HAIER_AC_FAN kHaierAcFan
131 #define HAIER_AC_FAN_AUTO kHaierAcFanAuto
132 #define HAIER_AC_FAN_LOW kHaierAcFanLow
133 #define HAIER_AC_FAN_MED kHaierAcFanMed
134 #define HAIER_AC_FAN_HIGH kHaierAcFanHigh
287 #define HAIER_AC_YRW02_SWING_OFF kHaierAcYrw02SwingOff
288 #define HAIER_AC_YRW02_SWING_TOP kHaierAcYrw02SwingTop
289 #define HAIER_AC_YRW02_SWING_MIDDLE kHaierAcYrw02SwingMiddle
290 #define HAIER_AC_YRW02_SWING_BOTTOM kHaierAcYrw02SwingBottom
291 #define HAIER_AC_YRW02_SWING_DOWN kHaierAcYrw02SwingDown
292 #define HAIER_AC_YRW02_SWING_AUTO kHaierAcYrw02SwingAuto
293 #define HAIER_AC_YRW02_FAN_HIGH kHaierAcYrw02FanHigh
294 #define HAIER_AC_YRW02_FAN_MED kHaierAcYrw02FanMed
295 #define HAIER_AC_YRW02_FAN_LOW kHaierAcYrw02FanLow
296 #define HAIER_AC_YRW02_FAN_AUTO kHaierAcYrw02FanAuto
297 #define HAIER_AC_YRW02_TURBO_OFF kHaierAcYrw02TurboOff
298 #define HAIER_AC_YRW02_TURBO_HIGH kHaierAcYrw02TurboHigh
299 #define HAIER_AC_YRW02_TURBO_LOW kHaierAcYrw02TurboLow
300 #define HAIER_AC_YRW02_AUTO kHaierAcYrw02Auto
301 #define HAIER_AC_YRW02_COOL kHaierAcYrw02Cool
302 #define HAIER_AC_YRW02_DRY kHaierAcYrw02Dry
303 #define HAIER_AC_YRW02_HEAT kHaierAcYrw02Heat
304 #define HAIER_AC_YRW02_FAN kHaierAcYrw02Fan
305 #define HAIER_AC_YRW02_BUTTON_TEMP_UP kHaierAcYrw02ButtonTempUp
306 #define HAIER_AC_YRW02_BUTTON_TEMP_DOWN kHaierAcYrw02ButtonTempDown
307 #define HAIER_AC_YRW02_BUTTON_SWING kHaierAcYrw02ButtonSwing
308 #define HAIER_AC_YRW02_BUTTON_FAN kHaierAcYrw02ButtonFan
309 #define HAIER_AC_YRW02_BUTTON_POWER kHaierAcYrw02ButtonPower
310 #define HAIER_AC_YRW02_BUTTON_MODE kHaierAcYrw02ButtonMode
311 #define HAIER_AC_YRW02_BUTTON_HEALTH kHaierAcYrw02ButtonHealth
312 #define HAIER_AC_YRW02_BUTTON_TURBO kHaierAcYrw02ButtonTurbo
313 #define HAIER_AC_YRW02_BUTTON_SLEEP kHaierAcYrw02ButtonSleep
319 explicit IRHaierAC(
const uint16_t pin,
const bool inverted =
false,
320 const bool use_modulation =
true);
328 #endif // SEND_HAIER_AC
335 void setTemp(
const uint8_t temp);
338 void setFan(
const uint8_t speed);
339 uint8_t
getFan(
void)
const;
342 void setMode(
const uint8_t mode);
362 void setRaw(
const uint8_t new_code[]);
390 explicit IRHaierAC176(
const uint16_t pin,
const bool inverted =
false,
391 const bool use_modulation =
true);
399 #endif // SEND_HAIER_AC176
406 void setTemp(
const uint8_t temp);
409 void setFan(
const uint8_t speed);
410 uint8_t
getFan(
void)
const;
413 void setMode(
const uint8_t mode);
439 virtual void setRaw(
const uint8_t new_code[]);
466 explicit IRHaierACYRW02(
const uint16_t pin,
const bool inverted =
false,
467 const bool use_modulation =
true);
468 #if SEND_HAIER_AC_YRW02
475 #endif // SEND_HAIER_AC_YRW02
476 void setRaw(
const uint8_t new_code[])
override;
478 const uint8_t state[],
481 #endif // IR_HAIER_H_
const uint8_t kHaierAcCmdFan
Definition: ir_Haier.h:78
void setButton(const uint8_t button)
Set the Button/Command setting of the A/C.
Definition: ir_Haier.cpp:608
const uint8_t kHaierAcFanHigh
Definition: ir_Haier.h:101
const uint16_t kHaierAcYrw02DefaultRepeat
Definition: IRremoteESP8266.h:1046
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Haier.cpp:546
int16_t getOffTimer(void) const
Get the Off Timer value/setting of the A/C.
Definition: ir_Haier.cpp:281
Native representation of a Haier YRW02 A/C message.
Definition: ir_Haier.h:137
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Haier.cpp:215
uint16_t getOffTimer(void) const
Get the number of minutes of the Off Timer setting.
Definition: ir_Haier.cpp:866
const uint8_t kHaierAcYrw02Fan
Definition: ir_Haier.h:204
uint8_t Sleep
Definition: ir_Haier.h:254
const uint16_t kHaierAcDefaultRepeat
Definition: IRremoteESP8266.h:1043
uint8_t raw[kHaierAC176StateLength]
The state in native form.
Definition: ir_Haier.h:224
const uint8_t kHaierAcYrw02FanMed
Definition: ir_Haier.h:192
const uint8_t kHaierAcSwingChg
Definition: ir_Haier.h:90
void setSwing(const uint8_t state)
Set the Vertical Swing mode of the A/C.
Definition: ir_Haier.cpp:332
uint8_t Temp
Definition: ir_Haier.h:144
const uint8_t kHaierAcAuto
Definition: ir_Haier.h:92
const uint8_t kHaierAcYrw02ButtonTurbo
Definition: ir_Haier.h:213
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Haier.h:474
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:70
static bool validChecksum(const uint8_t state[], const uint16_t length=kHaierAC176StateLength)
Verify the checksum is valid for a given state.
Definition: ir_Haier.cpp:567
const uint8_t kHaierAcYrw02OnTimer
Definition: ir_Haier.h:218
const uint8_t kHaierAcYrw02OffThenOnTimer
Definition: ir_Haier.h:220
const uint16_t kHaierACStateLength
Definition: IRremoteESP8266.h:1041
static bool validChecksum(const uint8_t state[], const uint16_t length=kHaierACYRW02StateLength)
Verify the checksum is valid for a given state.
Definition: ir_Haier.cpp:1132
const uint8_t kHaierAcCmdTempDown
Definition: ir_Haier.h:80
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Haier.cpp:147
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Haier.cpp:128
uint8_t Swing
Definition: ir_Haier.h:44
const uint8_t kHaierAcCmdMode
Definition: ir_Haier.h:77
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
const uint8_t kHaierAcYrw02ButtonHealth
Definition: ir_Haier.h:212
uint16_t getCurrTime(void) const
Get the clock value of the A/C.
Definition: ir_Haier.cpp:291
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Haier.cpp:178
uint8_t Fan
Definition: ir_Haier.h:244
void on(void)
Change the power setting to On.
Definition: ir_Haier.cpp:702
uint8_t Mode
Definition: ir_Haier.h:250
const uint8_t kHaierAcCmdSleep
Definition: ir_Haier.h:81
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Haier.cpp:631
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Haier.cpp:361
uint8_t OffTimerHrs
Definition: ir_Haier.h:243
const uint16_t kHaierAC176StateLength
Definition: IRremoteESP8266.h:1047
uint8_t Prefix
Definition: ir_Haier.h:37
uint16_t getOnTimer(void) const
Get the number of minutes of the On Timer setting.
Definition: ir_Haier.cpp:836
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Haier.cpp:239
uint8_t Temp
Definition: ir_Haier.h:40
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Haier.cpp:194
uint8_t OnTimer
Definition: ir_Haier.h:48
const uint8_t kHaierAcYrw02Auto
Definition: ir_Haier.h:200
HaierAc176Protocol _
Definition: ir_Haier.h:459
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Haier.cpp:140
const uint8_t kHaierAcCmdSwing
Definition: ir_Haier.h:85
const uint8_t kHaierAcYrw02Prefix
Definition: ir_Haier.h:181
void off(void)
Change the power setting to Off.
Definition: ir_Haier.cpp:705
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Haier.cpp:595
void setTimerMode(const uint8_t setting)
Set the Timer operating mode.
Definition: ir_Haier.cpp:789
void setSleep(const bool on)
Set the Sleep setting of the A/C.
Definition: ir_Haier.cpp:715
void setSleep(const bool on)
Set the Sleep setting of the A/C.
Definition: ir_Haier.cpp:258
const uint8_t kHaierAcYrw02SwingTop
Definition: ir_Haier.h:185
uint8_t Power
Definition: ir_Haier.h:240
uint8_t CurrMins
Definition: ir_Haier.h:46
uint8_t Prefix2
Definition: ir_Haier.h:267
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Haier.cpp:653
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Haier.h:398
uint8_t raw[kHaierACYRW02StateLength]
The state in native form.
Definition: ir_Haier.h:138
uint8_t Mode
Definition: ir_Haier.h:58
uint8_t Power
Definition: ir_Haier.h:153
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Haier.cpp:979
static stdAc::swingv_t toCommonSwingV(const uint8_t pos)
Convert a stdAc::swingv_t enum into it's native setting.
Definition: ir_Haier.cpp:940
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Haier.cpp:453
const uint8_t kHaierAcCmdTimerSet
Definition: ir_Haier.h:82
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Haier.cpp:205
const uint8_t kHaierAcCmdTempUp
Definition: ir_Haier.h:79
void cancelTimers(void)
Cancel/disable the On & Off timers.
Definition: ir_Haier.cpp:312
Class for sending all basic IR protocols.
Definition: IRsend.h:190
uint8_t getTurbo(void) const
Get the Turbo setting of the A/C.
Definition: ir_Haier.cpp:722
bool getSleep(void) const
Get the Sleep setting of the A/C.
Definition: ir_Haier.cpp:709
IRsend _irsend
Instance of the IR send class.
Definition: ir_Haier.h:376
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Haier.cpp:348
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Haier.cpp:557
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Haier.cpp:690
const uint8_t kHaierAcFanLow
Definition: ir_Haier.h:99
const uint8_t kHaierAcYrw02OffTimer
Definition: ir_Haier.h:217
std::string String
Definition: IRremoteESP8266.h:1279
bool getHealth(void) const
Get the Health (filter) setting of the A/C.
Definition: ir_Haier.cpp:252
const uint8_t kHaierAcYrw02ButtonSleep
Definition: ir_Haier.h:214
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Haier.cpp:748
const uint8_t kHaierAcPrefix
Definition: ir_Haier.h:70
virtual void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Haier.cpp:602
const uint16_t kHaierACYRW02StateLength
Definition: IRremoteESP8266.h:1044
uint8_t Prefix
Definition: ir_Haier.h:141
Native representation of a Haier 176 bit A/C message.
Definition: ir_Haier.h:223
void setOnTimer(const uint16_t mins)
Set & enable the On Timer.
Definition: ir_Haier.cpp:295
void setPower(const bool on)
Change the power setting.
Definition: ir_Haier.cpp:696
uint8_t Sleep
Definition: ir_Haier.h:166
void send(const uint16_t repeat=kHaierAcYrw02DefaultRepeat) override
Send the current internal state as an IR message.
Definition: ir_Haier.cpp:1117
const uint8_t kHaierAcSwingOff
Definition: ir_Haier.h:87
const uint8_t kHaierAcSwingDown
Definition: ir_Haier.h:89
uint8_t Fan2
Definition: ir_Haier.h:272
bool getHealth(void) const
Get the Health (filter) setting of the A/C.
Definition: ir_Haier.cpp:684
const uint8_t kHaierAcYrw02FanHigh
Definition: ir_Haier.h:191
const uint8_t kHaierAcFan
Definition: ir_Haier.h:96
const uint8_t kHaierAcYrw02FanLow
Definition: ir_Haier.h:193
uint8_t Fan
Definition: ir_Haier.h:55
const uint8_t kHaierAcYrw02SwingAuto
Definition: ir_Haier.h:189
void setHealth(const bool on)
Set the Health (filter) setting of the A/C.
Definition: ir_Haier.cpp:677
const uint8_t kHaierAcCool
Definition: ir_Haier.h:93
uint8_t Turbo
Definition: ir_Haier.h:160
const uint8_t kHaierAcDefTemp
Definition: ir_Haier.h:73
uint8_t Mode
Definition: ir_Haier.h:163
uint8_t Button
Definition: ir_Haier.h:262
const uint8_t kHaierAcYrw02SwingOff
Definition: ir_Haier.h:184
static uint8_t convertSwingV(const stdAc::swingv_t position)
Convert a stdAc::swingv_t enum into it's native setting.
Definition: ir_Haier.cpp:375
bool getSleep(void) const
Get the Sleep setting of the A/C.
Definition: ir_Haier.cpp:265
void setHealth(const bool on)
Set the Health (filter) setting of the A/C.
Definition: ir_Haier.cpp:245
const uint8_t kHaierAcYrw02ButtonTempUp
Definition: ir_Haier.h:206
uint8_t Temp
Definition: ir_Haier.h:230
uint8_t Swing
Definition: ir_Haier.h:143
const uint8_t kHaierAcMinTemp
Definition: ir_Haier.h:72
const uint8_t kHaierAcYrw02SwingDown
Definition: ir_Haier.h:188
static bool validChecksum(uint8_t state[], const uint16_t length=kHaierACStateLength)
Verify the checksum is valid for a given state.
Definition: ir_Haier.cpp:122
uint8_t getSwing(void) const
Get the Vertical Swing position setting of the A/C.
Definition: ir_Haier.cpp:326
HaierProtocol _
Definition: ir_Haier.h:382
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Haier.cpp:671
uint8_t Prefix
Definition: ir_Haier.h:227
uint8_t Health
Definition: ir_Haier.h:51
const uint16_t kHaierAc176DefaultRepeat
Definition: IRremoteESP8266.h:1049
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Haier.cpp:928
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Haier.cpp:582
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Haier.cpp:886
const uint8_t kHaierAcCmdHealth
Definition: ir_Haier.h:84
uint8_t unknown
Definition: ir_Haier.h:43
uint8_t CurrHours
Definition: ir_Haier.h:42
uint8_t remote_state[kHaierACStateLength]
< The state in native IR code form
Definition: ir_Haier.h:34
uint8_t Health
Definition: ir_Haier.h:235
const uint8_t kHaierAcCmdOn
Definition: ir_Haier.h:76
uint8_t Sum
Definition: ir_Haier.h:265
const uint8_t kHaierAcYrw02SwingMiddle
Definition: ir_Haier.h:186
uint8_t getTimerMode(void) const
Get the Timer operating mode.
Definition: ir_Haier.cpp:808
uint8_t getButton(void) const
Get the Button/Command setting of the A/C.
Definition: ir_Haier.cpp:625
uint8_t OnTimerHrs
Definition: ir_Haier.h:249
const uint8_t kHaierAcYrw02ButtonSwing
Definition: ir_Haier.h:208
const uint8_t kHaierAcYrw02TurboLow
Definition: ir_Haier.h:198
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Haier.cpp:915
const uint8_t kHaierAcFanMed
Definition: ir_Haier.h:100
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Haier.cpp:742
uint8_t Turbo
Definition: ir_Haier.h:247
const uint8_t kHaierAcYrw02TurboOff
Definition: ir_Haier.h:196
uint8_t Health
Definition: ir_Haier.h:149
const uint8_t kHaierAcYrw02ButtonTempDown
Definition: ir_Haier.h:207
IRsend _irsend
Instance of the IR send class.
Definition: ir_Haier.h:453
Class for handling detailed Haier A/C messages.
Definition: ir_Haier.h:317
uint8_t OnMins
Definition: ir_Haier.h:60
IRHaierAC176(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Haier.cpp:541
void setOffTimer(const uint16_t mins)
Set the number of minutes of the Off Timer setting.
Definition: ir_Haier.cpp:842
void setOffTimer(const uint16_t mins)
Set & enable the Off Timer.
Definition: ir_Haier.cpp:304
uint8_t OnTimerMins
Definition: ir_Haier.h:252
const uint8_t kHaierAcYrw02FanAuto
Definition: ir_Haier.h:194
const uint8_t kHaierAc176Prefix
Definition: ir_Haier.h:182
void setTurbo(const uint8_t speed)
Set the Turbo setting of the A/C.
Definition: ir_Haier.cpp:730
const uint8_t kHaierAcYrw02TurboHigh
Definition: ir_Haier.h:197
const uint8_t kHaierAcMaxTemp
Definition: ir_Haier.h:74
const uint8_t kHaierAcYrw02ButtonFan
Definition: ir_Haier.h:209
const uint8_t kHaierAcYrw02Cool
Definition: ir_Haier.h:201
Class for handling detailed Haier 176 bit A/C messages.
Definition: ir_Haier.h:387
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Haier.cpp:390
const uint8_t kHaierAcYrw02SwingBottom
Definition: ir_Haier.h:187
uint8_t OffHours
Definition: ir_Haier.h:50
void setSwing(const uint8_t pos)
Set the Vertical Swing mode of the A/C.
Definition: ir_Haier.cpp:766
const uint8_t kHaierAcFanAuto
Definition: ir_Haier.h:98
uint8_t Swing
Definition: ir_Haier.h:229
const uint8_t kHaierAcYrw02OnThenOffTimer
Definition: ir_Haier.h:219
const uint8_t kHaierAcCmdOff
Definition: ir_Haier.h:75
uint8_t Sleep
Definition: ir_Haier.h:61
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Haier.cpp:426
void setRaw(const uint8_t new_code[]) override
Set the internal state from a valid code for this protocol.
Definition: ir_Haier.cpp:1124
friend class IRHaierACYRW02
Definition: ir_Haier.h:388
int16_t getOnTimer(void) const
Get the On Timer value/setting of the A/C.
Definition: ir_Haier.cpp:271
virtual void send(const uint16_t repeat=kHaierAc176DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Haier.cpp:551
const uint8_t kHaierAcYrw02Heat
Definition: ir_Haier.h:203
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Haier.cpp:114
void setCommand(const uint8_t command)
Set the Command/Button setting of the A/C.
Definition: ir_Haier.cpp:153
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Haier.h:327
const uint8_t kHaierAcSleepBit
Definition: ir_Haier.h:105
const uint8_t kHaierAcDry
Definition: ir_Haier.h:94
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Haier.cpp:873
const uint8_t kHaierAcSwingUp
Definition: ir_Haier.h:88
static stdAc::swingv_t toCommonSwingV(const uint8_t pos)
Convert a stdAc::swingv_t enum into it's native setting.
Definition: ir_Haier.cpp:415
const uint8_t kHaierAcYrw02NoTimers
Definition: ir_Haier.h:216
const uint8_t kHaierAcYrw02ButtonMode
Definition: ir_Haier.h:211
const uint8_t kHaierAcHeat
Definition: ir_Haier.h:95
uint8_t getSwing(void) const
Get the Vertical Swing position setting of the A/C.
Definition: ir_Haier.cpp:762
uint8_t Sum2
Definition: ir_Haier.h:282
Native representation of a Haier HSU07-HEA03 A/C message.
Definition: ir_Haier.h:32
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Haier.cpp:103
const uint16_t kHaierAcMaxTime
Definition: ir_Haier.h:103
void setCurrTime(const uint16_t mins)
Set the clock value for the A/C.
Definition: ir_Haier.cpp:320
Class for handling detailed Haier ACYRW02 A/C messages.
Definition: ir_Haier.h:464
IRHaierAC(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Haier.cpp:98
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Haier.cpp:221
uint8_t getCommand(void) const
Get the Command/Button setting of the A/C.
Definition: ir_Haier.cpp:172
void setOnTimer(const uint16_t mins)
Set the number of minutes of the On Timer setting.
Definition: ir_Haier.cpp:812
uint8_t Fan
Definition: ir_Haier.h:157
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Haier.cpp:647
uint8_t TimerMode
Definition: ir_Haier.h:237
const uint8_t kHaierAcYrw02Dry
Definition: ir_Haier.h:202
uint8_t OnHours
Definition: ir_Haier.h:57
uint8_t OffTimer
Definition: ir_Haier.h:47
Structure to hold a common A/C state.
Definition: IRsend.h:97
uint8_t Command
Definition: ir_Haier.h:39
uint8_t Button
Definition: ir_Haier.h:174
uint8_t OffMins
Definition: ir_Haier.h:54
uint8_t Sum
Definition: ir_Haier.h:177
uint8_t Sum
Definition: ir_Haier.h:64
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Haier.cpp:403
const uint8_t kHaierAcYrw02ButtonPower
Definition: ir_Haier.h:210
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Haier.cpp:953
const uint8_t kHaierAcCmdTimerCancel
Definition: ir_Haier.h:83
uint8_t OffTimerMins
Definition: ir_Haier.h:246
static uint8_t convertSwingV(const stdAc::swingv_t position)
Convert a stdAc::swingv_t enum into it's native setting.
Definition: ir_Haier.cpp:900
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46
void send(const uint16_t repeat=kHaierAcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Haier.cpp:108