IRremoteESP8266
|
#include <IRac.h>
Public Member Functions | |
IRac (const uint16_t pin, const bool inverted=false, const bool use_modulation=true) | |
Class constructor. More... | |
void | markAsSent (void) |
Update the previous state to the current one. More... | |
bool | sendAc (void) |
Send an A/C message based soley on our internal state. More... | |
bool | sendAc (const stdAc::state_t desired, const stdAc::state_t *prev=NULL) |
Send A/C message for a given device using state_t structures. More... | |
bool | sendAc (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=-1, const int16_t clock=-1) |
Send A/C message for a given device using common A/C settings. More... | |
stdAc::state_t | getState (void) |
Get the current internal A/C climate state. More... | |
stdAc::state_t | getStatePrev (void) |
Get the previous internal A/C climate state that should have already been sent to the device. i.e. What the A/C unit should already be set to. More... | |
bool | hasStateChanged (void) |
Check if the internal state has changed from what was previously sent. More... | |
Static Public Member Functions | |
static bool | isProtocolSupported (const decode_type_t protocol) |
Is the given protocol supported by the IRac class? More... | |
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. More... | |
static void | initState (stdAc::state_t *state) |
Initialse the given state with the supplied settings. More... | |
static bool | cmpStates (const stdAc::state_t a, const stdAc::state_t b) |
Compare two AirCon states. More... | |
static bool | strToBool (const char *str, const bool def=false) |
Convert the supplied str into the appropriate boolean value. More... | |
static int16_t | strToModel (const char *str, const int16_t def=-1) |
Convert the supplied str into the appropriate enum. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
static String | boolToString (const bool value) |
Convert the supplied boolean into the appropriate String. More... | |
static String | opmodeToString (const stdAc::opmode_t mode) |
Convert the supplied operation mode into the appropriate String. More... | |
static String | fanspeedToString (const stdAc::fanspeed_t speed) |
Convert the supplied fan speed enum into the appropriate String. More... | |
static String | swingvToString (const stdAc::swingv_t swingv) |
Convert the supplied enum into the appropriate String. More... | |
static String | swinghToString (const stdAc::swingh_t swingh) |
Convert the supplied enum into the appropriate String. More... | |
Public Attributes | |
stdAc::state_t | next |
The state we want the device to be in after we send. More... | |
Private Member Functions | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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) |
Send a Fujitsu A/C message with the supplied settings. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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 int16_t sleep=-1) |
Send a Midea A/C message with the supplied settings. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
void | neoclima (IRNeoclimaAc *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 filter, const int16_t sleep=-1) |
Send a Neoclima A/C message with the supplied settings. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
void | toshiba (IRToshibaAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan) |
Send a Toshiba A/C message with the supplied settings. More... | |
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. More... | |
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. More... | |
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. More... | |
Static Private Member Functions | |
static stdAc::state_t | cleanState (const stdAc::state_t state) |
Create a new state base on the provided state that has been suitably fixed. More... | |
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 need to be toggled. More... | |
Private Attributes | |
uint16_t | _pin |
bool | _inverted |
bool | _modulation |
stdAc::state_t | _prev |
|
explicit |
Class constructor.
[in] | pin | Gpio pin to use when transmitting IR messages. |
[in] | inverted | true, gpio output defaults to high. false, to low. |
[in] | use_modulation | true means use frequency modulation. false, don't. |
|
private |
Send an Amcor A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRAmcorAc object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
|
private |
Send an Argo A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRArgoAC object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | sleep | Nr. of minutes for sleep mode. |
|
static |
Convert the supplied boolean into the appropriate String.
[in] | value | The boolean value to be converted. |
|
private |
Send a Carrier 64-bit A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRCarrierAc64 object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | sleep | Nr. of minutes for sleep mode. |
|
staticprivate |
Create a new state base on the provided state that has been suitably fixed.
[in] | state | The state_t structure describing the desired a/c state. |
|
static |
Compare two AirCon states.
a | A state_t to be compared. |
b | A state_t to be compared. |
|
private |
Send a Coolix A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRCoolixAC object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | light | Turn on the LED/Display mode. |
[in] | clean | Turn on the self-cleaning mode. e.g. Mould, dry filters etc |
[in] | sleep | Nr. of minutes for sleep mode. |
|
private |
Send a Corona A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRCoronaAc object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | econo | Run the device in economical mode. |
|
private |
Send a Daikin A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRDaikinESP object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | econo | Run the device in economical mode. |
[in] | clean | Turn on the self-cleaning mode. e.g. Mould, dry filters etc |
|
private |
Send a Daikin 128-bit A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRDaikin128 object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | light | Turn on the LED/Display mode. |
[in] | econo | Run the device in economical mode. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, > 0 is on. |
[in] | clock | The time in Nr. of mins since midnight. < 0 is ignore. |
|
private |
Send a Daikin 152-bit A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRDaikin152 object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | econo | Run the device in economical mode. |
|
private |
Send a Daikin 160-bit A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRDaikin160 object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
|
private |
Send a Daikin 176-bit A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRDaikin176 object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingh | The horizontal swing setting. |
|
private |
Send a Daikin2 A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRDaikin2 object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | light | Turn on the LED/Display mode. |
[in] | econo | Run the device in economical mode. |
[in] | filter | Turn on the (ion/pollen/etc) filter mode. |
[in] | clean | Turn on the self-cleaning mode. e.g. Mould, dry filters etc |
[in] | beep | Enable/Disable beeps when receiving IR messages. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, > 0 is on. |
[in] | clock | The time in Nr. of mins since midnight. < 0 is ignore. |
|
private |
Send a Daikin 216-bit A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRDaikin216 object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
[in] | turbo | Run the device in turbo/powerful mode. |
|
private |
Send a Daikin 64-bit A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRDaikin64 object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, > 0 is on. |
[in] | clock | The time in Nr. of mins since midnight. < 0 is ignore. |
|
private |
Send a Delonghi A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRDelonghiAc object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | celsius | Temperature units. True is Celsius, False is Fahrenheit. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, >= 0 is on. |
|
private |
Send an Electra A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRElectraAc object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | lighttoggle | Should we toggle the LED/Display? |
[in] | clean | Turn on the self-cleaning mode. e.g. Mould, dry filters etc |
|
static |
Convert the supplied fan speed enum into the appropriate String.
[in] | speed | The enum to be converted. |
|
private |
Send a Fujitsu A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRFujitsuAC object to use. |
[in] | model | The A/C model to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | econo | Run the device in economical mode. |
[in] | filter | Turn on the (ion/pollen/etc) filter mode. |
[in] | clean | Turn on the self-cleaning mode. e.g. Mould, dry filters etc |
stdAc::state_t IRac::getState | ( | void | ) |
Get the current internal A/C climate state.
stdAc::state_t IRac::getStatePrev | ( | void | ) |
Get the previous internal A/C climate state that should have already been sent to the device. i.e. What the A/C unit should already be set to.
|
private |
Send a Goodweather A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRGoodweatherAc object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | light | Turn on the LED/Display mode. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, >= 0 is on. |
|
private |
Send a Gree A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRGreeAC object to use. |
[in] | model | The A/C model to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | celsius | Temperature units. True is Celsius, False is Fahrenheit. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | light | Turn on the LED/Display mode. |
[in] | clean | Turn on the self-cleaning mode. e.g. Mould, dry filters etc |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, >= 0 is on. |
|
private |
Send a Haier A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRGreeAC object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | filter | Turn on the (ion/pollen/etc) filter mode. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, >= 0 is on. |
[in] | clock | The time in Nr. of mins since midnight. < 0 is ignore. |
|
private |
Send a Haier YRWO2 A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRHaierACYRW02 object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | filter | Turn on the (ion/pollen/etc) filter mode. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, >= 0 is on. |
|
staticprivate |
Create a new state base on desired & previous states but handle any state changes for options that need to be toggled.
[in] | desired | The state_t structure describing the desired a/c state. |
[in] | prev | A Ptr to the previous state_t structure. |
bool IRac::hasStateChanged | ( | void | ) |
Check if the internal state has changed from what was previously sent.
|
private |
Send a Hitachi A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRHitachiAc object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
|
private |
Send a Hitachi1 A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRHitachiAc1 object to use. |
[in] | model | The A/C model to use. |
[in] | on | The power setting. |
[in] | power_toggle | The power toggle setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | swing_toggle | The swing_toggle setting. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, >= 0 is on. |
|
private |
Send a Hitachi 344-bit A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRHitachiAc344 object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
|
private |
Send a Hitachi 424-bit A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRHitachiAc424 object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
|
static |
Initialse the given state with the supplied settings.
[out] | state | A Ptr to where the settings will be stored. |
|
static |
Initialse the given state with the supplied settings.
[out] | state | A Ptr to where the settings will be stored. |
[in] | vendor | The vendor/protocol type. |
[in] | model | The A/C model if applicable. |
[in] | power | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | celsius | Temperature units. True is Celsius, False is Fahrenheit. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | econo | Run the device in economical mode. |
[in] | light | Turn on the LED/Display mode. |
[in] | filter | Turn on the (ion/pollen/etc) filter mode. |
[in] | clean | Turn on the self-cleaning mode. e.g. Mould, dry filters etc |
[in] | beep | Enable/Disable beeps when receiving IR messages. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, >= 0 is on. Some devices it is the nr. of mins to run for. Others it may be the time to enter/exit sleep mode. i.e. Time in Nr. of mins since midnight. |
[in] | clock | The time in Nr. of mins since midnight. < 0 is ignore. |
|
static |
Is the given protocol supported by the IRac class?
[in] | protocol | The vendor/protocol type. |
|
private |
Send a Kelvinator A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRKelvinatorAC object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | light | Turn on the LED/Display mode. |
[in] | filter | Turn on the (ion/pollen/etc) filter mode. |
[in] | clean | Turn on the self-cleaning mode. e.g. XFan, dry filters etc |
|
private |
Send a LG A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRLgAc object to use. |
[in] | model | The A/C model to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
void IRac::markAsSent | ( | void | ) |
Update the previous state to the current one.
|
private |
Send a Midea A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRMideaAC object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | celsius | Temperature units. True is Celsius, False is Fahrenheit. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, >= 0 is on. |
|
private |
Send a Mitsubishi A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRMitsubishiAC object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
[in] | clock | The time in Nr. of mins since midnight. < 0 is ignore. |
|
private |
Send a Mitsubishi 112-bit A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRMitsubishi112 object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
|
private |
Send a Mitsubishi 136-bit A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRMitsubishi136 object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
|
private |
Send a Mitsubishi Heavy 152-bit A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRMitsubishiHeavy152Ac object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | econo | Run the device in economical mode. |
[in] | filter | Turn on the (ion/pollen/etc) filter mode. |
[in] | clean | Turn on the self-cleaning mode. e.g. Mould, dry filters etc |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, > 0 is on. |
|
private |
Send a Mitsubishi Heavy 88-bit A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRMitsubishiHeavy88Ac object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | econo | Run the device in economical mode. |
[in] | clean | Turn on the self-cleaning mode. e.g. Mould, dry filters etc |
|
private |
Send a Neoclima A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRNeoclimaAc object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | light | Turn on the LED/Display mode. |
[in] | filter | Turn on the (ion/pollen/etc) filter mode. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, > 0 is on. |
|
static |
Convert the supplied operation mode into the appropriate String.
[in] | mode | The enum to be converted. |
|
private |
Send a Panasonic A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRPanasonicAc object to use. |
[in] | model | The A/C model to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | filter | Turn on the (ion/pollen/etc) filter mode. |
[in] | clock | The time in Nr. of mins since midnight. < 0 is ignore. |
|
private |
Send a Samsung A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRSamsungAc object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | light | Turn on the LED/Display mode. |
[in] | filter | Turn on the (ion/pollen/etc) filter mode. |
[in] | clean | Turn on the self-cleaning mode. e.g. Mould, dry filters etc |
[in] | beep | Enable/Disable beeps when receiving IR messages. |
[in] | prevpower | The power setting from the previous A/C state. |
[in] | forcepower | Do we force send the special power message? |
bool IRac::sendAc | ( | 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 = -1 , |
||
const int16_t | clock = -1 |
||
) |
Send A/C message for a given device using common A/C settings.
[in] | vendor | The vendor/protocol type. |
[in] | model | The A/C model if applicable. |
[in] | power | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | celsius | Temperature units. True is Celsius, False is Fahrenheit. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | quiet | Run the device in quiet/silent mode. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | econo | Run the device in economical mode. |
[in] | light | Turn on the LED/Display mode. |
[in] | filter | Turn on the (ion/pollen/etc) filter mode. |
[in] | clean | Turn on the self-cleaning mode. e.g. Mould, dry filters etc |
[in] | beep | Enable/Disable beeps when receiving IR messages. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, >= 0 is on. Some devices it is the nr. of mins to run for. Others it may be the time to enter/exit sleep mode. i.e. Time in Nr. of mins since midnight. |
[in] | clock | The time in Nr. of mins since midnight. < 0 is ignore. |
bool IRac::sendAc | ( | const stdAc::state_t | desired, |
const stdAc::state_t * | prev = NULL |
||
) |
Send A/C message for a given device using state_t structures.
[in] | desired | The state_t structure describing the desired new ac state |
[in] | prev | A Ptr to the state_t structure containing the previous state |
bool IRac::sendAc | ( | void | ) |
Send an A/C message based soley on our internal state.
|
private |
Send a Sharp A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRSharpAc object to use. |
[in] | on | The power setting. |
[in] | prev_power | The power setting from the previous A/C state. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | filter | Turn on the (ion/pollen/etc) filter mode. |
[in] | clean | Turn on the self-cleaning mode. e.g. Mould, dry filters etc |
|
static |
Convert the supplied str into the appropriate boolean value.
[in] | str | A Ptr to a C-style string to be converted. |
[in] | def | The boolean value to return if no conversion was possible. |
|
static |
Convert the supplied str into the appropriate enum.
[in] | str | A Ptr to a C-style string to be converted. |
[in] | def | The enum to return if no conversion was possible. |
|
static |
Convert the supplied str into the appropriate enum.
[in] | str | A Ptr to a C-style string to be converted. |
[in] | def | The enum to return if no conversion was possible. |
|
static |
Convert the supplied str into the appropriate enum.
[in] | str | A Ptr to a C-style string to be converted. |
[in] | def | The enum to return if no conversion was possible. |
|
static |
Convert the supplied str into the appropriate enum.
[in] | str | A Ptr to a C-style string to be converted. |
[in] | def | The enum to return if no conversion was possible. |
|
static |
Convert the supplied str into the appropriate enum.
[in] | str | A Ptr to a C-style string to be converted. |
[in] | def | The enum to return if no conversion was possible. |
|
static |
Convert the supplied enum into the appropriate String.
[in] | swingh | The enum to be converted. |
|
static |
Convert the supplied enum into the appropriate String.
[in] | swingv | The enum to be converted. |
|
private |
Send a TCL 112-bit A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRTcl112Ac object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | swingh | The horizontal swing setting. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | light | Turn on the LED/Display mode. |
[in] | econo | Run the device in economical mode. |
[in] | filter | Turn on the (ion/pollen/etc) filter mode. |
|
private |
Send a Teco A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRTecoAc object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | light | Turn on the LED/Display mode. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, > 0 is on. |
|
private |
Send a Toshiba A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRToshibaAC object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
|
private |
Send a Trotec A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRTrotecESP object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, > 0 is on. |
|
private |
Send a Vestel A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRVestelAc object to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | filter | Turn on the (ion/pollen/etc) filter mode. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, > 0 is on. |
[in] | clock | The time in Nr. of mins since midnight. < 0 is ignore. |
[in] | sendNormal | Do we send a Normal settings message at all? i.e In addition to the clock/time/timer message |
|
private |
Send a Whirlpool A/C message with the supplied settings.
[in,out] | ac | A Ptr to an IRWhirlpoolAc object to use. |
[in] | model | The A/C model to use. |
[in] | on | The power setting. |
[in] | mode | The operation mode setting. |
[in] | degrees | The temperature setting in degrees. |
[in] | fan | The speed setting for the fan. |
[in] | swingv | The vertical swing setting. |
[in] | turbo | Run the device in turbo/powerful mode. |
[in] | light | Turn on the LED/Display mode. |
[in] | sleep | Nr. of minutes for sleep mode. -1 is Off, > 0 is on. |
[in] | clock | The time in Nr. of mins since midnight. < 0 is ignore. |
|
private |
|
private |
|
private |
|
private |
stdAc::state_t IRac::next |
The state we want the device to be in after we send.