Go to the documentation of this file.
51 explicit IRac(
const uint16_t pin,
const bool inverted =
false,
52 const bool use_modulation =
true);
57 const float degrees,
const bool celsius,
61 const bool quiet,
const bool turbo,
const bool econo,
62 const bool light,
const bool filter,
const bool clean,
63 const bool beep,
const int16_t sleep,
73 const bool quiet,
const bool turbo,
const bool econo,
74 const bool light,
const bool filter,
const bool clean,
75 const bool beep,
const int16_t sleep = -1,
76 const int16_t clock = -1);
78 static bool strToBool(
const char *str,
const bool def =
false);
79 static int16_t
strToModel(
const char *str,
const int16_t def = -1);
110 #endif // SEND_AIRWELL
120 const bool turbo,
const int16_t sleep = -1);
122 #if SEND_CARRIER_AC64
127 #endif // SEND_CARRIER_AC64
133 const bool turbo,
const bool light,
const bool clean,
134 const int16_t sleep = -1);
135 #endif // SEND_COOLIX
141 #endif // SEND_CORONA_AC
147 const bool quiet,
const bool turbo,
const bool econo,
149 #endif // SEND_DAIKIN
155 const bool quiet,
const bool turbo,
const bool light,
156 const bool econo,
const int16_t sleep = -1,
157 const int16_t clock = -1);
158 #endif // SEND_DAIKIN128
164 const bool quiet,
const bool turbo,
const bool econo);
165 #endif // SEND_DAIKIN152
171 #endif // SEND_DAIKIN160
177 #endif // SEND_DAIKIN176
183 const bool quiet,
const bool turbo,
const bool light,
184 const bool econo,
const bool filter,
const bool clean,
185 const bool beep,
const int16_t sleep = -1,
186 const int16_t clock = -1);
187 #endif // SEND_DAIKIN2
193 const bool quiet,
const bool turbo);
194 #endif // SEND_DAIKIN216
200 const bool quiet,
const bool turbo,
201 const int16_t sleep = -1,
const int16_t clock = -1);
202 #endif // SEND_DAIKIN64
207 const bool turbo,
const int16_t sleep = -1);
208 #endif // SEND_DELONGHI_AC
215 const bool lighttoggle,
const bool clean);
216 #endif // SEND_ELECTRA_AC
222 const bool quiet,
const bool turbo,
const bool econo,
223 const bool filter,
const bool clean,
const int16_t sleep = -1);
224 #endif // SEND_FUJITSU_AC
231 const bool turbo,
const bool light,
232 const int16_t sleep = -1);
233 #endif // SEND_GOODWEATHER
239 const bool clean,
const int16_t sleep = -1);
245 const bool filter,
const int16_t sleep = -1,
246 const int16_t clock = -1);
247 #endif // SEND_HAIER_AC
248 #if SEND_HAIER_AC_YRW02
253 const bool turbo,
const bool filter,
254 const int16_t sleep = -1);
255 #endif // SEND_HAIER_AC_YRW02
261 #endif // SEND_HITACHI_AC
264 const bool on,
const bool power_toggle,
268 const bool swing_toggle,
const int16_t sleep = -1);
269 #endif // SEND_HITACHI_AC1
270 #if SEND_HITACHI_AC344
276 #endif // SEND_HITACHI_AC344
277 #if SEND_HITACHI_AC424
282 #endif // SEND_HITACHI_AC424
288 const bool quiet,
const bool turbo,
const bool light,
289 const bool filter,
const bool clean);
290 #endif // SEND_KELVINATOR
301 const int16_t sleep = -1);
303 #if SEND_MITSUBISHI_AC
309 const bool quiet,
const int16_t clock = -1);
310 #endif // SEND_MITSUBISHI_AC
311 #if SEND_MITSUBISHI112
318 #endif // SEND_MITSUBISHI112
319 #if SEND_MITSUBISHI136
324 #endif // SEND_MITSUBISHI136
325 #if SEND_MITSUBISHIHEAVY
331 const bool turbo,
const bool econo,
const bool clean);
337 const bool quiet,
const bool turbo,
const bool econo,
338 const bool filter,
const bool clean,
339 const int16_t sleep = -1);
340 #endif // SEND_MITSUBISHIHEAVY
343 const bool celsius,
const float degrees,
346 const bool turbo,
const bool econo,
const bool light,
347 const bool filter,
const int16_t sleep = -1);
348 #endif // SEND_NEOCLIMA
349 #if SEND_PANASONIC_AC
354 const bool quiet,
const bool turbo,
const bool filter,
355 const int16_t clock = -1);
356 #endif // SEND_PANASONIC_AC
361 const bool quiet,
const bool turbo,
const bool light,
362 const bool filter,
const bool clean,
363 const bool beep,
const bool prevpower =
true,
364 const bool forcepower =
true);
365 #endif // SEND_SAMSUNG_AC
370 const bool beep,
const int16_t sleep = -1);
371 #endif // SEND_SANYO_AC
378 #endif // SEND_SHARP_AC
384 const bool turbo,
const bool light,
const bool econo,
386 #endif // SEND_TCL112AC
387 #if SEND_TECHNIBEL_AC
392 #endif // SEND_TECHNIBEL_AC
397 const bool light,
const int16_t sleep = -1);
403 const bool turbo,
const bool econo);
404 #endif // SEND_TOSHIBA_AC
409 #endif // SEND_TROTEC
414 const bool turbo,
const bool filter,
415 const int16_t sleep = -1,
const int16_t clock = -1,
416 const bool sendNormal =
true);
417 #endif // SEND_VESTEL_AC
423 const bool turbo,
const bool econo,
const bool light,
424 const int16_t sleep = -1);
425 #endif // SEND_VOLTAS
426 #if SEND_WHIRLPOOL_AC
430 const bool turbo,
const bool light,
431 const int16_t sleep = -1,
const int16_t clock = -1);
432 #endif // SEND_WHIRLPOOL_AC
438 #endif // SEND_TRANSCOLD
Class for handling detailed Panasonic A/C messages.
Definition: ir_Panasonic.h:98
void airwell(IRAirwellAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send an Airwell A/C message with the supplied settings.
Definition: IRac.cpp:299
Support for Kelvinator A/C protocols.
Class for handling detailed Samsung A/C messages.
Definition: ir_Samsung.h:97
void hitachi(IRHitachiAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Hitachi A/C message with the supplied settings.
Definition: IRac.cpp:1070
Class for handling detailed Toshiba A/C messages.
Definition: ir_Toshiba.h:100
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:750
stdAc::state_t getStatePrev(void)
Get the previous internal A/C climate state that should have already been sent to the device....
Definition: IRac.cpp:133
stdAc::state_t getState(void)
Get the current internal A/C climate state.
Definition: IRac.cpp:128
Class for handling detailed Mitsubishi Heavy 152-bit A/C messages.
Definition: ir_MitsubishiHeavy.h:133
static stdAc::swingh_t strToSwingH(const char *str, const stdAc::swingh_t def=stdAc::swingh_t::kOff)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2772
void hitachi344(IRHitachiAc344 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Hitachi 344-bit A/C message with the supplied settings.
Definition: IRac.cpp:1146
Support for Electra A/C protocols.
void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:2635
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:70
Airwell "Manchester code" based protocol. Some other Airwell products use the COOLIX protocol.
void daikin2(IRDaikin2 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool light, const bool econo, const bool filter, const bool clean, const bool beep, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin2 A/C message with the supplied settings.
Definition: IRac.cpp:688
Support for Trotec protocols.
void sanyo(IRSanyoAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool beep, const int16_t sleep=-1)
Send a Toshiba A/C message with the supplied settings.
Definition: IRac.cpp:1642
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:526
void lg(IRLgAc *ac, const lg_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send a LG A/C message with the supplied settings.
Definition: IRac.cpp:1252
Class for handling detailed Delonghi A/C messages.
Definition: ir_Delonghi.h:72
Class for handling detailed Corona A/C messages.
Definition: ir_Corona.h:105
void kelvinator(IRKelvinatorAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool light, const bool filter, const bool clean)
Send a Kelvinator A/C message with the supplied settings.
Definition: IRac.cpp:1218
Class for handling detailed Daikin 312-bit A/C messages.
Definition: ir_Daikin.h:608
Support for Neoclima protocols. Analysis by crankyoldgit & AndreyShpilevoy.
Class for handling detailed Daikin 128-bit A/C messages.
Definition: ir_Daikin.h:869
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
Support for Sharp protocols.
static String fanspeedToString(const stdAc::fanspeed_t speed)
Convert the supplied fan speed enum into the appropriate String.
Definition: IRac.cpp:2922
whirlpool_ac_remote_model_t
Whirlpool A/C model numbers.
Definition: IRsend.h:158
void whirlpool(IRWhirlpoolAc *ac, const whirlpool_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const int16_t sleep=-1, const int16_t clock=-1)
Send a Whirlpool A/C message with the supplied settings.
Definition: IRac.cpp:1994
Results returned from the decoder.
Definition: IRrecv.h:92
void daikin64(IRDaikin64 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin 64-bit A/C message with the supplied settings.
Definition: IRac.cpp:757
void voltas(IRVoltas *ac, const voltas_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool light, const int16_t sleep=-1)
Send a Voltas A/C message with the supplied settings.
Definition: IRac.cpp:1953
void tcl112(IRTcl112Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool light, const bool econo, const bool filter)
Send a TCL 112-bit A/C message with the supplied settings.
Definition: IRac.cpp:1736
void transcold(IRTranscoldAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Transcold A/C message with the supplied settings.
Definition: IRac.cpp:2031
bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:2641
static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:2652
Support for Midea protocols. Midea added by crankyoldgit & bwze.
Support for Daikin A/C protocols.
gree_ac_remote_model_t
Gree A/C model numbers.
Definition: IRsend.h:129
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:1003
void vestel(IRVestelAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool filter, const int16_t sleep=-1, const int16_t clock=-1, const bool sendNormal=true)
Send a Vestel A/C message with the supplied settings.
Definition: IRac.cpp:1911
Class for handling detailed Hitachi 53-byte/424-bit A/C messages.
Definition: ir_Hitachi.h:313
void daikin(IRDaikinESP *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool clean)
Send a Daikin A/C message with the supplied settings.
Definition: IRac.cpp:524
IRac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: IRac.cpp:54
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:704
Class for handling detailed Voltas A/C messages.
Definition: ir_Voltas.h:90
hitachi_ac1_remote_model_t
HITACHI_AC1 A/C model numbers.
Definition: IRsend.h:135
void samsung(IRSamsungAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const bool light, const bool filter, const bool clean, const bool beep, const bool prevpower=true, const bool forcepower=true)
Send a Samsung A/C message with the supplied settings.
Definition: IRac.cpp:1601
void daikin128(IRDaikin128 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const bool light, const bool econo, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin 128-bit A/C message with the supplied settings.
Definition: IRac.cpp:564
Class for handling detailed Hitachi 224-bit A/C messages.
Definition: ir_Hitachi.h:188
const int8_t kGpioUnused
A placeholder for not using an actual GPIO.
Definition: IRac.h:45
Common functions for use with all A/Cs supported by the IRac class.
Definition: IRac.cpp:2991
Class for handling detailed Sanyo A/C messages.
Definition: ir_Sanyo.h:98
void haier(IRHaierAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool filter, const int16_t sleep=-1, const int16_t clock=-1)
Send a Haier A/C message with the supplied settings.
Definition: IRac.cpp:1001
Class for handling detailed Whirlpool A/C messages.
Definition: ir_Whirlpool.h:91
Class for handling detailed Hitachi 344-bit A/C messages.
Definition: ir_Hitachi.h:401
static String boolToString(const bool value)
Convert the supplied boolean into the appropriate String.
Definition: IRac.cpp:2893
stdAc::state_t next
The state we want the device to be in after we send.
Definition: IRac.h:97
std::string String
Definition: IRremoteESP8266.h:1148
Class for handling detailed Mitsubishi 144-bit A/C messages.
Definition: ir_Mitsubishi.h:168
void trotec(IRTrotecESP *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const int16_t sleep=-1)
Send a Trotec A/C message with the supplied settings.
Definition: IRac.cpp:1874
static int16_t strToModel(const char *str, const int16_t def=-1)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2812
Class for handling detailed Amcor A/C messages.
Definition: ir_Amcor.h:89
Class for handling detailed Mitsubishi 122-bit A/C messages.
Definition: ir_Mitsubishi.h:286
Class for handling detailed TCL A/C messages.
Definition: ir_Tcl.h:63
void daikin176(IRDaikin176 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingh_t swingh)
Send a Daikin 176-bit A/C message with the supplied settings.
Definition: IRac.cpp:656
Class for handling detailed Electra A/C messages.
Definition: ir_Electra.h:80
Support for TCL protocols.
bool hasStateChanged(void)
Check if the internal state has changed from what was previously sent.
Definition: IRac.cpp:2664
void haierYrwo2(IRHaierACYRW02 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool filter, const int16_t sleep=-1)
Send a Haier YRWO2 A/C message with the supplied settings.
Definition: IRac.cpp:1038
void daikin216(IRDaikin216 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo)
Send a Daikin 216-bit A/C message with the supplied settings.
Definition: IRac.cpp:727
Support for Transcold A/C protocols.
Support for Hitachi A/C protocols.
Support for Panasonic protocols.
static stdAc::state_t handleToggles(const stdAc::state_t desired, const stdAc::state_t *prev=NULL)
Create a new state base on desired & previous states but handle any state changes for options that ne...
Definition: IRac.cpp:2080
Class for handling detailed Mitsubishi 136-bit A/C messages.
Definition: ir_Mitsubishi.h:232
panasonic_ac_remote_model_t
Panasonic A/C model numbers.
Definition: IRsend.h:141
swingh_t
Common A/C settings for Horizontal Swing.
Definition: IRsend.h:83
void mitsubishi112(IRMitsubishi112 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet)
Send a Mitsubishi 112-bit A/C message with the supplied settings.
Definition: IRac.cpp:1360
bool decodeToState(const decode_results *decode, stdAc::state_t *result, const stdAc::state_t *prev)
Convert a valid IR A/C remote message that we understand enough into a Common A/C state.
Definition: IRac.cpp:3350
Class for handling detailed Hitachi 104-bit A/C messages.
Definition: ir_Hitachi.h:245
void hitachi424(IRHitachiAc424 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv)
Send a Hitachi 424-bit A/C message with the supplied settings.
Definition: IRac.cpp:1180
Support for Samsung protocols. Samsung originally added from https://github.com/shirriff/Arduino-IRre...
String resultAcToString(const decode_results *const result)
Display the human readable state of an A/C message if we can.
Definition: IRac.cpp:2997
void daikin152(IRDaikin152 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const bool econo)
Send a Daikin 152-bit A/C message with the supplied settings.
Definition: IRac.cpp:601
fujitsu_ac_remote_model_t
Fujitsu A/C model numbers.
Definition: IRsend.h:120
Support for Gree A/C protocols.
Class for handling detailed Carrier 64 bit A/C messages.
Definition: ir_Carrier.h:83
Class for handling detailed Midea A/C messages.
Definition: ir_Midea.h:99
Class for handling detailed Kelvinator A/C messages.
Definition: ir_Kelvinator.h:137
bool _inverted
IR LED is lit when GPIO is LOW (true) or HIGH (false)?
Definition: IRac.h:103
Class for handling detailed Fujitsu A/C messages.
Definition: ir_Fujitsu.h:113
Support for Mitsubishi Heavy Industry protocols. Code to emulate Mitsubishi Heavy Industries A/C IR r...
Class for handling detailed Coolix A/C messages.
Definition: ir_Coolix.h:105
void panasonic(IRPanasonicAc *ac, const panasonic_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool filter, const int16_t clock=-1)
Send a Panasonic A/C message with the supplied settings.
Definition: IRac.cpp:1557
static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:2944
Support for Mitsubishi protocols. Mitsubishi (TV) decoding added from https://github....
A universal/common/generic interface for controling supported A/Cs.
Definition: IRac.h:49
Support for Teco protocols.
void gree(IRGreeAC *ac, const gree_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Gree A/C message with the supplied settings.
Definition: IRac.cpp:963
void electra(IRElectraAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool lighttoggle, const bool clean)
Send an Electra A/C message with the supplied settings.
Definition: IRac.cpp:814
static stdAc::state_t cleanState(const stdAc::state_t state)
Create a new state base on the provided state that has been suitably fixed.
Definition: IRac.cpp:2067
Support for Argo Ulisse 13 DCI Mobile Split ACs.
void mitsubishi(IRMitsubishiAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const int16_t clock=-1)
Send a Mitsubishi A/C message with the supplied settings.
Definition: IRac.cpp:1325
void amcor(IRAmcorAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send an Amcor A/C message with the supplied settings.
Definition: IRac.cpp:327
Definition: ir_Technibel.h:107
Class for handling detailed Airwell A/C messages.
Definition: ir_Airwell.h:58
Support for Voltas A/C protocol.
Class for handling detailed Daikin 152-bit A/C messages.
Definition: ir_Daikin.h:943
Class for handling detailed LG A/C messages.
Definition: ir_LG.h:64
Support for Fujitsu A/C protocols. Fujitsu A/C support added by Jonny Graham.
Class for handling detailed Haier A/C messages.
Definition: ir_Haier.h:244
void neoclima(IRNeoclimaAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool light, const bool filter, const int16_t sleep=-1)
Send a Neoclima A/C message with the supplied settings.
Definition: IRac.cpp:1516
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:760
static String opmodeToString(const stdAc::opmode_t mode)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:2900
Class for handling detailed Sharp A/C messages.
Definition: ir_Sharp.h:108
void toshiba(IRToshibaAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool econo)
Send a Toshiba A/C message with the supplied settings.
Definition: IRac.cpp:1838
Support for Goodweather compatible HVAC protocols.
void argo(IRArgoAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const int16_t sleep=-1)
Send an Argo A/C message with the supplied settings.
Definition: IRac.cpp:359
lg_ac_remote_model_t
LG A/C model numbers.
Definition: IRsend.h:164
void mitsubishi136(IRMitsubishi136 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet)
Send a Mitsubishi 136-bit A/C message with the supplied settings.
Definition: IRac.cpp:1396
bool _modulation
Is frequency modulation to be used?
Definition: IRac.h:104
void teco(IRTecoAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool light, const int16_t sleep=-1)
Send a Teco A/C message with the supplied settings.
Definition: IRac.cpp:1805
static stdAc::opmode_t strToOpmode(const char *str, const stdAc::opmode_t def=stdAc::opmode_t::kAuto)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2670
Support for Sanyo protocols. Sanyo LC7461 support originally by marcosamarinho Sanyo SA 8650B origina...
void hitachi1(IRHitachiAc1 *ac, const hitachi_ac1_remote_model_t model, const bool on, const bool power_toggle, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool swing_toggle, const int16_t sleep=-1)
Send a Hitachi1 A/C message with the supplied settings.
Definition: IRac.cpp:1107
Definition: ir_Transcold.h:110
Support for Whirlpool protocols. Decoding help from: @redmusicxd, @josh929800, @raducostea.
static bool strToBool(const char *str, const bool def=false)
Convert the supplied str into the appropriate boolean value.
Definition: IRac.cpp:2875
void mitsubishiHeavy88(IRMitsubishiHeavy88Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool clean)
Send a Mitsubishi Heavy 88-bit A/C message with the supplied settings.
Definition: IRac.cpp:1431
static stdAc::swingv_t strToSwingV(const char *str, const stdAc::swingv_t def=stdAc::swingv_t::kOff)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2731
Class for handling detailed Vestel A/C messages.
Definition: ir_Vestel.h:116
Class for handling detailed Trotec A/C messages.
Definition: ir_Trotec.h:76
Class for handling detailed Teco A/C messages.
Definition: ir_Teco.h:107
static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:2968
void fujitsu(IRFujitsuAC *ac, const fujitsu_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool filter, const bool clean, const int16_t sleep=-1)
Send a Fujitsu A/C message with the supplied settings.
Definition: IRac.cpp:857
Support for Technibel protocol.
void delonghiac(IRDelonghiAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const bool turbo, const int16_t sleep=-1)
Send a Delonghi A/C message with the supplied settings.
Definition: IRac.cpp:787
stdAc::state_t _prev
The state we expect the device to currently be in.
Definition: IRac.h:105
Class for handling detailed Haier ACYRW02 A/C messages.
Definition: ir_Haier.h:314
void daikin160(IRDaikin160 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv)
Send a Daikin 160-bit A/C message with the supplied settings.
Definition: IRac.cpp:634
void corona(IRCoronaAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool econo)
Send a Corona A/C message with the supplied settings.
Definition: IRac.cpp:489
static void initState(stdAc::state_t *state, const decode_type_t vendor, const int16_t model, const bool power, const stdAc::opmode_t mode, const float degrees, const bool celsius, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool light, const bool filter, const bool clean, const bool beep, const int16_t sleep, const int16_t clock)
Initialse the given state with the supplied settings.
Definition: IRac.cpp:85
void mitsubishiHeavy152(IRMitsubishiHeavy152Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool filter, const bool clean, const int16_t sleep=-1)
Send a Mitsubishi Heavy 152-bit A/C message with the supplied settings.
Definition: IRac.cpp:1472
Support for Haier A/C protocols. The specifics of reverse engineering the protocols details:
Class for handling detailed Mitsubishi Heavy 88-bit A/C messages.
Definition: ir_MitsubishiHeavy.h:220
Class for handling detailed Gree A/C messages.
Definition: ir_Gree.h:130
void coolix(IRCoolixAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Coolix A/C message with the supplied settings.
Definition: IRac.cpp:428
static stdAc::fanspeed_t strToFanspeed(const char *str, const stdAc::fanspeed_t def=stdAc::fanspeed_t::kAuto)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2700
void midea(IRMideaAC *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool econo, const int16_t sleep=-1)
Send a Midea A/C message with the supplied settings.
Definition: IRac.cpp:1287
Support for Toshiba protocols.
void sharp(IRSharpAc *ac, const bool on, const bool prev_power, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool filter, const bool clean)
Send a Sharp A/C message with the supplied settings.
Definition: IRac.cpp:1684
void goodweather(IRGoodweatherAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const int16_t sleep=-1)
Send a Goodweather A/C message with the supplied settings.
Definition: IRac.cpp:921
Structure to hold a common A/C state.
Definition: IRsend.h:97
Class for handling detailed Goodweather A/C messages.
Definition: ir_Goodweather.h:90
Support for Vestel protocols. Vestel added by Erdem U. Altinyurt.
Class for handling detailed Argo A/C messages.
Definition: ir_Argo.h:126
Class for handling detailed Neoclima A/C messages.
Definition: ir_Neoclima.h:94
static bool isProtocolSupported(const decode_type_t protocol)
Is the given protocol supported by the IRac class?
Definition: IRac.cpp:138
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:812
uint16_t _pin
The GPIO to use to transmit messages from.
Definition: IRac.h:102
void technibel(IRTechnibelAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const int16_t sleep=-1)
Send a Technibel A/C message with the supplied settings.
Definition: IRac.cpp:1772
voltas_ac_remote_model_t
Voltas A/C model numbers.
Definition: IRsend.h:152
Support for LG protocols.
void carrier64(IRCarrierAc64 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const int16_t sleep=-1)
Send a Carrier 64-bit A/C message with the supplied settings.
Definition: IRac.cpp:391
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46