Go to the documentation of this file.
54 explicit IRac(
const uint16_t pin,
const bool inverted =
false,
55 const bool use_modulation =
true);
60 const float degrees,
const bool celsius,
64 const bool quiet,
const bool turbo,
const bool econo,
65 const bool light,
const bool filter,
const bool clean,
66 const bool beep,
const int16_t sleep,
76 const bool quiet,
const bool turbo,
const bool econo,
77 const bool light,
const bool filter,
const bool clean,
78 const bool beep,
const int16_t sleep = -1,
79 const int16_t clock = -1);
81 static bool strToBool(
const char *str,
const bool def =
false);
82 static int16_t
strToModel(
const char *str,
const int16_t def = -1);
113 #endif // SEND_AIRWELL
123 const bool turbo,
const int16_t sleep = -1);
125 #if SEND_CARRIER_AC64
130 #endif // SEND_CARRIER_AC64
136 const bool turbo,
const bool light,
const bool clean,
137 const int16_t sleep = -1);
138 #endif // SEND_COOLIX
144 #endif // SEND_CORONA_AC
150 const bool quiet,
const bool turbo,
const bool econo,
152 #endif // SEND_DAIKIN
158 const bool quiet,
const bool turbo,
const bool light,
159 const bool econo,
const int16_t sleep = -1,
160 const int16_t clock = -1);
161 #endif // SEND_DAIKIN128
167 const bool quiet,
const bool turbo,
const bool econo);
168 #endif // SEND_DAIKIN152
174 #endif // SEND_DAIKIN160
180 #endif // SEND_DAIKIN176
186 const bool quiet,
const bool turbo,
const bool light,
187 const bool econo,
const bool filter,
const bool clean,
188 const bool beep,
const int16_t sleep = -1,
189 const int16_t clock = -1);
190 #endif // SEND_DAIKIN2
196 const bool quiet,
const bool turbo);
197 #endif // SEND_DAIKIN216
203 const bool quiet,
const bool turbo,
204 const int16_t sleep = -1,
const int16_t clock = -1);
205 #endif // SEND_DAIKIN64
210 const bool turbo,
const int16_t sleep = -1);
211 #endif // SEND_DELONGHI_AC
216 const int16_t sleep = -1,
const int16_t clock = -1);
217 #endif // SEND_ECOCLIM
224 const bool lighttoggle,
const bool clean);
225 #endif // SEND_ELECTRA_AC
229 const bool celsius,
const float degrees,
232 const bool quiet,
const bool turbo,
const bool econo,
233 const bool filter,
const bool clean,
const int16_t sleep = -1);
234 #endif // SEND_FUJITSU_AC
241 const bool turbo,
const bool light,
242 const int16_t sleep = -1);
243 #endif // SEND_GOODWEATHER
249 const bool clean,
const int16_t sleep = -1);
255 const bool filter,
const int16_t sleep = -1,
256 const int16_t clock = -1);
257 #endif // SEND_HAIER_AC
263 const bool turbo,
const bool filter,
264 const int16_t sleep = -1);
265 #endif // SEND_HAIER_AC176
266 #if SEND_HAIER_AC_YRW02
271 const bool turbo,
const bool filter,
272 const int16_t sleep = -1);
273 #endif // SEND_HAIER_AC_YRW02
279 #endif // SEND_HITACHI_AC
282 const bool on,
const bool power_toggle,
286 const bool swing_toggle,
const int16_t sleep = -1);
287 #endif // SEND_HITACHI_AC1
288 #if SEND_HITACHI_AC344
294 #endif // SEND_HITACHI_AC344
295 #if SEND_HITACHI_AC424
300 #endif // SEND_HITACHI_AC424
303 const int8_t dryGrade,
const float degrees,
305 const bool superCool,
const int16_t sleep);
312 const bool quiet,
const bool turbo,
const bool light,
313 const bool filter,
const bool clean);
314 #endif // SEND_KELVINATOR
327 const bool light,
const int16_t sleep = -1);
329 #if SEND_MITSUBISHI_AC
335 const bool quiet,
const int16_t clock = -1);
336 #endif // SEND_MITSUBISHI_AC
337 #if SEND_MITSUBISHI112
344 #endif // SEND_MITSUBISHI112
345 #if SEND_MITSUBISHI136
350 #endif // SEND_MITSUBISHI136
351 #if SEND_MITSUBISHIHEAVY
357 const bool turbo,
const bool econo,
const bool clean);
363 const bool quiet,
const bool turbo,
const bool econo,
364 const bool filter,
const bool clean,
365 const int16_t sleep = -1);
366 #endif // SEND_MITSUBISHIHEAVY
369 const bool celsius,
const float degrees,
372 const bool turbo,
const bool econo,
const bool light,
373 const bool filter,
const int16_t sleep = -1);
374 #endif // SEND_NEOCLIMA
375 #if SEND_PANASONIC_AC
380 const bool quiet,
const bool turbo,
const bool filter,
381 const int16_t clock = -1);
382 #endif // SEND_PANASONIC_AC
383 #if SEND_PANASONIC_AC32
388 #endif // SEND_PANASONIC_AC32
393 const bool quiet,
const bool turbo,
const bool light,
394 const bool filter,
const bool clean,
395 const bool beep,
const bool prevpower =
true,
396 const bool forcepower =
true);
397 #endif // SEND_SAMSUNG_AC
402 const bool beep,
const int16_t sleep = -1);
403 #endif // SEND_SANYO_AC
410 const int16_t sleep = -1,
const int16_t clock = -1);
411 #endif // SEND_SANYO_AC88
417 const bool filter,
const bool clean);
418 #endif // SEND_SHARP_AC
424 const bool quiet,
const bool turbo,
const bool light,
425 const bool econo,
const bool filter);
426 #endif // SEND_TCL112AC
427 #if SEND_TECHNIBEL_AC
432 #endif // SEND_TECHNIBEL_AC
437 const bool light,
const int16_t sleep = -1);
443 const bool turbo,
const bool econo);
444 #endif // SEND_TOSHIBA_AC
449 #endif // SEND_TROTEC
453 const bool celsius,
const float degrees,
455 #endif // SEND_TROTEC_3550
465 const bool turbo,
const bool filter,
466 const int16_t sleep = -1,
const int16_t clock = -1,
467 const bool sendNormal =
true);
468 #endif // SEND_VESTEL_AC
474 const bool turbo,
const bool econo,
const bool light,
475 const int16_t sleep = -1);
476 #endif // SEND_VOLTAS
477 #if SEND_WHIRLPOOL_AC
481 const bool turbo,
const bool light,
482 const int16_t sleep = -1,
const int16_t clock = -1);
483 #endif // SEND_WHIRLPOOL_AC
489 #endif // SEND_TRANSCOLD
Class for handling detailed Panasonic A/C messages.
Definition: ir_Panasonic.h:104
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:315
Support for Kelvinator A/C protocols.
Class for handling detailed Samsung A/C messages.
Definition: ir_Samsung.h:173
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:1166
Class for handling detailed Toshiba A/C messages.
Definition: ir_Toshiba.h:121
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:845
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:136
stdAc::state_t getState(void)
Get the current internal A/C climate state.
Definition: IRac.cpp:131
Class for handling detailed Mitsubishi Heavy 152-bit A/C messages.
Definition: ir_MitsubishiHeavy.h:184
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:3151
void sharp(IRSharpAc *ac, const sharp_ac_remote_model_t model, 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 light, const bool filter, const bool clean)
Send a Sharp A/C message with the supplied settings.
Definition: IRac.cpp:1900
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:1242
Support for Electra A/C protocols.
void ecoclim(IREcoclimAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const int16_t sleep=-1, const int16_t clock=-1)
Send an EcoClim A/C message with the supplied settings.
Definition: IRac.cpp:833
void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:3014
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:710
Support for Trotec protocols.
void haier176(IRHaierAC176 *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 176 bit A/C message with the supplied settings.
Definition: IRac.cpp:1100
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 Sanyo A/C message with the supplied settings.
Definition: IRac.cpp:1818
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:693
Class for handling detailed Delonghi A/C messages.
Definition: ir_Delonghi.h:73
Class for handling detailed Corona A/C messages.
Definition: ir_Corona.h:107
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:1345
Class for handling detailed Daikin 312-bit A/C messages.
Definition: ir_Daikin.h:775
void fujitsu(IRFujitsuAC *ac, const fujitsu_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 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:918
Support for Neoclima protocols. Analysis by crankyoldgit & AndreyShpilevoy.
Class for handling detailed Daikin 128-bit A/C messages.
Definition: ir_Daikin.h:1040
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:3305
whirlpool_ac_remote_model_t
Whirlpool A/C model numbers.
Definition: IRsend.h:170
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:2276
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:779
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:2235
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:2313
bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:3020
static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:3031
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:134
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:1170
Support for Coolix A/C protocols.
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:2193
Class for handling detailed Hitachi 53-byte/424-bit A/C messages.
Definition: ir_Hitachi.h:371
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:546
IRac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: IRac.cpp:57
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:873
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:140
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:1777
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:586
Class for handling detailed Hitachi 224-bit A/C messages.
Definition: ir_Hitachi.h:246
const int8_t kGpioUnused
A placeholder for not using an actual GPIO.
Definition: IRac.h:48
Common functions for use with all A/Cs supported by the IRac class.
Definition: IRac.cpp:3374
Class for handling detailed Sanyo A/C messages.
Definition: ir_Sanyo.h:108
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:1063
Definition: ir_Kelon.h:70
Class for handling detailed Whirlpool A/C messages.
Definition: ir_Whirlpool.h:132
Class for handling detailed Hitachi 344-bit A/C messages.
Definition: ir_Hitachi.h:459
static String boolToString(const bool value)
Convert the supplied boolean into the appropriate String.
Definition: IRac.cpp:3276
stdAc::state_t next
The state we want the device to be in after we send.
Definition: IRac.h:100
std::string String
Definition: IRremoteESP8266.h:1279
Class for handling detailed Mitsubishi 144-bit A/C messages.
Definition: ir_Mitsubishi.h:252
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:2092
static int16_t strToModel(const char *str, const int16_t def=-1)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:3191
Class for handling detailed Amcor A/C messages.
Definition: ir_Amcor.h:90
Class for handling detailed Mitsubishi 122-bit A/C messages.
Definition: ir_Mitsubishi.h:374
Class for handling detailed TCL A/C messages.
Definition: ir_Tcl.h:99
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:678
Class for handling detailed Electra A/C messages.
Definition: ir_Electra.h:99
Support for TCL protocols.
bool hasStateChanged(void)
Check if the internal state has changed from what was previously sent.
Definition: IRac.cpp:3043
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:1134
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:749
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:2362
Class for handling detailed Mitsubishi 136-bit A/C messages.
Definition: ir_Mitsubishi.h:320
panasonic_ac_remote_model_t
Panasonic A/C model numbers.
Definition: IRsend.h:146
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:1502
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:3781
Class for handling detailed Hitachi 104-bit A/C messages.
Definition: ir_Hitachi.h:303
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:1276
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:3380
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:623
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:84
Class for handling detailed Midea A/C messages.
Definition: ir_Midea.h:151
Class for handling detailed Kelvinator A/C messages.
Definition: ir_Kelvinator.h:121
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 quiet, 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:1954
bool _inverted
IR LED is lit when GPIO is LOW (true) or HIGH (false)?
Definition: IRac.h:106
Class for handling detailed Fujitsu A/C messages.
Definition: ir_Fujitsu.h:169
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:116
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 turbo, const bool econo, const bool light, const int16_t sleep=-1)
Send a Midea A/C message with the supplied settings.
Definition: IRac.cpp:1427
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:1699
static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3327
Support for Mitsubishi protocols. Mitsubishi (TV) decoding added from https://github....
A universal/common/generic interface for controling supported A/Cs.
Definition: IRac.h:52
Support for Teco protocols.
Class for handling detailed Trotec 3550 A/C messages.
Definition: ir_Trotec.h:197
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:1025
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:875
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:2349
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:1465
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:343
Class for handling detailed Technibel A/C messages.
Definition: ir_Technibel.h:77
Class for handling detailed EcoClim A/C 56 bit messages.
Definition: ir_Ecoclim.h:84
Class for handling detailed Airwell A/C messages.
Definition: ir_Airwell.h:60
Support for Voltas A/C protocol.
Class for handling detailed Daikin 152-bit A/C messages.
Definition: ir_Daikin.h:1110
Class for handling detailed LG A/C messages.
Definition: ir_LG.h:110
Support for Fujitsu A/C protocols. Fujitsu A/C support added by Jonny Graham.
void trotec3550(IRTrotec3550 *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)
Send a Trotec 3550 A/C message with the supplied settings.
Definition: IRac.cpp:2124
Class for handling detailed Haier A/C messages.
Definition: ir_Haier.h:317
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:1658
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:929
static String opmodeToString(const stdAc::opmode_t mode)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:3283
Class for handling detailed Sharp A/C messages.
Definition: ir_Sharp.h:137
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:2056
Class for handling detailed Haier 176 bit A/C messages.
Definition: ir_Haier.h:387
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:375
lg_ac_remote_model_t
LG A/C model numbers.
Definition: IRsend.h:176
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:1538
bool _modulation
Is frequency modulation to be used?
Definition: IRac.h:107
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:2023
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:3049
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:1203
Class for handling detailed Transcold A/C messages.
Definition: ir_Transcold.h:120
void panasonic32(IRPanasonicAc32 *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 Panasonic A/C message with the supplied settings.
Definition: IRac.cpp:1735
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:3258
void sanyo88(IRSanyoAc88 *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)
Send a Sanyo 88-bit A/C message with the supplied settings.
Definition: IRac.cpp:1859
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:1573
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:3110
Class for handling detailed Vestel A/C messages.
Definition: ir_Vestel.h:100
Class for handling detailed Panasonic 32bit A/C messages.
Definition: ir_Panasonic.h:223
Class for handling detailed Trotec A/C messages.
Definition: ir_Trotec.h:132
Support for Truma protocol.
Class for handling detailed Teco A/C messages.
Definition: ir_Teco.h:62
void truma(IRTrumaAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const bool quiet)
Send a Truma A/C message with the supplied settings.
Definition: IRac.cpp:2156
static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3351
Class for handling detailed Truma A/C messages.
Definition: ir_Truma.h:69
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:809
void kelon(IRKelonAc *ac, const bool togglePower, const stdAc::opmode_t mode, const int8_t dryGrade, const float degrees, const stdAc::fanspeed_t fan, const bool toggleSwing, const bool superCool, const int16_t sleep)
Send a Kelon A/C message with the supplied settings.
Definition: IRac.cpp:1311
Support for Kelan AC protocol. Both sending and decoding should be functional for models of series KE...
stdAc::state_t _prev
The state we expect the device to currently be in.
Definition: IRac.h:108
Class for handling detailed Haier ACYRW02 A/C messages.
Definition: ir_Haier.h:464
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:656
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:511
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)
Initialise the given state with the supplied settings.
Definition: IRac.cpp:88
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, const stdAc::swingv_t swingv, const stdAc::swingv_t swingv_prev, const stdAc::swingh_t swingh, const bool light)
Send a LG A/C message with the supplied settings.
Definition: IRac.cpp:1383
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:1614
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:271
Class for handling detailed Gree A/C messages.
Definition: ir_Gree.h:136
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:444
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:3079
Support for Toshiba protocols.
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:983
Structure to hold a common A/C state.
Definition: IRsend.h:97
Class for handling detailed Goodweather A/C messages.
Definition: ir_Goodweather.h:100
Support for Vestel protocols. Vestel added by Erdem U. Altinyurt.
Class for handling detailed Argo A/C messages.
Definition: ir_Argo.h:127
Class for handling detailed Sanyo A/C messages.
Definition: ir_Sanyo.h:226
Class for handling detailed Neoclima A/C messages.
Definition: ir_Neoclima.h:120
static bool isProtocolSupported(const decode_type_t protocol)
Is the given protocol supported by the IRac class?
Definition: IRac.cpp:141
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:981
uint16_t _pin
The GPIO to use to transmit messages from.
Definition: IRac.h:105
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:1990
voltas_ac_remote_model_t
Voltas A/C model numbers.
Definition: IRsend.h:164
sharp_ac_remote_model_t
Sharp A/C model numbers.
Definition: IRsend.h:157
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:407
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46