diff --git a/README.md b/README.md
index b15ef1abe..47178861a 100644
--- a/README.md
+++ b/README.md
@@ -10,8 +10,8 @@
This library enables you to **send _and_ receive** infra-red signals on an [ESP8266](https://github.com/esp8266/Arduino) or an
[ESP32](https://github.com/espressif/arduino-esp32) using the [Arduino framework](https://www.arduino.cc/) using common 940nm IR LEDs and common IR receiver modules. e.g. TSOP{17,22,24,36,38,44,48}* demodulators etc.
-## v2.8.4 Now Available
-Version 2.8.4 of the library is now [available](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). You can view the [Release Notes](ReleaseNotes.md) for all the significant changes.
+## v2.8.5 Now Available
+Version 2.8.5 of the library is now [available](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). You can view the [Release Notes](ReleaseNotes.md) for all the significant changes.
#### Upgrading from pre-v2.0
Usage of the library has been slightly changed in v2.0. You will need to change your usage to work with v2.0 and beyond. You can read more about the changes required on our [Upgrade to v2.0](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Upgrading-to-v2.0) page.
diff --git a/README_de.md b/README_de.md
index 51c18c482..f55860528 100644
--- a/README_de.md
+++ b/README_de.md
@@ -11,8 +11,8 @@
Diese Programmbibliothek ermöglicht das **Senden _und_ Empfangen** von Infrarotsignalen mit [ESP8266](https://github.com/esp8266/Arduino)- und
[ESP32](https://github.com/espressif/arduino-esp32)-Mikrocontrollern mithilfe des [Arduino-Frameworks](https://www.arduino.cc/) und handelsüblichen 940nm Infrarot-LEDs undIR-Empfängermodulen, wie zum Beispiel TSOP{17,22,24,36,38,44,48}*-Demodulatoren.
-## v2.8.4 jetzt verfügbar
-Version 2.8.4 der Bibliothek ist nun [verfügbar](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Die [Versionshinweise](ReleaseNotes.md) enthalten alle wichtigen Neuerungen.
+## v2.8.5 jetzt verfügbar
+Version 2.8.5 der Bibliothek ist nun [verfügbar](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Die [Versionshinweise](ReleaseNotes.md) enthalten alle wichtigen Neuerungen.
#### Hinweis für Nutzer von Versionen vor v2.0
Die Benutzung der Bibliothek hat sich mit Version 2.0 leicht geändert. Einige Anpassungen im aufrufenden Code werden nötig sein, um mit Version ab 2.0 korrekt zu funktionieren. Mehr zu den Anpassungen finden sich auf unserer [Upgrade to v2.0](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Upgrading-to-v2.0)-Seite.
diff --git a/README_fr.md b/README_fr.md
index 71e436fc3..430d32de3 100644
--- a/README_fr.md
+++ b/README_fr.md
@@ -10,8 +10,8 @@
Cette librairie vous permetra de **recevoir et d'envoyer des signaux** infrarouge sur le protocole [ESP8266](https://github.com/esp8266/Arduino) ou sur le protocole
[ESP32](https://github.com/espressif/arduino-esp32) en utilisant le [Arduino framework](https://www.arduino.cc/) qui utilise la norme 940nm IR LEDs et le module basique de reception d'onde IR. Exemple : TSOP{17,22,24,36,38,44,48}* modules etc.
-## v2.8.4 disponible
-Version 2.8.4 de la libraire est maintenant [disponible](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Vous pouvez voir le [Release Notes](ReleaseNotes.md) pour tous les changements importants.
+## v2.8.5 disponible
+Version 2.8.5 de la libraire est maintenant [disponible](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Vous pouvez voir le [Release Notes](ReleaseNotes.md) pour tous les changements importants.
#### mise à jour depuis pre-v2.0
L'utilisation de la librairie à un peu changer depuis la version in v2.0. Si vous voulez l'utiliser vous devrez changer votre utilisation aussi. Vous pouvez vous renseigner sur les précondition d'utilisation ici : [Upgrade to v2.0](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Upgrading-to-v2.0) page.
diff --git a/README_nl.md b/README_nl.md
index d85c3e9b1..fdea85cae 100644
--- a/README_nl.md
+++ b/README_nl.md
@@ -10,8 +10,8 @@
Deze library maakt het mogelijk om Infraroodsignalen **te versturen en ontvangen** via het [Arduino framework](https://www.arduino.cc/) met veelgebruikte 940nm IR LEDs en IR ontvang modules. b.v. TSOP{17,22,24,36,38,44,48}* demodulatoren enz.
-## v2.8.4 nu beschikbaar
-Versie 2.8.4 van de bibliotheek is nu [beschikbaar](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Bekijk de [Release Notes](ReleaseNotes.md) voor alle belangrijke veranderingen.
+## v2.8.5 nu beschikbaar
+Versie 2.8.5 van de bibliotheek is nu [beschikbaar](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Bekijk de [Release Notes](ReleaseNotes.md) voor alle belangrijke veranderingen.
#### Upgraden vanaf pre-v2.0
Het gebruik van de bibliotheek is enigszins gewijzigd in v2.0. Je zult het gebruik moeten aanpassen om te kunnen werken met v2.0 en hoger. Je kunt meer lezen over de vereiste aanpassingen op onze [Upgraden naar v2.0](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Upgrading-to-v2.0) pagina.
diff --git a/ReleaseNotes.md b/ReleaseNotes.md
index 0370c91a6..d9e86c7e3 100644
--- a/ReleaseNotes.md
+++ b/ReleaseNotes.md
@@ -1,5 +1,41 @@
# Release Notes
+## _v2.8.5 (20230508)_
+
+**[Bug Fixes]**
+- Fix a bug where we never detached the timer interrupt on ESP32s. (#1984 #1983)
+- Missing argument in use of midea function (#1959 #1958)
+- IRMQTTServer: Improve HA MQTT climate handling. (#1911)
+- SEND_SANYO_AC88: Fix poor cut-n-paste error (#1905 #1897)
+
+**[Features]**
+- Add support for a 40bit variant of the standard Panasonic protocol (#1977 @1976)
+- Initial support for York AC protocol (#1889)
+- IRMQTTServer: SHT-3x Temperature Sensor Support (#1951)
+- IRMQTTServer: HA multi output discovery (#1947)
+- IRMQTTServer: extended with new A/C common fields (#1940)
+- IRMQTTServer: Sync the on state to power from mode for HA (#1946)
+- Experimental basic support for Carrier 84-bit protocol. (#1945 #1943)
+- Add support the WowWee 11-Bit RoboRaptor-X protocol. (#1939 #1938)
+- Added 'sensorTemperature' and 'iFeel' to IRac (common) (#1928)
+- Added extra 'mid' option for Fan & SwingV to IRac (#1929)
+- Added "commandType" to IRAc (#1921)
+- Added support for Argo WREM-3 A/C remote protocol [part1] (#1920)
+- Added Dutch (nl-NL) translation (#1907)
+- ARGO: Improve code & add support for decoding 32bit sensor msgs. (#1906 #1859)
+- Added support for Gorenje cooker hood IR protocol (#1888 #1887)
+
+**[Misc]**
+- Add Electrolux YKR-H/531E as a supported device (#1981 #1980)
+- Update `XMP` status to Stable (#1944)
+- upgrade to a later version of `googletest` (#1936)
+- MITSUBISHI128: Added model to supported protocol (#1924)
+- Added Dutch (nl-NL) README (#1908)
+- Added GMock to UT Makefile (#1902)
+- Update HA example config for HA 2022.6+ (#1901 #1900)
+- Add a `d1_mini_noMDNS` build option to `IRMQTTServer`. (#1985)
+
+
## _v2.8.4 (20220918)_
**[Bug Fixes]**
diff --git a/SupportedProtocols.md b/SupportedProtocols.md
index 422a5bf2d..46b65ca5e 100644
--- a/SupportedProtocols.md
+++ b/SupportedProtocols.md
@@ -1,6 +1,6 @@
+ Last generated: Mon 08 May 2023 07:06:16 +0000 --->
# IR Protocols supported by this library
| Protocol | Brand | Model | A/C Model | Detailed A/C Support |
@@ -9,11 +9,11 @@
| [Airwell](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Airwell.cpp) | **[Airwell](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Airwell.h)** | DLS 21 DCI R410 AW A/C
RC04 remote
RC08W remote | | Yes |
| [Aiwa](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Aiwa.cpp) | **Aiwa** | RC-T501 RCU | | - |
| [Amcor](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Amcor.cpp) | **[Amcor](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Amcor.h)** | ADR-853H A/C
TAC-444 remote
TAC-495 remote | | Yes |
-| [Argo](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Argo.cpp) | **[Argo](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Argo.h)** | Ulisse 13 DCI Mobile Split A/C | | Yes |
+| [Argo](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Argo.cpp) | **[Argo](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Argo.h)** | Ulisse 13 DCI Mobile Split A/C [WREM2 remote]
Ulisse Eco Mobile Split A/C (Wifi) [WREM3 remote] | SAC_WREM2
SAC_WREM3 | Yes |
| [Arris](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Arris.cpp) | **Arris** | 120A V1.0 A18 remote
VIP1113M Set-top box | | - |
| [Bosch](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Bosch.cpp) | **[Bosch](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Bosch.h)** | CL3000i-Set 26 E A/C
RG10A(G2S)BGEF remote | | Yes |
| [Bose](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Bose.cpp) | **Bose** | Bose TV Speaker | | - |
-| [Carrier](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Carrier.cpp) | **[Carrier](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Carrier.h)** | 40GKX0E2006 remote (CARRIER_AC128) | | Yes |
+| [Carrier](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Carrier.cpp) | **[Carrier](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Carrier.h)** | 3021203 RR03-S-Remote (CARRIER_AC84)
342WM100CT A/C (CARRIER_AC84)
40GKX0E2006 remote (CARRIER_AC128) | | Yes |
| [Carrier](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Carrier.cpp) | **[Carrier/Surrey](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Carrier.h)** | 42QG5A55970 remote
53NGK009/012 Inverter
619EGX0090E0 A/C
619EGX0120E0 A/C
619EGX0180E0 A/C
619EGX0220E0 A/C | | Yes |
| [ClimaButler](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_ClimaButler.cpp) | **Clima-Butler** | AR-715 remote
RCS-SD43UWI A/C | | - |
| [Coolix](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Coolix.cpp) | **[Airwell](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Coolix.h)** | RC08B remote | | Yes |
@@ -35,6 +35,7 @@
| [Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.cpp) | **[AUX](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.h)** | KFR-35GW/BpNFW=3 A/C
YKR-T/011 remote | | Yes |
| [Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.cpp) | **[Centek](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.h)** | SCT-65Q09 A/C
YKR-P/002E remote | | Yes |
| [Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.cpp) | **[Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.h)** | Classic INV 17 / AXW12DCS A/C
YKR-M/003E remote | | Yes |
+| [Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.cpp) | **[Electrolux](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.h)** | YKR-H/531E A/C | | Yes |
| [Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.cpp) | **[Frigidaire](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.h)** | FGPC102AB1 A/C | | Yes |
| [Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.cpp) | **[Subtropic](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.h)** | SUB-07HN1_18Y A/C
YKR-H/102E remote | | Yes |
| [EliteScreens](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_EliteScreens.cpp) | **Elite Screens** | CineTension2 / CineTension3 series
Home2 / Home3 series
Spectrum series
VMAX Plus4 series
VMAX2 / VMAX2 Plus series
ZSP-IR-B / ZSP-IR-W remote | | - |
@@ -46,6 +47,7 @@
| [GICable](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_GICable.cpp) | **G.I. Cable** | XRC-200 remote | | - |
| [GlobalCache](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_GlobalCache.cpp) | **Global Cache** | Control Tower IR DB | | - |
| [Goodweather](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Goodweather.cpp) | **[Goodweather](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Goodweather.h)** | ZH/JT-03 remote | | Yes |
+| [Gorenje](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gorenje.cpp) | **Gorenje** | DKF 2600 MWT Cooker Hood | | - |
| [Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.cpp) | **[Amana](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.h)** | PBC093G00CC A/C
YX1FF remote | YAW1F
YBOFB
YX1FSF | Yes |
| [Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.cpp) | **[Cooper & Hunter](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.h)** | CH-S09FTXG A/C
YB1F2 remote | YAW1F
YBOFB
YX1FSF | Yes |
| [Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.cpp) | **[EKOKAI](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.h)** | A/C | YAW1F
YBOFB
YX1FSF | Yes |
@@ -89,7 +91,7 @@
| [Mirage](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mirage.cpp) | **[Mirage](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mirage.h)** | VLU series A/C | KKG29AC1
KKG9AC1 | Yes |
| [Mirage](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mirage.cpp) | **[Tronitechnik](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mirage.h)** | KKG29A-C1 remote
Reykir 9000 A/C | KKG29AC1
KKG9AC1 | Yes |
| [Mitsubishi](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.cpp) | **[Mitsubishi](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.h)** | HC3000 Projector (MITSUBISHI2)
KM14A 0179213 remote
MS-GK24VA A/C
TV (MITSUBISHI) | | Yes |
-| [Mitsubishi](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.cpp) | **[Mitsubishi Electric](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.h)** | 001CP T7WE10714 remote (MITSUBISHI136)
KPOA remote (MITSUBISHI112)
MLZ-RX5017AS A/C (MITSUBISHI_AC)
MSH-A24WV A/C (MITSUBISHI112)
MSZ-FHnnVE A/C (MITSUBISHI_AC)
MSZ-GV2519 A/C (MITSUBISHI_AC)
MSZ-SF25VE3 A/C (MITSUBISHI_AC)
MSZ-ZW4017S A/C (MITSUBISHI_AC)
MUH-A24WV A/C (MITSUBISHI112)
PEAD-RP71JAA Ducted A/C (MITSUBISHI136)
RH151 remote (MITSUBISHI_AC)
RH151/M21ED6426 remote (MITSUBISHI_AC)
SG153/M21EDF426 remote (MITSUBISHI_AC)
SG15D remote (MITSUBISHI_AC) | | Yes |
+| [Mitsubishi](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.cpp) | **[Mitsubishi Electric](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.h)** | 001CP T7WE10714 remote (MITSUBISHI136)
KPOA remote (MITSUBISHI112)
MLZ-RX5017AS A/C (MITSUBISHI_AC)
MSH-A24WV A/C (MITSUBISHI112)
MSZ-FHnnVE A/C (MITSUBISHI_AC)
MSZ-GV2519 A/C (MITSUBISHI_AC)
MSZ-SF25VE3 A/C (MITSUBISHI_AC)
MSZ-ZW4017S A/C (MITSUBISHI_AC)
MUH-A24WV A/C (MITSUBISHI112)
PAR-FA32MA remote (MITSUBISHI136)
PEAD-RP71JAA Ducted A/C (MITSUBISHI136)
RH151 remote (MITSUBISHI_AC)
RH151/M21ED6426 remote (MITSUBISHI_AC)
SG153/M21EDF426 remote (MITSUBISHI_AC)
SG15D remote (MITSUBISHI_AC) | | Yes |
| [MitsubishiHeavy](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_MitsubishiHeavy.cpp) | **[Mitsubishi Heavy Industries](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_MitsubishiHeavy.h)** | RKX502A001C remote (88 bit)
RLA502A700B remote (152 bit)
SRKxxZJ-S A/C (88 bit)
SRKxxZM-S A/C (152 bit)
SRKxxZMXA-S A/C (152 bit) | | Yes |
| [Multibrackets](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Multibrackets.cpp) | **Multibrackets** | Motorized Swing mount large - 4500 | | - |
| [NEC](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_NEC.cpp) | **[Aloka](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_NEC.h)** | SleepyLights LED Lamp | | - |
@@ -137,7 +139,9 @@
| [Voltas](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Voltas.cpp) | **[Voltas](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Voltas.h)** | 122LZF 4011252 Window A/C | 122LZF | Yes |
| [Whirlpool](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Whirlpool.cpp) | **[Whirlpool](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Whirlpool.h)** | DG11J1-04 remote
DG11J1-3A remote
DG11J1-91 remote
SPIS409L A/C
SPIS412L A/C
SPIW409L A/C
SPIW412L A/C
SPIW418L A/C | DG11J13A
DG11J191 | Yes |
| [Whynter](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Whynter.cpp) | **Whynter** | ARC-110WD A/C | | - |
+| [Wowwee](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Wowwee.cpp) | **WowWee** | RoboRapter-X | | - |
| [Xmp](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Xmp.cpp) | **Xfinity** | XR11 remote
XR2 remote | | - |
+| [York](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_York.cpp) | **[York](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_York.h)** | GRYLH2A remote
MHH07P17 A/C | | Yes |
| [Zepeal](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Zepeal.cpp) | **Zepeal** | DRT-A3311(BG) 5 button remote
DRT-A3311(BG) floor fan | | - |
@@ -164,6 +168,7 @@
- CARRIER_AC128
- CARRIER_AC40
- CARRIER_AC64
+- CARRIER_AC84
- CLIMABUTLER
- COOLIX
- COOLIX48
@@ -189,6 +194,7 @@
- FUJITSU_AC
- GICABLE
- GOODWEATHER
+- GORENJE
- GREE
- HAIER_AC
- HAIER_AC160
@@ -267,5 +273,7 @@
- VOLTAS
- WHIRLPOOL_AC
- WHYNTER
+- WOWWEE
- XMP
+- YORK
- ZEPEAL
diff --git a/docs/doxygen/html/IRac_8h_source.html b/docs/doxygen/html/IRac_8h_source.html
index 38e30a7f9..6ac997213 100644
--- a/docs/doxygen/html/IRac_8h_source.html
+++ b/docs/doxygen/html/IRac_8h_source.html
@@ -76,686 +76,715 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
- 58 explicit IRac(
const uint16_t pin,
const bool inverted =
false,
- 59 const bool use_modulation =
true);
-
-
-
-
- 64 const float degrees,
const bool celsius,
-
-
-
- 68 const bool quiet,
const bool turbo,
const bool econo,
- 69 const bool light,
const bool filter,
const bool clean,
- 70 const bool beep,
const int16_t sleep,
-
-
-
-
-
-
-
-
-
- 80 const bool quiet,
const bool turbo,
const bool econo,
- 81 const bool light,
const bool filter,
const bool clean,
- 82 const bool beep,
const int16_t sleep = -1,
- 83 const int16_t clock = -1);
-
- 85 static bool strToBool(
const char *str,
const bool def =
false);
- 86 static int16_t
strToModel(
const char *str,
const int16_t def = -1);
-
-
-
-
-
-
-
-
-
-
-
- 98 const bool ha =
false);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 119 const bool light,
const bool econo,
const bool filter,
- 120 const int16_t sleep = -1);
- 121 #endif // SEND_AIRTON
-
-
-
-
- 126 #endif // SEND_AIRWELL
-
-
-
-
-
-
-
-
-
- 136 const bool turbo,
const int16_t sleep = -1);
-
-
-
-
-
-
- 143 #endif // SEND_COOLIX
- 144 #if SEND_CARRIER_AC64
-
-
-
-
- 149 #endif // SEND_CARRIER_AC64
-
-
-
-
-
- 155 const bool turbo,
const bool light,
const bool clean,
- 156 const int16_t sleep = -1);
- 157 #endif // SEND_COOLIX
-
-
-
-
-
- 163 #endif // SEND_CORONA_AC
-
-
-
-
-
- 169 const bool quiet,
const bool turbo,
const bool econo,
-
- 171 #endif // SEND_DAIKIN
-
-
-
-
-
- 177 const bool quiet,
const bool turbo,
const bool light,
- 178 const bool econo,
const int16_t sleep = -1,
- 179 const int16_t clock = -1);
- 180 #endif // SEND_DAIKIN128
-
-
-
-
-
- 186 const bool quiet,
const bool turbo,
const bool econo);
- 187 #endif // SEND_DAIKIN152
-
-
-
-
-
- 193 #endif // SEND_DAIKIN160
-
-
-
-
-
- 199 #endif // SEND_DAIKIN176
-
-
-
-
-
- 205 const bool quiet,
const bool turbo,
const bool light,
- 206 const bool econo,
const bool filter,
const bool clean,
- 207 const bool beep,
const int16_t sleep = -1,
- 208 const int16_t clock = -1);
- 209 #endif // SEND_DAIKIN2
-
-
-
-
-
- 215 const bool quiet,
const bool turbo);
- 216 #endif // SEND_DAIKIN216
-
-
-
-
-
- 222 const bool quiet,
const bool turbo,
- 223 const int16_t sleep = -1,
const int16_t clock = -1);
- 224 #endif // SEND_DAIKIN64
-
-
-
-
- 229 const bool turbo,
const int16_t sleep = -1);
- 230 #endif // SEND_DELONGHI_AC
-
-
-
-
- 235 const int16_t sleep = -1,
const int16_t clock = -1);
- 236 #endif // SEND_ECOCLIM
-
-
-
-
-
-
- 243 const bool lighttoggle,
const bool clean);
- 244 #endif // SEND_ELECTRA_AC
-
-
-
- 248 const bool celsius,
const float degrees,
-
-
- 251 const bool quiet,
const bool turbo,
const bool econo,
- 252 const bool filter,
const bool clean,
const int16_t sleep = -1);
- 253 #endif // SEND_FUJITSU_AC
-
-
-
-
-
-
- 260 const bool turbo,
const bool light,
- 261 const int16_t sleep = -1);
- 262 #endif // SEND_GOODWEATHER
-
-
-
-
-
- 268 const bool turbo,
const bool econo,
const bool light,
- 269 const bool clean,
const int16_t sleep = -1);
-
-
-
-
-
- 275 const bool filter,
const int16_t sleep = -1,
- 276 const int16_t clock = -1);
- 277 #endif // SEND_HAIER_AC
-
-
-
-
-
- 283 const bool turbo,
const bool quiet,
const bool filter,
- 284 const bool clean,
const bool light,
const bool prevlight,
- 285 const int16_t sleep = -1);
- 286 #endif // SEND_HAIER_AC160
-
-
-
-
-
-
- 293 const bool turbo,
const bool quiet,
const bool filter,
- 294 const int16_t sleep = -1);
- 295 #endif // SEND_HAIER_AC176
- 296 #if SEND_HAIER_AC_YRW02
-
-
- 299 const bool celsius,
const float degrees,
-
-
- 302 const bool quiet,
const bool filter,
- 303 const int16_t sleep = -1);
- 304 #endif // SEND_HAIER_AC_YRW02
-
-
-
-
-
- 310 #endif // SEND_HITACHI_AC
-
-
- 313 const bool on,
const bool power_toggle,
-
-
-
- 317 const bool swing_toggle,
const int16_t sleep = -1);
- 318 #endif // SEND_HITACHI_AC1
- 319 #if SEND_HITACHI_AC264
-
-
-
- 323 #endif // SEND_HITACHI_AC264
- 324 #if SEND_HITACHI_AC296
-
-
-
- 328 #endif // SEND_HITACHI_AC296
- 329 #if SEND_HITACHI_AC344
-
-
-
-
-
- 335 #endif // SEND_HITACHI_AC344
- 336 #if SEND_HITACHI_AC424
-
-
-
-
- 341 #endif // SEND_HITACHI_AC424
-
-
- 344 const int8_t dryGrade,
const float degrees,
-
- 346 const bool superCool,
const int16_t sleep);
-
-
-
-
-
-
- 353 const bool quiet,
const bool turbo,
const bool light,
- 354 const bool filter,
const bool clean);
- 355 #endif // SEND_KELVINATOR
-
-
-
-
-
-
-
-
-
-
-
-
- 368 const bool quiet,
const bool quiet_prev,
const bool turbo,
- 369 const bool econo,
const bool light,
const bool clean,
- 370 const int16_t sleep = -1);
-
-
-
- 374 #endif // SEND_MIRAGE
- 375 #if SEND_MITSUBISHI_AC
-
-
-
-
-
- 381 const bool quiet,
const int16_t clock = -1);
- 382 #endif // SEND_MITSUBISHI_AC
- 383 #if SEND_MITSUBISHI112
-
-
-
-
-
-
- 390 #endif // SEND_MITSUBISHI112
- 391 #if SEND_MITSUBISHI136
-
-
-
-
- 396 #endif // SEND_MITSUBISHI136
- 397 #if SEND_MITSUBISHIHEAVY
-
-
-
-
-
- 403 const bool turbo,
const bool econo,
const bool clean);
-
-
-
-
-
- 409 const bool quiet,
const bool turbo,
const bool econo,
- 410 const bool filter,
const bool clean,
- 411 const int16_t sleep = -1);
- 412 #endif // SEND_MITSUBISHIHEAVY
-
-
- 415 const bool celsius,
const float degrees,
-
-
- 418 const bool turbo,
const bool econo,
const bool light,
- 419 const bool filter,
const int16_t sleep = -1);
- 420 #endif // SEND_NEOCLIMA
- 421 #if SEND_PANASONIC_AC
-
-
-
-
- 426 const bool quiet,
const bool turbo,
const bool filter,
- 427 const int16_t clock = -1);
- 428 #endif // SEND_PANASONIC_AC
- 429 #if SEND_PANASONIC_AC32
-
-
-
-
- 434 #endif // SEND_PANASONIC_AC32
-
-
-
-
-
-
-
-
-
-
- 445 const bool quiet,
const bool turbo,
const bool econo,
- 446 const bool light,
const bool filter,
const bool clean,
- 447 const bool beep,
const int16_t sleep = -1,
- 448 const bool prevpower =
true,
const int16_t prevsleep = -1,
- 449 const bool forceextended =
true);
- 450 #endif // SEND_SAMSUNG_AC
-
-
-
-
- 455 const bool beep,
const int16_t sleep = -1);
- 456 #endif // SEND_SANYO_AC
-
-
-
-
-
-
- 463 const int16_t sleep = -1,
const int16_t clock = -1);
- 464 #endif // SEND_SANYO_AC88
-
-
-
-
-
- 470 const bool turbo,
const bool light,
- 471 const bool filter,
const bool clean);
- 472 #endif // SEND_SHARP_AC
-
-
-
-
-
- 478 const bool quiet,
const bool turbo,
const bool light,
- 479 const bool econo,
const bool filter);
- 480 #endif // SEND_TCL112AC
- 481 #if SEND_TECHNIBEL_AC
-
-
-
-
- 486 #endif // SEND_TECHNIBEL_AC
-
-
-
-
- 491 const bool light,
const int16_t sleep = -1);
-
-
-
-
-
- 497 const bool turbo,
const bool econo,
const bool filter);
- 498 #endif // SEND_TOSHIBA_AC
-
-
+
+
+
+
+
+
+ 61 explicit IRac(
const uint16_t pin,
const bool inverted =
false,
+ 62 const bool use_modulation =
true);
+
+
+
+
+ 67 const float degrees,
const bool celsius,
+
+
+
+ 71 const bool quiet,
const bool turbo,
const bool econo,
+ 72 const bool light,
const bool filter,
const bool clean,
+ 73 const bool beep,
const int16_t sleep,
+
+
+
+
+
+
+
+
+
+ 83 const bool quiet,
const bool turbo,
const bool econo,
+ 84 const bool light,
const bool filter,
const bool clean,
+ 85 const bool beep,
const int16_t sleep = -1,
+ 86 const int16_t clock = -1);
+
+ 88 static bool strToBool(
const char *str,
const bool def =
false);
+ 89 static int16_t
strToModel(
const char *str,
const int16_t def = -1);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 104 const bool ha =
false);
+
+
+
+
+
+
+
+
+ 113 std::shared_ptr<IRrecv> _utReceiver =
nullptr;
+ 117 std::unique_ptr<decode_results> _lastDecodeResults =
nullptr;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 132 const bool light,
const bool econo,
const bool filter,
+ 133 const int16_t sleep = -1);
+ 134 #endif // SEND_AIRTON
+
+
+
+
+ 139 #endif // SEND_AIRWELL
+
+
+
+
+
+
+
+
+
+
+ 150 const int16_t sleep = -1);
+
+
+
+
+ 155 const bool econo,
const bool turbo,
const bool filter,
const bool light);
+
+
+ 158 const uint8_t value,
bool safe =
true);
+
+ 160 const uint16_t currentTime,
const uint16_t delayMinutes);
+
+
+
+
+
+
+ 167 #endif // SEND_BOSCH144
+ 168 #if SEND_CARRIER_AC64
+
+
+
+
+ 173 #endif // SEND_CARRIER_AC64
+
+
+
+
+
+ 179 const bool iFeel,
const bool turbo,
const bool light,
+ 180 const bool clean,
const int16_t sleep = -1);
+ 181 #endif // SEND_COOLIX
+
+
+
+
+
+ 187 #endif // SEND_CORONA_AC
+
+
+
+
+
+ 193 const bool quiet,
const bool turbo,
const bool econo,
+
+ 195 #endif // SEND_DAIKIN
+
+
+
+
+
+ 201 const bool quiet,
const bool turbo,
const bool light,
+ 202 const bool econo,
const int16_t sleep = -1,
+ 203 const int16_t clock = -1);
+ 204 #endif // SEND_DAIKIN128
+
+
+
+
+
+ 210 const bool quiet,
const bool turbo,
const bool econo);
+ 211 #endif // SEND_DAIKIN152
+
+
+
+
+
+ 217 #endif // SEND_DAIKIN160
+
+
+
+
+
+ 223 #endif // SEND_DAIKIN176
+
+
+
+
+
+ 229 const bool quiet,
const bool turbo,
const bool light,
+ 230 const bool econo,
const bool filter,
const bool clean,
+ 231 const bool beep,
const int16_t sleep = -1,
+ 232 const int16_t clock = -1);
+ 233 #endif // SEND_DAIKIN2
+
+
+
+
+
+ 239 const bool quiet,
const bool turbo);
+ 240 #endif // SEND_DAIKIN216
+
+
+
+
+
+ 246 const bool quiet,
const bool turbo,
+ 247 const int16_t sleep = -1,
const int16_t clock = -1);
+ 248 #endif // SEND_DAIKIN64
+
+
+
+
+ 253 const bool turbo,
const int16_t sleep = -1);
+ 254 #endif // SEND_DELONGHI_AC
+
+
+
+ 258 const float degrees,
const float sensorTemp,
+
+ 260 const int16_t clock = -1);
+ 261 #endif // SEND_ECOCLIM
+
+
+
+ 265 const float degrees,
const float sensorTemp,
+
+
+ 268 const bool lighttoggle,
const bool clean);
+ 269 #endif // SEND_ELECTRA_AC
+
+
+
+ 273 const bool celsius,
const float degrees,
+
+
+ 276 const bool quiet,
const bool turbo,
const bool econo,
+ 277 const bool filter,
const bool clean,
const int16_t sleep = -1);
+ 278 #endif // SEND_FUJITSU_AC
+
+
+
+
+
+
+ 285 const bool turbo,
const bool light,
+ 286 const int16_t sleep = -1);
+ 287 #endif // SEND_GOODWEATHER
+
+
+
+
+
+ 293 const bool iFeel,
const bool turbo,
const bool econo,
+ 294 const bool light,
const bool clean,
const int16_t sleep = -1);
+
+
+
+
+
+ 300 const bool filter,
const int16_t sleep = -1,
+ 301 const int16_t clock = -1);
+ 302 #endif // SEND_HAIER_AC
+
+
+
+
+
+ 308 const bool turbo,
const bool quiet,
const bool filter,
+ 309 const bool clean,
const bool light,
const bool prevlight,
+ 310 const int16_t sleep = -1);
+ 311 #endif // SEND_HAIER_AC160
+
+
+
+
+
+
+ 318 const bool turbo,
const bool quiet,
const bool filter,
+ 319 const int16_t sleep = -1);
+ 320 #endif // SEND_HAIER_AC176
+ 321 #if SEND_HAIER_AC_YRW02
+
+
+ 324 const bool celsius,
const float degrees,
+
+
+ 327 const bool quiet,
const bool filter,
+ 328 const int16_t sleep = -1);
+ 329 #endif // SEND_HAIER_AC_YRW02
+
+
+
+
+
+ 335 #endif // SEND_HITACHI_AC
+
+
+ 338 const bool on,
const bool power_toggle,
+
+
+
+ 342 const bool swing_toggle,
const int16_t sleep = -1);
+ 343 #endif // SEND_HITACHI_AC1
+ 344 #if SEND_HITACHI_AC264
+
+
+
+ 348 #endif // SEND_HITACHI_AC264
+ 349 #if SEND_HITACHI_AC296
+
+
+
+ 353 #endif // SEND_HITACHI_AC296
+ 354 #if SEND_HITACHI_AC344
+
+
+
+
+
+ 360 #endif // SEND_HITACHI_AC344
+ 361 #if SEND_HITACHI_AC424
+
+
+
+
+ 366 #endif // SEND_HITACHI_AC424
+
+
+ 369 const int8_t dryGrade,
const float degrees,
+
+ 371 const bool superCool,
const int16_t sleep);
+
+
+
+
+
+
+ 378 const bool quiet,
const bool turbo,
const bool light,
+ 379 const bool filter,
const bool clean);
+ 380 #endif // SEND_KELVINATOR
+
+
+
+
+
+
+
+
+
+
+ 391 const float degrees,
const float sensorTemp,
+
+ 393 const bool iFeel,
const bool quiet,
const bool quiet_prev,
+ 394 const bool turbo,
const bool econo,
const bool light,
+ 395 const bool clean,
const int16_t sleep = -1);
+
+
+
+ 399 #endif // SEND_MIRAGE
+ 400 #if SEND_MITSUBISHI_AC
+
+
+
+
+
+ 406 const bool quiet,
const int16_t clock = -1);
+ 407 #endif // SEND_MITSUBISHI_AC
+ 408 #if SEND_MITSUBISHI112
+
+
+
+
+
+
+ 415 #endif // SEND_MITSUBISHI112
+ 416 #if SEND_MITSUBISHI136
+
+
+
+
+ 421 #endif // SEND_MITSUBISHI136
+ 422 #if SEND_MITSUBISHIHEAVY
+
+
+
+
+
+ 428 const bool turbo,
const bool econo,
const bool clean);
+
+
+
+
+
+ 434 const bool quiet,
const bool turbo,
const bool econo,
+ 435 const bool filter,
const bool clean,
+ 436 const int16_t sleep = -1);
+ 437 #endif // SEND_MITSUBISHIHEAVY
+
+
+ 440 const bool celsius,
const float degrees,
+
+
+ 443 const bool turbo,
const bool econo,
const bool light,
+ 444 const bool filter,
const int16_t sleep = -1);
+ 445 #endif // SEND_NEOCLIMA
+ 446 #if SEND_PANASONIC_AC
+
+
+
+
+ 451 const bool quiet,
const bool turbo,
const bool filter,
+ 452 const int16_t clock = -1);
+ 453 #endif // SEND_PANASONIC_AC
+ 454 #if SEND_PANASONIC_AC32
+
+
+
+
+ 459 #endif // SEND_PANASONIC_AC32
+
+
+
+
+
+
+
+
+
+
+ 470 const bool quiet,
const bool turbo,
const bool econo,
+ 471 const bool light,
const bool filter,
const bool clean,
+ 472 const bool beep,
const int16_t sleep = -1,
+ 473 const bool prevpower =
true,
const int16_t prevsleep = -1,
+ 474 const bool forceextended =
true);
+ 475 #endif // SEND_SAMSUNG_AC
+
+
+
+
+
+ 481 const int16_t sleep = -1);
+ 482 #endif // SEND_SANYO_AC
+
+
+
+
+
+
+ 489 const int16_t sleep = -1,
const int16_t clock = -1);
+ 490 #endif // SEND_SANYO_AC88
+
+
+
+
+
+ 496 const bool turbo,
const bool light,
+ 497 const bool filter,
const bool clean);
+ 498 #endif // SEND_SHARP_AC
+
+
-
- 503 #endif // SEND_TROTEC
-
-
-
- 507 const bool celsius,
const float degrees,
-
- 509 #endif // SEND_TROTEC_3550
-
-
-
-
-
-
-
-
-
- 519 const bool turbo,
const bool filter,
- 520 const int16_t sleep = -1,
const int16_t clock = -1,
- 521 const bool sendNormal =
true);
- 522 #endif // SEND_VESTEL_AC
-
-
-
-
-
- 528 const bool turbo,
const bool econo,
const bool light,
- 529 const int16_t sleep = -1);
- 530 #endif // SEND_VOLTAS
- 531 #if SEND_WHIRLPOOL_AC
-
-
-
- 535 const bool turbo,
const bool light,
- 536 const int16_t sleep = -1,
const int16_t clock = -1);
- 537 #endif // SEND_WHIRLPOOL_AC
-
-
-
-
-
- 543 #endif // SEND_TRANSCOLD
-
-
-
-
-
-
-
-
-
-
-
+
+
+ 504 const bool quiet,
const bool turbo,
const bool light,
+ 505 const bool econo,
const bool filter);
+ 506 #endif // SEND_TCL112AC
+ 507 #if SEND_TECHNIBEL_AC
+
+
+
+
+ 512 #endif // SEND_TECHNIBEL_AC
+
+
+
+
+ 517 const bool light,
const int16_t sleep = -1);
+
+
+
+
+
+ 523 const bool turbo,
const bool econo,
const bool filter);
+ 524 #endif // SEND_TOSHIBA_AC
+
+
+
+
+ 529 #endif // SEND_TROTEC
+
+
+
+ 533 const bool celsius,
const float degrees,
+
+ 535 #endif // SEND_TROTEC_3550
+
+
+
+
+
+
+
+
+
+ 545 const bool turbo,
const bool filter,
+ 546 const int16_t sleep = -1,
const int16_t clock = -1,
+ 547 const bool sendNormal =
true);
+ 548 #endif // SEND_VESTEL_AC
+
+
+
+
+
+ 554 const bool turbo,
const bool econo,
const bool light,
+ 555 const int16_t sleep = -1);
+ 556 #endif // SEND_VOLTAS
+ 557 #if SEND_WHIRLPOOL_AC
+
+
+
+ 561 const bool turbo,
const bool light,
+ 562 const int16_t sleep = -1,
const int16_t clock = -1);
+ 563 #endif // SEND_WHIRLPOOL_AC
+
+
+
+
+
+ 569 #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:387
+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:421
Support for Kelvinator A/C protocols.
+void electra(IRElectraAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const float sensorTemp, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool iFeel, const bool turbo, const bool lighttoggle, const bool clean)
Send an Electra A/C message with the supplied settings.
Definition: IRac.cpp:1166
Class for handling detailed Samsung A/C messages.
Definition: ir_Samsung.h:186
-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:1345
+static String commandTypeToString(const stdAc::ac_command_t cmdType)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:3971
+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:1529
Class for handling detailed Toshiba A/C messages.
Definition: ir_Toshiba.h:127
-decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:982
-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:146
-stdAc::state_t getState(void)
Get the current internal A/C climate state.
Definition: IRac.cpp:141
+decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:1011
+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:177
+stdAc::state_t getState(void)
Get the current internal A/C climate state.
Definition: IRac.cpp:172
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:3544
-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:1479
+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:3803
+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:1663
Class for handling detailed Airton 56-bit A/C messages.
Definition: ir_Airton.h:75
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:946
-void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:3401
-swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:70
+void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:3634
+swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:74
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:823
+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:990
+static stdAc::ac_command_t strToCommandType(const char *str, const stdAc::ac_command_t def=stdAc::ac_command_t::kControlCommand)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:3671
Support for Trotec protocols.
Support for Bosch A/C protocol.
-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:2087
+void argoWrem3_SetTimer(IRArgoAC_WREM3 *ac, bool on, const uint16_t currentTime, const uint16_t delayMinutes)
Send an Argo A/C WREM-3 Delay timer command.
Definition: IRac.cpp:613
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:723
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:1582
+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:1766
Class for handling detailed Daikin 312-bit A/C messages.
Definition: ir_Daikin.h:805
-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:1031
+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:1213
Support for Neoclima protocols. Analysis by crankyoldgit & AndreyShpilevoy.
Class for handling detailed Daikin 128-bit A/C messages.
Definition: ir_Daikin.h:1070
-fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
+fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:61
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:3723
-whirlpool_ac_remote_model_t
Whirlpool A/C model numbers.
Definition: IRsend.h:191
+static String fanspeedToString(const stdAc::fanspeed_t speed)
Convert the supplied fan speed enum into the appropriate String.
Definition: IRac.cpp:4000
+whirlpool_ac_remote_model_t
Whirlpool A/C model numbers.
Definition: IRsend.h:211
-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:2550
+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:2747
Results returned from the decoder.
Definition: IRrecv.h:99
-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:892
-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 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 bool prevpower=true, const int16_t prevsleep=-1, const bool forceextended=true)
Send a Samsung A/C message with the supplied settings.
Definition: IRac.cpp:2043
-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:2509
-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:2587
-tcl_ac_remote_model_t
TCL (& Teknopoint) A/C model numbers.
Definition: IRsend.h:179
-bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:3407
-static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:3418
+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:1059
+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 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 bool prevpower=true, const int16_t prevsleep=-1, const bool forceextended=true)
Send a Samsung A/C message with the supplied settings.
Definition: IRac.cpp:2234
+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:2706
+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:2784
+tcl_ac_remote_model_t
TCL (& Teknopoint) A/C model numbers.
Definition: IRsend.h:199
+bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:3640
+static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:3651
+void argoWrem3_ConfigSet(IRArgoAC_WREM3 *ac, const uint8_t param, const uint8_t value, bool safe=true)
Send an Argo A/C WREM-3 Config command.
Definition: IRac.cpp:581
Support for Midea protocols. Midea added by crankyoldgit & bwze.
-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 quiet, const bool quiet_prev, const bool turbo, const bool econo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Midea A/C message with the supplied settings.
Definition: IRac.cpp:1674
Support for Daikin A/C protocols.
-gree_ac_remote_model_t
Gree A/C model numbers.
Definition: IRsend.h:135
+gree_ac_remote_model_t
Gree A/C model numbers.
Definition: IRsend.h:155
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:1200
-void haierYrwo2(IRHaierACYRW02 *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 quiet, const bool filter, const int16_t sleep=-1)
Send a Haier YRWO2 A/C message with the supplied settings.
Definition: IRac.cpp:1309
+void haierYrwo2(IRHaierACYRW02 *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 quiet, const bool filter, const int16_t sleep=-1)
Send a Haier YRWO2 A/C message with the supplied settings.
Definition: IRac.cpp:1493
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:2467
+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:2664
Class for handling detailed Rhoss A/C messages.
Definition: ir_Rhoss.h:94
Class for handling detailed Hitachi 53-byte/424-bit A/C messages.
Definition: ir_Hitachi.h:497
-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:659
-IRac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: IRac.cpp:71
+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:826
+IRac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: IRac.cpp:102
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:903
Class for handling detailed Voltas A/C messages.
Definition: ir_Voltas.h:91
-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 stdAc::swingv_t swingv_prev, 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:2170
-hitachi_ac1_remote_model_t
HITACHI_AC1 A/C model numbers.
Definition: IRsend.h:149
-void haier176(IRHaierAC176 *ac, const haier_ac176_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 turbo, const bool quiet, const bool filter, const int16_t sleep=-1)
Send a Haier 176 bit A/C message with the supplied settings.
Definition: IRac.cpp:1267
-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:699
+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 stdAc::swingv_t swingv_prev, 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:2367
+hitachi_ac1_remote_model_t
HITACHI_AC1 A/C model numbers.
Definition: IRsend.h:169
+void haier176(IRHaierAC176 *ac, const haier_ac176_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 turbo, const bool quiet, const bool filter, const int16_t sleep=-1)
Send a Haier 176 bit A/C message with the supplied settings.
Definition: IRac.cpp:1451
+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:866
Class for handling detailed Hitachi 224-bit A/C messages.
Definition: ir_Hitachi.h:372
-const int8_t kGpioUnused
A placeholder for not using an actual GPIO.
Definition: IRac.h:52
-Common functions for use with all A/Cs supported by the IRac class.
Definition: IRac.cpp:3768
+const int8_t kGpioUnused
A placeholder for not using an actual GPIO.
Definition: IRac.h:55
+Common functions for use with all A/Cs supported by the IRac class.
Definition: IRac.cpp:4047
Class for handling detailed Sanyo A/C messages.
Definition: ir_Sanyo.h:111
-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:1180
+ac_command_t
Tyoe of A/C command (if the remote uses different codes for each)
Definition: IRsend.h:90
+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:1364
Definition: ir_Kelon.h:77
Class for handling detailed Whirlpool A/C messages.
Definition: ir_Whirlpool.h:132
-void haier160(IRHaierAC160 *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 quiet, const bool filter, const bool clean, const bool light, const bool prevlight, const int16_t sleep=-1)
Send a Haier 160 bit A/C message with the supplied settings.
Definition: IRac.cpp:1222
+void haier160(IRHaierAC160 *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 quiet, const bool filter, const bool clean, const bool light, const bool prevlight, const int16_t sleep=-1)
Send a Haier 160 bit A/C message with the supplied settings.
Definition: IRac.cpp:1406
Class for handling detailed Hitachi 344-bit A/C messages.
Definition: ir_Hitachi.h:586
-static String boolToString(const bool value)
Convert the supplied boolean into the appropriate String.
Definition: IRac.cpp:3700
-stdAc::state_t next
The state we want the device to be in after we send.
Definition: IRac.h:105
-std::string String
Definition: IRremoteESP8266.h:1472
-Class for handling detailed Mitsubishi 144-bit A/C messages.
Definition: ir_Mitsubishi.h:266
-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:2366
-static int16_t strToModel(const char *str, const int16_t def=-1)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:3585
-void hitachi296(IRHitachiAc296 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send a Hitachi 296-bit A/C message with the supplied settings.
Definition: IRac.cpp:1448
+static String boolToString(const bool value)
Convert the supplied boolean into the appropriate String.
Definition: IRac.cpp:3964
+stdAc::state_t next
The state we want the device to be in after we send.
Definition: IRac.h:111
+std::string String
Definition: IRremoteESP8266.h:1521
+Class for handling detailed Mitsubishi 144-bit A/C messages.
Definition: ir_Mitsubishi.h:267
+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:2563
+static int16_t strToModel(const char *str, const int16_t def=-1)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:3844
+void hitachi296(IRHitachiAc296 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send a Hitachi 296-bit A/C message with the supplied settings.
Definition: IRac.cpp:1632
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:400
+Support for the York AC protocol (remote GRYLH2A)
+Class for handling detailed Mitsubishi 122-bit A/C messages.
Definition: ir_Mitsubishi.h:401
Class for handling detailed TCL A/C messages.
Definition: ir_Tcl.h:125
-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:791
-Class for handling detailed Electra A/C messages.
Definition: ir_Electra.h:113
+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:958
+Class for handling detailed Electra A/C messages.
Definition: ir_Electra.h:114
Support for TCL protocols.
-bool hasStateChanged(void)
Check if the internal state has changed from what was previously sent.
Definition: IRac.cpp:3430
-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:862
+bool hasStateChanged(void)
Check if the internal state has changed from what was previously sent.
Definition: IRac.cpp:3665
+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:1029
Support for Transcold A/C protocols.
Support for Hitachi A/C protocols.
Support for Panasonic protocols.
-void rhoss(IRRhossAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swing)
Send an Rhoss A/C message with the supplied settings.
Definition: IRac.cpp:2626
-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:2665
-Class for handling detailed Mitsubishi 136-bit A/C messages.
Definition: ir_Mitsubishi.h:346
-panasonic_ac_remote_model_t
Panasonic A/C model numbers.
Definition: IRsend.h:161
+void rhoss(IRRhossAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swing)
Send an Rhoss A/C message with the supplied settings.
Definition: IRac.cpp:2823
+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:2862
+void argoWrem3_iFeelReport(IRArgoAC_WREM3 *ac, const float sensorTemp)
Send an Argo A/C WREM-3 iFeel (room temp) silent (no beep) report.
Definition: IRac.cpp:563
+Class for handling detailed Mitsubishi 136-bit A/C messages.
Definition: ir_Mitsubishi.h:347
+panasonic_ac_remote_model_t
Panasonic A/C model numbers.
Definition: IRsend.h:181
-void hitachi264(IRHitachiAc264 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send a Hitachi 264-bit A/C message with the supplied settings.
Definition: IRac.cpp:1419
-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:1764
+void hitachi264(IRHitachiAc264 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send a Hitachi 264-bit A/C message with the supplied settings.
Definition: IRac.cpp:1603
+swingh_t
Common A/C settings for Horizontal Swing.
Definition: IRsend.h:100
+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:1955
Class for handling detailed Hitachi 264-bit A/C messages.
Definition: ir_Hitachi.h:607
-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:4225
+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:4517
Class for handling detailed Hitachi 104-bit A/C messages.
Definition: ir_Hitachi.h:429
Class for handling detailed Mirage 120-bit A/C messages.
Definition: ir_Mirage.h:196
-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:1513
+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:1697
Support for Samsung protocols. Samsung originally added from https://github.com/shirriff/Arduino-IRre...
-static String opmodeToString(const stdAc::opmode_t mode, const bool ha=false)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:3708
-String resultAcToString(const decode_results *const result)
Display the human readable state of an A/C message if we can.
Definition: IRac.cpp:3774
-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:736
-fujitsu_ac_remote_model_t
Fujitsu A/C model numbers.
Definition: IRsend.h:120
+Supports Argo A/C SAC-WREM3 IR remote protocol.
Definition: ir_Argo.h:449
+static String opmodeToString(const stdAc::opmode_t mode, const bool ha=false)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:3985
+String resultAcToString(const decode_results *const result)
Display the human readable state of an A/C message if we can.
Definition: IRac.cpp:4053
+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:903
+fujitsu_ac_remote_model_t
Fujitsu A/C model numbers.
Definition: IRsend.h:140
Support for Gree A/C protocols.
-Class for handling detailed Carrier 64 bit A/C messages.
Definition: ir_Carrier.h:86
+Class for handling detailed Carrier 64 bit A/C messages.
Definition: ir_Carrier.h:89
Definition: ir_Hitachi.h:624
+void argoWrem3_ACCommand(IRArgoAC_WREM3 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const float sensorTemp, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool iFeel, const bool night, const bool econo, const bool turbo, const bool filter, const bool light)
Send an Argo A/C WREM-3 AC control message with the supplied settings.
Definition: IRac.cpp:529
Support for Mirage protocol.
Class for handling detailed Midea A/C messages.
Definition: ir_Midea.h:175
Class for handling detailed Kelvinator A/C messages.
Definition: ir_Kelvinator.h:132
-bool _inverted
IR LED is lit when GPIO is LOW (true) or HIGH (false)?
Definition: IRac.h:111
+bool _inverted
IR LED is lit when GPIO is LOW (true) or HIGH (false)?
Definition: IRac.h:124
+void midea(IRMideaAC *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const float sensorTemp, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool iFeel, const bool quiet, const bool quiet_prev, const bool turbo, const bool econo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Midea A/C message with the supplied settings.
Definition: IRac.cpp:1861
Class for handling detailed Fujitsu A/C messages.
Definition: ir_Fujitsu.h:179
Support for Airton protocol.
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:120
-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:1961
-static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3738
+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:2152
+static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:4016
Support for Mitsubishi protocols. Mitsubishi (TV) decoding added from https://github....
-A universal/common/generic interface for controling supported A/Cs.
Definition: IRac.h:56
+A universal/common/generic interface for controling supported A/Cs.
Definition: IRac.h:59
Support for Teco protocols.
Class for handling detailed Trotec 3550 A/C messages.
Definition: ir_Trotec.h:198
-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:988
Class for handling detailed Haier 160 bit A/C messages.
Definition: ir_Haier.h:563
-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:2652
+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:2849
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:1725
-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:415
+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:1916
+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:449
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
@@ -763,83 +792,86 @@
Class for handling detailed Daikin 152-bit A/C messages.
Definition: ir_Daikin.h:1140
Class for handling detailed LG A/C messages.
Definition: ir_LG.h:114
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:2398
+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:2595
Class for handling detailed Haier A/C messages.
Definition: ir_Haier.h:376
-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:1920
+void argo(IRArgoAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const float sensorTemp, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool iFeel, const bool turbo, const int16_t sleep=-1)
Send an Argo A/C message with the supplied settings.
Definition: IRac.cpp:484
+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:2111
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:959
Class for handling detailed Sharp A/C messages.
Definition: ir_Sharp.h:153
Class for handling detailed Haier 176 bit A/C messages.
Definition: ir_Haier.h:446
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:447
-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, const bool filter)
Send a Toshiba A/C message with the supplied settings.
Definition: IRac.cpp:2330
-lg_ac_remote_model_t
LG A/C model numbers.
Definition: IRsend.h:197
-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:1800
+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, const bool filter)
Send a Toshiba A/C message with the supplied settings.
Definition: IRac.cpp:2527
+lg_ac_remote_model_t
LG A/C model numbers.
Definition: IRsend.h:217
+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:1991
Support for Rhoss A/C protocol.
-void airton(IRAirtonAc *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 bool econo, const bool filter, const int16_t sleep=-1)
Send an Airton 56-bit A/C message with the supplied settings.
Definition: IRac.cpp:356
-bool _modulation
Is frequency modulation to be used?
Definition: IRac.h:112
-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:2296
-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:3436
+void airton(IRAirtonAc *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 bool econo, const bool filter, const int16_t sleep=-1)
Send an Airton 56-bit A/C message with the supplied settings.
Definition: IRac.cpp:390
+bool _modulation
Is frequency modulation to be used?
Definition: IRac.h:125
+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:2493
+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:3691
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:1382
+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:1566
+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 stdAc::swingh_t swingh, const bool iFeel, const bool turbo, const bool econo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Gree A/C message with the supplied settings.
Definition: IRac.cpp:1323
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:1997
+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:2188
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:3682
-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:2128
-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:1835
-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:3503
+static bool strToBool(const char *str, const bool def=false)
Convert the supplied str into the appropriate boolean value.
Definition: IRac.cpp:3946
+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:2325
+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:2026
+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:3760
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
-void tcl112(IRTcl112Ac *ac, const tcl_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 light, const bool econo, const bool filter)
Send a TCL 112-bit A/C message with the supplied settings.
Definition: IRac.cpp:2226
-void mirage(IRMirageAc *ac, const stdAc::state_t state)
Send a Mirage 120-bit A/C message with the supplied settings.
Definition: IRac.cpp:1706
+void tcl112(IRTcl112Ac *ac, const tcl_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 light, const bool econo, const bool filter)
Send a TCL 112-bit A/C message with the supplied settings.
Definition: IRac.cpp:2423
+void mirage(IRMirageAc *ac, const stdAc::state_t state)
Send a Mirage 120-bit A/C message with the supplied settings.
Definition: IRac.cpp:1897
+void ecoclim(IREcoclimAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const float sensorTemp, 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:1115
Class for handling detailed Trotec A/C messages.
Definition: ir_Trotec.h:133
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:2430
-static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3754
+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:2627
+static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:4033
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:922
-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:1548
+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:1089
+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:1732
Support for Kelan AC protocol.
-stdAc::state_t _prev
The state we expect the device to currently be in.
Definition: IRac.h:113
+stdAc::state_t _prev
The state we expect the device to currently be in.
Definition: IRac.h:126
Class for handling detailed Haier ACYRW02 A/C messages.
Definition: ir_Haier.h:544
-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:769
-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:624
-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:101
-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:1621
-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:1876
+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:936
+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:791
+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:132
+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:1805
+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:2067
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
-void bosch144(IRBosch144AC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const bool quiet)
Send a Bosch144 A/C message with the supplied settings.
Definition: IRac.cpp:479
+void bosch144(IRBosch144AC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const bool quiet)
Send a Bosch144 A/C message with the supplied settings.
Definition: IRac.cpp:636
Class for handling detailed Gree A/C messages.
Definition: ir_Gree.h:156
-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:557
-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:3472
+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:3727
Support for Toshiba 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 stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Gree A/C message with the supplied settings.
Definition: IRac.cpp:1140
-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:1096
-Structure to hold a common A/C state.
Definition: IRsend.h:97
+void coolix(IRCoolixAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const float sensorTemp, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool iFeel, 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:717
+
+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:1278
+Structure to hold a common A/C state.
Definition: IRsend.h:114
+void sanyo(IRSanyoAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const float sensorTemp, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool iFeel, const bool beep, const int16_t sleep=-1)
Send a Sanyo A/C message with the supplied settings.
Definition: IRac.cpp:2281
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
+Supports Argo A/C SAC-WREM2 IR remote protocol.
Definition: ir_Argo.h:422
Class for handling detailed Sanyo A/C messages.
Definition: ir_Sanyo.h:229
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:151
+static bool isProtocolSupported(const decode_type_t protocol)
Is the given protocol supported by the IRac class?
Definition: IRac.cpp:182
Class for handling detailed Bosch144 A/C messages.
Definition: ir_Bosch.h:140
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:1011
-uint16_t _pin
The GPIO to use to transmit messages from.
Definition: IRac.h:110
-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:2263
-voltas_ac_remote_model_t
Voltas A/C model numbers.
Definition: IRsend.h:185
-sharp_ac_remote_model_t
Sharp A/C model numbers.
Definition: IRsend.h:172
+uint16_t _pin
The GPIO to use to transmit messages from.
Definition: IRac.h:123
+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:2460
+voltas_ac_remote_model_t
Voltas A/C model numbers.
Definition: IRsend.h:205
+sharp_ac_remote_model_t
Sharp A/C model numbers.
Definition: IRsend.h:192
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:520
-haier_ac176_remote_model_t
HAIER_AC176 A/C model numbers.
Definition: IRsend.h:143
-opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46
+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:677
+haier_ac176_remote_model_t
HAIER_AC176 A/C model numbers.
Definition: IRsend.h:163
+opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:49