_v2.9.0 (20260103)_ release **[Bug Fixes]** - Bosch: Fixed the bug where the wind speed was always set to auto. (#2237) - Update IRsend sendHaierAC to include SEND_HAIER_AC160 (#2172) - Gree: Fix reporting vertical swing (#2125) - Fix `decodeYork()` parameter names & defaults. (#2121) - Fix the Coolix fan-only mode in IRac class. (#2104) - Fix missing quiet parameter of haier176 (#2102) - ESP32-C3: Fix compilation error when USB CDC on Boot is enabled (#2080) **[Features]** - Add Fahrenheit support for the BOSCH144 protocol (#2224) - Build: Add compatibility with C++20 (#2040) - Add initial detailed support for Kelon168 (Kelon/Hisense) (#1949) - Add support for the Eurom A/C protocol (#2208) - Add Fahrenheit support for Coolix (#2214) - ESP32: Esp32 Core version 3 support (#2144) - auto_analyse_raw_data: Add kXxMsbFirst to easy change MSBFirst for the full protocol (#2143) - change kAirtonMaxTemp from 25C to 31C (#2124) - Added support for Bluestar Heavy AC (#2120) - Add support of Toshiba Remote Control B (#2094) - Update haier160 & HaierYRWO2 to use quiet in the common class. (#2115) - Internationalisation: Solvakian translation (#2091) - Daikin: Support setting temperature in 0.5 C unit (#2036) - Quiet/Silent Mode for Electra_AC (#1990) **[Misc]** - Document Fischer R51L1/BGE remote support (#2231) - CI: pin python v3.13 - CI: Attempt to fix intelhex failures - IRMQTTServer: Fixes for ArduinoJson v7 to remove depreicated calls - docs: updated contributing section for clarity (by Prerna Utage) (#2221) - Fix typo in Russian language support (#2210) - Build: Update CodeQL actions plugin to use v3 as v2 will be deprecated soon - Build: Fix soon to be deprecated set-output command - Build: Update build scripts to use non-deprecated actions tooling - Fix linter issues (#2173) - pylint fix raw_to_pronto_code.py (#2150) - Document support for Comfee model (#2147) - DAIKIN: ARC443A5 Remote supported note (#2138) - library.json specifies libCompatMode strict (#2111) - Added Electrolux EACM CL/N3 series remote to TCL protocol (#2100) - Add AR-JW19 to supported devices (#2069) - Remove unused constant `kRcmmExcess` (#2033) - Panasonic AC: Document support for PV1122V remote (#2029) - Document support for Panasonic CS-E12QKEW A/C (#2028)
5.8 KiB
This library enables you to send and receive infra-red signals on an ESP8266 or an ESP32 using the Arduino framework using common 940nm IR LEDs and common IR receiver modules. e.g. TSOP{17,22,24,36,38,44,48}* demodulators etc.
v2.9.0 Now Available
Version 2.9.0 of the library is now available. You can view the Release Notes 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 page.
Upgrading from pre-v2.5
The library has changed from using constants declared as #define to
const with
the appropriate naming per the
C++ style guide.
This may potentially cause old programs to not compile.
The most likely externally used #defines have been aliased for limited
backward compatibility for projects using the old style. Going forward, only the
new kConstantName style will be supported for new protocol additions.
In the unlikely case, it does break your code, then you may have been referencing
something you likely should not have. You should be able to quickly determine
the new name from the old. e.g. CONSTANT_NAME to kConstantName.
Use common sense or examining the library's code if this does affect code.
Supported Protocols
You can find the details of which protocols & devices are supported here.
Troubleshooting
Before reporting an issue or asking for help, please try to follow our Troubleshooting Guide first.
Frequently Asked Questions
Some common answers to common questions and problems are on our F.A.Q. wiki page.
Library API Documentation
This library uses Doxygen to automatically document the library's API. You can find it here.
Installation
Official releases via the Arduino IDE v1.8+ (Windows & Linux)
- Click the "Sketch" -> "Include Library" -> "Manage Libraries..." Menu items.
- Enter
IRremoteESP8266into the "Filter your search..." top right search box. - Click on the IRremoteESP8266 result of the search.
- Select the version you wish to install and click "Install".
Manual Installation for Windows
- Click on "Clone or Download" button, then "Download ZIP" on the page.
- Extract the contents of the downloaded zip file.
- Rename the extracted folder to "IRremoteESP8266".
- Move this folder to your libraries directory. (under windows:
C:\Users\YOURNAME\Documents\Arduino\libraries\) - Restart your Arduino IDE.
- Check out the examples.
Using Git to install the library ( Linux )
cd ~/Arduino/libraries
git clone https://github.com/crankyoldgit/IRremoteESP8266.git
To update to the latest version of the library
cd ~/Arduino/libraries/IRremoteESP8266 && git pull
Contributing
If you want to contribute to this project, consider:
- Reporting bugs and errors
- Ask for enhancements
- Improve our documentation
- Creating issues and pull requests
- Tell other people about this library
- Updated documentation formatting and clarified installation steps (Hacktoberfest contribution by Prerna Utage)
Contributors
Available here
Library History
This library was originally based on Ken Shirriff's work (https://github.com/shirriff/Arduino-IRremote/)
Mark Szabo has updated the IRsend class to work on ESP8266 and Sebastien Warin the receiving & decoding part (IRrecv class).
As of v2.0, the library was almost entirely re-written with the ESP8266's resources in mind.
About This Project
This project allows decoding and encoding of IR signals for controlling Air Conditioners and other devices using ESP8266 or ESP32 boards.