Go to the documentation of this file.
30 #include "IRsend_test.h"
110 #define HAIER_AC_MIN_TEMP kHaierAcMinTemp
111 #define HAIER_AC_DEF_TEMP kHaierAcDefTemp
112 #define HAIER_AC_MAX_TEMP kHaierAcMaxTemp
113 #define HAIER_AC_CMD_OFF kHaierAcCmdOff
114 #define HAIER_AC_CMD_ON kHaierAcCmdOn
115 #define HAIER_AC_CMD_MODE kHaierAcCmdMode
116 #define HAIER_AC_CMD_FAN kHaierAcCmdFan
117 #define HAIER_AC_CMD_TEMP_UP kHaierAcCmdTempUp
118 #define HAIER_AC_CMD_TEMP_DOWN kHaierAcCmdTempDown
119 #define HAIER_AC_CMD_SLEEP kHaierAcCmdSleep
120 #define HAIER_AC_CMD_TIMER_SET kHaierAcCmdTimerSet
121 #define HAIER_AC_CMD_TIMER_CANCEL kHaierAcCmdTimerCancel
122 #define HAIER_AC_CMD_HEALTH kHaierAcCmdHealth
123 #define HAIER_AC_CMD_SWINGV kHaierAcCmdSwing
124 #define HAIER_AC_SWINGV_OFF kHaierAcSwingVOff
125 #define HAIER_AC_SWINGV_UP kHaierAcSwingVUp
126 #define HAIER_AC_SWINGV_DOWN kHaierAcSwingVDown
127 #define HAIER_AC_SWINGV_CHG kHaierAcSwingVChg
128 #define HAIER_AC_AUTO kHaierAcAuto
129 #define HAIER_AC_COOL kHaierAcCool
130 #define HAIER_AC_DRY kHaierAcDry
131 #define HAIER_AC_HEAT kHaierAcHeat
132 #define HAIER_AC_FAN kHaierAcFan
133 #define HAIER_AC_FAN_AUTO kHaierAcFanAuto
134 #define HAIER_AC_FAN_LOW kHaierAcFanLow
135 #define HAIER_AC_FAN_MED kHaierAcFanMed
136 #define HAIER_AC_FAN_HIGH kHaierAcFanHigh
264 #define HAIER_AC_YRW02_SWING_OFF kHaierAcYrw02SwingOff
265 #define HAIER_AC_YRW02_SWING_TOP kHaierAcYrw02SwingTop
266 #define HAIER_AC_YRW02_SWING_MIDDLE kHaierAcYrw02SwingMiddle
267 #define HAIER_AC_YRW02_SWING_BOTTOM kHaierAcYrw02SwingBottom
268 #define HAIER_AC_YRW02_SWING_DOWN kHaierAcYrw02SwingDown
269 #define HAIER_AC_YRW02_SWING_AUTO kHaierAcYrw02SwingAuto
270 #define HAIER_AC_YRW02_FAN_HIGH kHaierAcYrw02FanHigh
271 #define HAIER_AC_YRW02_FAN_MED kHaierAcYrw02FanMed
272 #define HAIER_AC_YRW02_FAN_LOW kHaierAcYrw02FanLow
273 #define HAIER_AC_YRW02_FAN_AUTO kHaierAcYrw02FanAuto
274 #define HAIER_AC_YRW02_TURBO_OFF kHaierAcYrw02TurboOff
275 #define HAIER_AC_YRW02_AUTO kHaierAcYrw02Auto
276 #define HAIER_AC_YRW02_COOL kHaierAcYrw02Cool
277 #define HAIER_AC_YRW02_DRY kHaierAcYrw02Dry
278 #define HAIER_AC_YRW02_HEAT kHaierAcYrw02Heat
279 #define HAIER_AC_YRW02_FAN kHaierAcYrw02Fan
280 #define HAIER_AC_YRW02_BUTTON_TEMP_UP kHaierAcYrw02ButtonTempUp
281 #define HAIER_AC_YRW02_BUTTON_TEMP_DOWN kHaierAcYrw02ButtonTempDown
282 #define HAIER_AC_YRW02_BUTTON_SWING kHaierAcYrw02ButtonSwing
283 #define HAIER_AC_YRW02_BUTTON_FAN kHaierAcYrw02ButtonFan
284 #define HAIER_AC_YRW02_BUTTON_POWER kHaierAcYrw02ButtonPower
285 #define HAIER_AC_YRW02_BUTTON_MODE kHaierAcYrw02ButtonMode
286 #define HAIER_AC_YRW02_BUTTON_HEALTH kHaierAcYrw02ButtonHealth
287 #define HAIER_AC_YRW02_BUTTON_TURBO kHaierAcYrw02ButtonTurbo
288 #define HAIER_AC_YRW02_BUTTON_SLEEP kHaierAcYrw02ButtonSleep
294 explicit IRHaierAC(
const uint16_t pin,
const bool inverted =
false,
295 const bool use_modulation =
true);
303 #endif // SEND_HAIER_AC
310 void setTemp(
const uint8_t temp);
313 void setFan(
const uint8_t speed);
314 uint8_t
getFan(
void)
const;
317 void setMode(
const uint8_t mode);
337 void setRaw(
const uint8_t new_code[]);
365 explicit IRHaierAC176(
const uint16_t pin,
const bool inverted =
false,
366 const bool use_modulation =
true);
374 #endif // SEND_HAIER_AC176
386 void setTemp(
const uint8_t temp,
const bool fahrenheit =
false);
389 void setFan(
const uint8_t speed);
390 uint8_t
getFan(
void)
const;
393 void setMode(
const uint8_t mode);
431 virtual void setRaw(
const uint8_t new_code[]);
462 explicit IRHaierACYRW02(
const uint16_t pin,
const bool inverted =
false,
463 const bool use_modulation =
true);
464 #if SEND_HAIER_AC_YRW02
471 #endif // SEND_HAIER_AC_YRW02
472 void setRaw(
const uint8_t new_code[])
override;
474 const uint8_t state[],
477 #endif // IR_HAIER_H_
const uint8_t kHaierAcCmdFan
Definition: ir_Haier.h:80
void setButton(const uint8_t button)
Set the Button/Command setting of the A/C.
Definition: ir_Haier.cpp:610
const uint8_t kHaierAcFanHigh
Definition: ir_Haier.h:103
bool getLock(void) const
Get the Lock setting of the A/C.
Definition: ir_Haier.cpp:1007
const uint16_t kHaierAcYrw02DefaultRepeat
Definition: IRremoteESP8266.h:1129
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Haier.cpp:548
int16_t getOffTimer(void) const
Get the Off Timer value/setting of the A/C.
Definition: ir_Haier.cpp:283
const uint8_t kHaierAcSwingVUp
Definition: ir_Haier.h:90
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Haier.cpp:217
uint16_t getOffTimer(void) const
Get the number of minutes of the Off Timer setting.
Definition: ir_Haier.cpp:1001
const uint8_t kHaierAcYrw02Fan
Definition: ir_Haier.h:171
uint8_t Sleep
Definition: ir_Haier.h:227
const uint16_t kHaierAcDefaultRepeat
Definition: IRremoteESP8266.h:1126
uint8_t raw[kHaierAC176StateLength]
The state in native form.
Definition: ir_Haier.h:195
const uint8_t kHaierAcYrw02FanMed
Definition: ir_Haier.h:163
const uint8_t kHaierAcYrw02SwingVTop
Definition: ir_Haier.h:149
const uint8_t kHaierAcAuto
Definition: ir_Haier.h:94
const uint8_t kHaierAcYrw02ButtonTurbo
Definition: ir_Haier.h:181
uint8_t Quiet
Definition: ir_Haier.h:220
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Haier.h:470
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:569
const uint8_t kHaierAcYrw02OnTimer
Definition: ir_Haier.h:189
const uint8_t kHaierAcYrw02OffThenOnTimer
Definition: ir_Haier.h:191
const uint16_t kHaierACStateLength
Definition: IRremoteESP8266.h:1124
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:1320
uint8_t getSwingV(void) const
Get the Vertical Swing position setting of the A/C.
Definition: ir_Haier.cpp:878
const uint8_t kHaierAcCmdTempDown
Definition: ir_Haier.h:82
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Haier.cpp:149
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Haier.cpp:130
const uint8_t kHaierAcCmdMode
Definition: ir_Haier.h:79
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
const uint8_t kHaierAcYrw02ButtonHealth
Definition: ir_Haier.h:180
const uint8_t kHaierAcYrw02SwingHMiddle
Definition: ir_Haier.h:155
uint16_t getCurrTime(void) const
Get the clock value of the A/C.
Definition: ir_Haier.cpp:293
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Haier.cpp:180
uint8_t Fan
Definition: ir_Haier.h:216
void on(void)
Change the power setting to On.
Definition: ir_Haier.cpp:796
bool getTurbo(void) const
Get the Turbo setting of the A/C.
Definition: ir_Haier.cpp:814
uint8_t Mode
Definition: ir_Haier.h:223
const uint8_t kHaierAcCmdSleep
Definition: ir_Haier.h:83
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Haier.cpp:658
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Haier.cpp:363
uint8_t OffTimerHrs
Definition: ir_Haier.h:215
const uint16_t kHaierAC176StateLength
Definition: IRremoteESP8266.h:1130
uint8_t Prefix
Definition: ir_Haier.h:39
uint16_t getOnTimer(void) const
Get the number of minutes of the On Timer setting.
Definition: ir_Haier.cpp:971
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Haier.cpp:241
uint8_t Temp
Definition: ir_Haier.h:42
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Haier.cpp:196
uint8_t OnTimer
Definition: ir_Haier.h:50
const uint8_t kHaierAcYrw02Auto
Definition: ir_Haier.h:167
uint8_t ExtraDegreeF
Definition: ir_Haier.h:231
HaierAc176Protocol _
Definition: ir_Haier.h:455
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Haier.cpp:142
const uint8_t kHaierAcCmdSwing
Definition: ir_Haier.h:87
void off(void)
Change the power setting to Off.
Definition: ir_Haier.cpp:799
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Haier.cpp:597
bool getUseFahrenheit(void) const
Get the default temperature units in use.
Definition: ir_Haier.cpp:688
const uint8_t kHaierAcSwingVChg
Definition: ir_Haier.h:92
void setTimerMode(const uint8_t setting)
Set the Timer operating mode.
Definition: ir_Haier.cpp:924
void setSleep(const bool on)
Set the Sleep setting of the A/C.
Definition: ir_Haier.cpp:807
static bool toCommonTurbo(const uint8_t speed)
void setSleep(const bool on)
Set the Sleep setting of the A/C.
Definition: ir_Haier.cpp:260
uint8_t getSwingH(void) const
Get the Horizontal Swing position setting of the A/C.
Definition: ir_Haier.cpp:904
uint8_t Power
Definition: ir_Haier.h:212
uint8_t CurrMins
Definition: ir_Haier.h:48
const uint8_t kHaierAcYrw02DefTempC
Definition: ir_Haier.h:142
uint8_t Prefix2
Definition: ir_Haier.h:244
void setUseFahrenheit(const bool on)
Set the default temperature units to use.
Definition: ir_Haier.cpp:684
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Haier.h:373
void setTemp(const uint8_t temp, const bool fahrenheit=false)
Set the temperature.
Definition: ir_Haier.cpp:693
uint8_t Mode
Definition: ir_Haier.h:60
void setLock(const bool on)
Set the Lock setting of the A/C.
Definition: ir_Haier.cpp:1011
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Haier.cpp:1155
const uint8_t kHaierAcYrw02SwingVMiddle
Definition: ir_Haier.h:150
const uint8_t kHaierAcYrw02SwingVBottom
Definition: ir_Haier.h:151
void setSwingV(const uint8_t state)
Set the Vertical Swing mode of the A/C.
Definition: ir_Haier.cpp:334
static stdAc::swingv_t toCommonSwingV(const uint8_t pos)
Convert a stdAc::swingv_t enum into it's native setting.
Definition: ir_Haier.cpp:1101
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Haier.cpp:455
const uint8_t kHaierAcCmdTimerSet
Definition: ir_Haier.h:84
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Haier.cpp:207
const uint8_t kHaierAcCmdTempUp
Definition: ir_Haier.h:81
void cancelTimers(void)
Cancel/disable the On & Off timers.
Definition: ir_Haier.cpp:314
Class for sending all basic IR protocols.
Definition: IRsend.h:209
bool getSleep(void) const
Get the Sleep setting of the A/C.
Definition: ir_Haier.cpp:803
IRsend _irsend
Instance of the IR send class.
Definition: ir_Haier.h:351
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Haier.cpp:350
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Haier.cpp:559
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:786
const uint8_t kHaierAcFanLow
Definition: ir_Haier.h:101
const uint8_t kHaierAcYrw02OffTimer
Definition: ir_Haier.h:188
void setTurbo(const bool on)
Set the Turbo setting of the A/C.
Definition: ir_Haier.cpp:819
const uint8_t kHaierAcYrw02SwingHRightMax
Definition: ir_Haier.h:159
uint8_t SwingV
Definition: ir_Haier.h:46
const uint8_t kHaierAcYrw02ModelA
Definition: ir_Haier.h:144
std::string String
Definition: IRremoteESP8266.h:1373
bool getHealth(void) const
Get the Health (filter) setting of the A/C.
Definition: ir_Haier.cpp:254
const uint8_t kHaierAcYrw02ButtonSleep
Definition: ir_Haier.h:182
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Haier.cpp:852
const uint8_t kHaierAcPrefix
Definition: ir_Haier.h:72
virtual void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Haier.cpp:604
const uint8_t kHaierAcYrw02SwingVDown
Definition: ir_Haier.h:152
const uint16_t kHaierACYRW02StateLength
Definition: IRremoteESP8266.h:1127
Native representation of a Haier 176 bit A/C message.
Definition: ir_Haier.h:194
void setOnTimer(const uint16_t mins)
Set & enable the On Timer.
Definition: ir_Haier.cpp:297
void setPower(const bool on)
Change the power setting.
Definition: ir_Haier.cpp:790
void send(const uint16_t repeat=kHaierAcYrw02DefaultRepeat) override
Send the current internal state as an IR message.
Definition: ir_Haier.cpp:1305
const uint8_t kHaierAcYrw02MinTempF
Definition: ir_Haier.h:140
swingh_t
Common A/C settings for Horizontal Swing.
Definition: IRsend.h:83
uint8_t Fan2
Definition: ir_Haier.h:249
bool getHealth(void) const
Get the Health (filter) setting of the A/C.
Definition: ir_Haier.cpp:782
const uint8_t kHaierAcSwingVDown
Definition: ir_Haier.h:91
const uint8_t kHaierAcYrw02FanHigh
Definition: ir_Haier.h:162
const uint8_t kHaierAcFan
Definition: ir_Haier.h:98
const uint8_t kHaierAcYrw02FanLow
Definition: ir_Haier.h:164
const uint8_t kHaierAcYrw02MinTempC
Definition: ir_Haier.h:138
uint8_t Fan
Definition: ir_Haier.h:57
uint8_t getSwingV(void) const
Get the Vertical Swing position setting of the A/C.
Definition: ir_Haier.cpp:328
void setHealth(const bool on)
Set the Health (filter) setting of the A/C.
Definition: ir_Haier.cpp:775
const uint8_t kHaierAcCool
Definition: ir_Haier.h:95
uint8_t Model
Definition: ir_Haier.h:198
const uint8_t kHaierAcDefTemp
Definition: ir_Haier.h:75
uint8_t Button
Definition: ir_Haier.h:238
static uint8_t convertSwingV(const stdAc::swingv_t position)
Convert a stdAc::swingv_t enum into it's native setting.
Definition: ir_Haier.cpp:377
bool getSleep(void) const
Get the Sleep setting of the A/C.
Definition: ir_Haier.cpp:267
void setHealth(const bool on)
Set the Health (filter) setting of the A/C.
Definition: ir_Haier.cpp:247
uint8_t UseFahrenheit
Definition: ir_Haier.h:233
const uint8_t kHaierAcYrw02ButtonTempUp
Definition: ir_Haier.h:173
void setSwingH(const uint8_t pos)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Haier.cpp:908
uint8_t Temp
Definition: ir_Haier.h:201
const uint8_t kHaierAcMinTemp
Definition: ir_Haier.h:74
const uint8_t kHaierAcYrw02ButtonSwingH
Definition: ir_Haier.h:176
static bool validChecksum(uint8_t state[], const uint16_t length=kHaierACStateLength)
Verify the checksum is valid for a given state.
Definition: ir_Haier.cpp:124
const uint8_t kHaierAcYrw02SwingVAuto
Definition: ir_Haier.h:153
uint8_t SwingV
Definition: ir_Haier.h:200
HaierProtocol _
Definition: ir_Haier.h:357
uint8_t getTemp(void) const
Get the current temperature setting. The unit of temperature is specified by UseFahrenheit value.
Definition: ir_Haier.cpp:730
uint8_t Health
Definition: ir_Haier.h:53
const uint16_t kHaierAc176DefaultRepeat
Definition: IRremoteESP8266.h:1132
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Haier.cpp:1089
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Haier.cpp:584
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Haier.cpp:1032
static bool toCommonQuiet(const uint8_t speed)
uint8_t SwingH
Definition: ir_Haier.h:204
const uint8_t kHaierAcCmdHealth
Definition: ir_Haier.h:86
uint8_t unknown
Definition: ir_Haier.h:45
uint8_t CurrHours
Definition: ir_Haier.h:44
uint8_t remote_state[kHaierACStateLength]
< The state in native IR code form
Definition: ir_Haier.h:36
uint8_t Health
Definition: ir_Haier.h:207
const uint8_t kHaierAcCmdOn
Definition: ir_Haier.h:78
uint8_t Sum
Definition: ir_Haier.h:242
void setSwingV(const uint8_t pos)
Set the Vertical Swing mode of the A/C.
Definition: ir_Haier.cpp:882
const uint8_t kHaierAcYrw02SwingHLeftMax
Definition: ir_Haier.h:156
uint8_t getTimerMode(void) const
Get the Timer operating mode.
Definition: ir_Haier.cpp:943
const uint8_t kHaierAcYrw02SwingHRight
Definition: ir_Haier.h:158
uint8_t getButton(void) const
Get the Button/Command setting of the A/C.
Definition: ir_Haier.cpp:652
uint8_t OnTimerHrs
Definition: ir_Haier.h:222
const uint8_t kHaierAcYrw02ButtonSwingV
Definition: ir_Haier.h:175
const uint8_t kHaierAcYrw02ButtonLock
Definition: ir_Haier.h:184
const uint8_t kHaierAcSwingVOff
Definition: ir_Haier.h:89
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Haier.cpp:1076
const uint8_t kHaierAcFanMed
Definition: ir_Haier.h:102
const uint8_t kHaierAcYrw02ButtonCFAB
Definition: ir_Haier.h:185
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Haier.cpp:848
uint8_t Turbo
Definition: ir_Haier.h:219
const uint8_t kHaierAcYrw02ButtonTempDown
Definition: ir_Haier.h:174
IRsend _irsend
Instance of the IR send class.
Definition: ir_Haier.h:449
Class for handling detailed Haier A/C messages.
Definition: ir_Haier.h:292
uint8_t OnMins
Definition: ir_Haier.h:62
IRHaierAC176(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Haier.cpp:543
void setOffTimer(const uint16_t mins)
Set the number of minutes of the Off Timer setting.
Definition: ir_Haier.cpp:977
void setOffTimer(const uint16_t mins)
Set & enable the Off Timer.
Definition: ir_Haier.cpp:306
uint8_t OnTimerMins
Definition: ir_Haier.h:225
const uint8_t kHaierAcYrw02FanAuto
Definition: ir_Haier.h:165
const uint8_t kHaierAc176Prefix
Definition: ir_Haier.h:146
const uint8_t kHaierAcMaxTemp
Definition: ir_Haier.h:76
const uint8_t kHaierAcYrw02ButtonFan
Definition: ir_Haier.h:177
const uint8_t kHaierAcYrw02Cool
Definition: ir_Haier.h:168
Class for handling detailed Haier 176 bit A/C messages.
Definition: ir_Haier.h:362
const uint8_t kHaierAcYrw02ButtonTimer
Definition: ir_Haier.h:183
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Haier.cpp:392
void setQuiet(const bool on)
Set the Quiet setting of the A/C.
Definition: ir_Haier.cpp:836
uint8_t OffHours
Definition: ir_Haier.h:52
void setSwing(const uint8_t pos)
For backward compatibility. Use setSwingV() instead. Set the Vertical Swing mode of the A/C.
Definition: ir_Haier.cpp:874
const uint8_t kHaierAcFanAuto
Definition: ir_Haier.h:100
const uint8_t kHaierAcYrw02SwingHLeft
Definition: ir_Haier.h:157
const uint8_t kHaierAcYrw02OnThenOffTimer
Definition: ir_Haier.h:190
const uint8_t kHaierAcCmdOff
Definition: ir_Haier.h:77
uint8_t Sleep
Definition: ir_Haier.h:63
const uint8_t kHaierAcYrw02SwingHAuto
Definition: ir_Haier.h:160
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Haier.cpp:428
void setRaw(const uint8_t new_code[]) override
Set the internal state from a valid code for this protocol.
Definition: ir_Haier.cpp:1312
static stdAc::swingh_t toCommonSwingH(const uint8_t pos)
Convert a stdAc::swingh_t enum into it's native setting.
Definition: ir_Haier.cpp:1115
friend class IRHaierACYRW02
Definition: ir_Haier.h:363
int16_t getOnTimer(void) const
Get the On Timer value/setting of the A/C.
Definition: ir_Haier.cpp:273
virtual void send(const uint16_t repeat=kHaierAc176DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Haier.cpp:553
const uint8_t kHaierAcYrw02Heat
Definition: ir_Haier.h:170
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Haier.cpp:116
void setCommand(const uint8_t command)
Set the Command/Button setting of the A/C.
Definition: ir_Haier.cpp:155
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Haier.h:302
const uint8_t kHaierAcYrw02MaxTempF
Definition: ir_Haier.h:141
const uint8_t kHaierAcSleepBit
Definition: ir_Haier.h:107
const uint8_t kHaierAcDry
Definition: ir_Haier.h:96
void setModel(const haier_ac176_remote_model_t model)
Set the model of the A/C to emulate.
Definition: ir_Haier.cpp:639
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Haier.cpp:1019
static stdAc::swingv_t toCommonSwingV(const uint8_t pos)
Convert a stdAc::swingv_t enum into it's native setting.
Definition: ir_Haier.cpp:417
const uint8_t kHaierAcYrw02NoTimers
Definition: ir_Haier.h:187
const uint8_t kHaierAcYrw02ButtonMode
Definition: ir_Haier.h:179
const uint8_t kHaierAcHeat
Definition: ir_Haier.h:97
uint8_t getSwing(void) const
These functions are for backward compatibility. Use getSwingV() and setSwingV() instead.
Definition: ir_Haier.cpp:867
uint8_t Sum2
Definition: ir_Haier.h:259
Native representation of a Haier HSU07-HEA03 A/C message.
Definition: ir_Haier.h:34
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Haier.cpp:105
const uint16_t kHaierAcMaxTime
Definition: ir_Haier.h:105
void setCurrTime(const uint16_t mins)
Set the clock value for the A/C.
Definition: ir_Haier.cpp:322
uint8_t Lock
Definition: ir_Haier.h:239
Class for handling detailed Haier ACYRW02 A/C messages.
Definition: ir_Haier.h:460
IRHaierAC(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Haier.cpp:100
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Haier.cpp:223
uint8_t getCommand(void) const
Get the Command/Button setting of the A/C.
Definition: ir_Haier.cpp:174
void setOnTimer(const uint16_t mins)
Set the number of minutes of the On Timer setting.
Definition: ir_Haier.cpp:947
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Haier.cpp:679
uint8_t TimerMode
Definition: ir_Haier.h:209
bool getQuiet(void) const
Get the Quiet setting of the A/C.
Definition: ir_Haier.cpp:831
const uint8_t kHaierAcYrw02Dry
Definition: ir_Haier.h:169
uint8_t OnHours
Definition: ir_Haier.h:59
uint8_t OffTimer
Definition: ir_Haier.h:49
Structure to hold a common A/C state.
Definition: IRsend.h:97
haier_ac176_remote_model_t getModel(void) const
Get/Detect the model of the A/C.
Definition: ir_Haier.cpp:630
uint8_t Command
Definition: ir_Haier.h:41
const uint8_t kHaierAcYrw02SwingVOff
Definition: ir_Haier.h:148
static uint8_t convertSwingH(const stdAc::swingh_t position)
Convert a stdAc::swingh_t enum into it's native setting.
Definition: ir_Haier.cpp:1061
uint8_t OffMins
Definition: ir_Haier.h:56
uint8_t Sum
Definition: ir_Haier.h:66
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Haier.cpp:405
const uint8_t kHaierAcYrw02ButtonPower
Definition: ir_Haier.h:178
const uint8_t kHaierAcYrw02ModelB
Definition: ir_Haier.h:145
const uint8_t kHaierAcYrw02MaxTempC
Definition: ir_Haier.h:139
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Haier.cpp:1129
const uint8_t kHaierAcCmdTimerCancel
Definition: ir_Haier.h:85
uint8_t OffTimerMins
Definition: ir_Haier.h:218
static uint8_t convertSwingV(const stdAc::swingv_t position)
Convert a stdAc::swingv_t enum into it's native setting.
Definition: ir_Haier.cpp:1046
haier_ac176_remote_model_t
HAIER_AC176 A/C model numbers.
Definition: IRsend.h:140
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:110