Commit Graph

1174 Commits

Author SHA1 Message Date
Hasan Khalil
d9bc0ffa01 Add Fahrenheit support for Coolix (#2214)
* Handle fahrenheit bit sneakily packed in parity.
Discovered with OutEquip Summit2 A/C.

* Handle Fahrenheit in IRCoolixAC::toString()

* Add Coolix encoding logic for Fahrenheit values.

* Formatting: Fix linter errors.
2025-12-15 14:03:11 +10:00
Jason2866
4245de90c8 pin python v3.13 2025-12-14 23:50:18 +10:00
crankyoldgit
47c86686a1 Attempt to fix intelhex failures 2025-12-14 23:50:18 +10:00
crankyoldgit
7e0f81dddc Fixes for ArduinoJson v7 to remove depreicated calls 2025-12-14 18:44:26 +10:00
BorisKofman
20b2bd4852 Esp32 Core version 3 (#2144)
* Update IRrecv.cpp

* fix 80 characters long

* fix whitespace

* Update IRrecv.cpp

* Update IRrecv.cpp

* Remove Serial Debug

* Update IRrecv.cpp

* Update IRrecv.cpp

* Update IRrecv.cpp

* fix whitespace

* Update IRrecv.cpp

* Minimize changes against master

WIP for #2144

* Arduino naming by version

* Update IRrecv.cpp

---------

Co-authored-by: BorisKofman <Borisk@salt.security>
Co-authored-by: Christian I. Nilsson <nikize@gmail.com>
2025-12-14 18:17:05 +10:00
Prerna Utage
01634f1ded docs: updated contributing section for clarity (by Prerna Utage) (#2221)
Co-authored-by: Prerna Utage <prerna@example.com>
2025-10-23 17:14:59 +10:00
almirus
42eead875d Fix typo in Russian language support (#2210)
typo
2025-06-22 07:58:52 +10:00
Ton Huisman
e07436fa4e [Build] Update CodeQL actions plugin to use v3 as v2 will be deprecated soon 2025-06-20 22:55:18 +02:00
Ton Huisman
b78aaccab9 [Build] Fix soon to be deprecated set-output command 2025-06-20 22:55:18 +02:00
Ton Huisman
5f492eb5c2 [Build] Update build scripts to use non-deprecated actions tooling 2025-06-20 22:55:18 +02:00
David Conran
3390e72877 Fix linter issues (#2173)
It seems we have a new linter that is picking up lots of issues.
Attempt to address them.
Set cpplint to ignore whitespace/namespace issues
2025-01-07 21:20:19 +10:00
Alex Kalineskou
21ba403ce0 Update IRsend sendHaierAC to include SEND_HAIER_AC160 (#2172)
`ir_Haier.cpp` defines it here https : //github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Haier.cpp#L49

When using flags `-D_IR_ENABLE_DEFAULT_ = false`and `-DSEND_HAIER_AC160=true` it results in not compiling since it can't fine the method in the header file.
2025-01-07 11:14:37 +10:00
Christian I. Nilsson
9bdf8abcb4 pylint fix raw_to_pronto_code.py (#2150)
Force named parameters to make pylint happy
option to new to disable reliably

tools/raw_to_pronto_code.py:11:0: R0917: Too many positional arguments (7/5) (too-many-positional-arguments)
https://pylint.readthedocs.io/en/latest/user_guide/messages/refactor/too-many-positional-arguments.html
2024-09-23 16:15:45 +02:00
jschwender
ce0a65eca8 Update ir_Coolix.h (#2147)
Added a comfee model i have tested.
2024-09-13 18:41:55 +10:00
Christian I. Nilsson
0056717986 auto_analyse_raw_data Add kXxMsbFirst to easy change MSBFirst for the full protocol (#2143) 2024-09-10 07:11:21 +09:00
Christian I. Nilsson
5406737abf DAIKIN: ARC443A5 Remote supported note (#2138) 2024-09-05 15:16:55 +09:00
Maxim Mikityanskiy
8a049f5785 Gree: Fix reporting vertical swing (#2125)
toCommonSwingV() is only called when SwingAuto is false, but it converts
kGreeSwingLastPos to kAuto. It doesn't make sense, because:

1. kGreeSwingLastPos means that swinging is stopped (i.e. the shutter
   remains in its last position), which corresponds to kOff.
2. kAuto shouldn't be returned from this function at all, because it's
   handled separately in toCommon() when SwingAuto is true.
3. As can be seen in setSwingVertical(), when automatic is false, the
   valid set of positions includes kGreeSwingLastPos, but not
   kGreeSwingAuto.

Fix the logic by amending toCommonSwingV() according to the
considerations above. It fixes parsing of received IR packets when the
user disables vertical swinging from the remote (tested with YAP1FB).

For consistency and robustness, educate setSwingVertical() and
convertSwingV() about the supported kGreeSwingLastPos mode.

Add a unit test for the described bug.
2024-09-05 15:05:19 +09:00
BorisKofman
850a45f0df change kAirtonMaxTemp from 25C to 31C (#2124) 2024-08-28 20:38:57 +10:00
Harsh Bhosale
a5c6902816 Added support for Bluestar Heavy AC (#2120)
Added basic support for Bluestar Heavy AC
Bit ordering confirmed.
2024-07-26 20:40:03 +10:00
Jacky Sze
c00a91912e Add support of Toshiba Remote Control B (#2094)
Add support of Toshiba Remote Control B
2024-07-25 12:08:14 +10:00
David Conran
aae4528cfa Fix decodeYork() parameter names & defaults. (#2121)
Clean up some code ugliness.
Not even sure it should have compiled before.
2024-07-25 12:01:31 +10:00
David Conran
702ec8b356 Update haier160 & HaierYRWO2 to use quiet in the common class. (#2115)
Quiet mode operation was missing in the function calls of `haierYrwo2()` and `haier160()` thus passing the wrong arguments to the function.
Add the `quiet` parameter in fixes this.

Fixes #2101
2024-07-03 18:56:20 +10:00
Rob Deutsch
dc0fd31706 library.json specifies libCompatMode strict (#2111)
This PR is based on platformio's documentation. I will test it next week.

This PR instructs platformio to pay attention to both the `frameworks` AND `platforms` specification before trying to compile IRremoteESP8266.

I would've thought that platformio would do this check by default, but apparently not. By default it only checks `frameworks`. Source: https://docs.platformio.org/en/latest/manifests/library-json/fields/platforms.html

The documentation for libCompatMode can be found here: https://docs.platformio.org/en/latest/manifests/library-json/fields/build/libcompatmode.html#manifest-library-json-build-libcompatmode
2024-06-26 18:04:00 +10:00
David Conran
9785cb910d [Bug] Fix the Coolix fan-only mode in IRac class. (#2104)
Mode was being incorrectly set in produced message as a "Dry" command.
Adjusting order of when setMode() was called fixes the issue.
Add a Unit test to confirm it is fixed and catch this in future.

Fixes #2103
2024-06-06 16:45:28 +10:00
David Conran
0b0fe77878 Fix missing quiet parameter of haier176 (#2102)
Try to fix #2101
2024-06-06 09:42:11 +10:00
Illia Khovanskyi
bcbf7ca44e Added Electrolux EACM CL/N3 series remote to TCL protocol (#2100) 2024-05-27 17:11:11 +02:00
misa1515
32d10a62b4 Create sk-SK.h (#2091)
* Create sk-SK.h

* Update sk-SK.h

Review feedback corrections.

---------

Co-authored-by: David Conran <crankyoldgit@users.noreply.github.com>
2024-05-12 21:04:40 +10:00
K.Takata
61b43dea97 Fix compilation error when USB CDC on Boot is enabled (#2080)
When USB CDC on Boot is enabled on ESP32-C3, an compilation error
occurs, because `Serial.begin()` takes only one (or zero) parameter.

Check `ARDUINO_USB_CDC_ON_BOOT` and call it with the correct parameter.
2024-03-18 13:36:50 +10:00
David Conran
d8aee22117 Add AR-JW19 to supported devices (#2069)
Per https://github.com/crankyoldgit/IRremoteESP8266/pull/1813#issuecomment-1958066970
2024-02-22 19:16:54 +10:00
K.Takata
f67948f6c8 Daikin: Support setting temperature in 0.5 C unit (#2036)
However, IRDaikinESP didn't support it.
This PR allows to set and get the temperature in 0.5 C unit.

It looks like some other Daikin protocols also support setting the
temperature in 0.5 C unit:
* Daikin2
* Daikin216
* Daikin160
* Daikin176
* Daikin152

However, they are not implemented in this PR, because I cannot test them.
2023-12-11 16:45:41 +10:00
noone2k
089ca898d0 Quiet/Silent Mode for Electra_AC (#1990)
* Add Delonghi PAC EM90 to Electra compat. list

* Add Electra_AC Quiet Mode ( testet with Delonghi PAC EM90 )

---------

Co-authored-by: noone2k <only_today@gmx.de>
2023-12-10 08:58:59 +10:00
David Conran
a295f87e06 Remove unused constant kRcmmExcess (#2033)
Per https://github.com/crankyoldgit/IRremoteESP8266/issues/2031#issuecomment-1702159536
2023-09-01 16:25:51 +10:00
David Conran
a2228ed9dc Panasonic AC: Document support for PV1122V remote (#2029)
For #2026
2023-08-30 15:18:42 +10:00
David Conran
0f6ec6d148 Update ir_Panasonic.h (#2028)
Document support for Panasonic CS-E12QKEW A/C

For #2026
2023-08-29 19:16:41 +10:00
David Conran
2bfdf97192 v2.8.6 release (#2020)
## _v2.8.6 (20230727)_

**[Bug Fixes]**
- Ensure `IRCoolixAC::toCommon()` returns `kNoTempValue` when no sensor temp is detected. (#2015 #2012)
- Fix compilation dependency of LG on Samsung send protocol (#2011 #2010)
- Fix missing parameter in call to `IRac::gree()` (#2008 #2007)

**[Features]**
- IRac: Ensure the `sleep` parameter is used for the `FUJITSU_AC` protocol. (#1992 #1991)

**[Misc]**
- Allow the BlynkIRRemote.ino code to compile again. (#2016)
- do not list WHIRLPOOL_AC unconditionally as supported protocol (#2003)
- IRUtils:typeToString() — simplify (#2002)
- Fix brand Green -> Gree (#1994)
- Fix undefined `std::round` compilation error (#1989)
v2.8.6
2023-07-28 11:59:56 +10:00
David Conran
1bab0712e3 [BUG] Ensure IRCoolixAC::toCommon() returns kNoTempValue when no sensor temp is detected. (#2015)
It seems we were reporting an incorrect sensor temp (31) which normally means "There is no sensor temp.", instead of `kNoTempValue`.

Fixes #2012
2023-07-27 09:05:44 +10:00
David Conran
75f9769427 Allow the BlynkIRRemote.ino code to compile again. (#2016)
Seems something with Blynk has changed. It needs `BLYNK_TEMPLATE_ID` & `BLYNK_TEMPLATE_NAME` defined to compile.
2023-07-26 18:22:41 +10:00
David Conran
5778cbffc1 Fix compilation dependency of LG on Samsung send protocol (#2011)
`sendSAMSUNG()` is needed by `sendLG()`, so fix the `#ifdef`s appropriately.

i.e. Compilation shouldn't break if `SEND_LG == TRUE` and `SEND_SAMSUNG == FALSE`

Fixes #2010
2023-07-10 13:18:37 +10:00
David Conran
f5f8710a9e [BUG] Fix missing parameter in call to IRac::gree() (#2008)
PR #1928 missed extending the call to `gree()` resulting in subsequent parameters being shifted by one place.

Fixes #2007
2023-06-28 12:42:38 +10:00
Дилян Палаузов
8082175126 IRac::isProtocolSupported() — do not list WHIRLPOOL_AC unconditionally as supported protocol (#2003)
It is reported as such when in Tasmota the command IRHVAC {"Vendor":"ABC"} is sent.

Build examples platformio.ini files updated where a fatal warning is generated when no protocols are enabled.

---------

Co-authored-by: David Conran <crankyoldgit@users.noreply.github.com>
2023-06-10 09:59:02 +10:00
Дилян Палаузов
4e4b158efe IRUtils:typeToString() — simplify (#2002)
Remove redundant code.
2023-06-10 09:41:36 +10:00
chic1018
9d0a9196fd Update ir_Kelvinator.h (#1994)
Fix brand Green -> Gree
2023-05-21 11:29:28 +02:00
David Conran
23177fb413 IRac: Ensure the sleep parameter is used for the FUJITSU_AC protocol. (#1992)
It seems we were not passing it on in the `IRac` class.
Fixes #1991
2023-05-15 20:57:13 +10:00
Paul
03885a6853 Fix undefined std::round compilation error (#1989)
In some implementations round is at the global scope as `::round` and some other implementations make it available as `std::round`.

The changes use the `float roundf(float)` flavor to make sure that we don't use `double round(double)` if this function isn't overloaded with the float type.
2023-05-13 01:59:47 +10:00
David Conran
1f79fee3b6 v2.8.5 release (#1988)
## _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.5
2023-05-08 23:45:19 +10:00
David Conran
35261c3ca6 Add a d1_mini_noMDNS build option to IRMQTTServer. (#1985)
Adding an option for those that don't want to use MDNS.
2023-05-07 12:58:35 +10:00
David Conran
d7ce2ca3b9 Fix a bug where we never detached the timer interrupt on ESP32s. (#1984)
Kudos to @homy-newfs8 for finding, isolating, and providing a fix for the bug.
Note: `timerEnd()` needs to happen after `timerDetachInterrupt()`

Fixes #1983
2023-05-04 12:01:25 +10:00
David Conran
575a81b200 Add support for a 40bit varient of the standard Panasonic protocol (#1977)
This seems to be a shorter version of the normal 48 bit protocol. Different manufacturer code, and slightly different checksum calc.
Modified the exist code to support it rather than add a new protocol.

Fixes #1976
2023-05-03 22:06:18 +10:00
Daniele Gobbetti
fdf35b49a8 Initial support for York AC protocol (#1889)
The protocol is known to almost every detail, checksum is calculated properly.
Some basic tests have been added.

Setting the sleep timer, scheduled power on, scheduled power off do not work
since there are some flags within byte 12 which is not correctly populated ATM.

Co-authored-by: David Conran <crankyoldgit@users.noreply.github.com>
2023-04-27 09:04:07 +10:00
David Conran
e52495f93c Add Electrolux YKR-H/531E as a supported device (#1981)
Fixes #1980
2023-04-22 19:46:05 +10:00