Commit Graph

1162 Commits

Author SHA1 Message Date
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
Nikolaus Spence
c1a014a61f Missing argument in use of midea function (#1959)
send.sleep was being sent in place of send.clean omitting send.sleep and triggering an extra IR packet with a Self Clean Toggle command along with every command.

Bug seems introduced in #1928 (FYI @mbronk )

Fixes #1958
2023-02-23 13:26:56 +10:00
sillyfrog
6c862349b5 IRMQTTServer: SHT-3x Temperature Sensor Support (#1951)
Adds support for connecting a SHT-3x temperature sensor such as this.

Will report as part of the climate entity in Home Assistant if using HA discovery, and optionally also create temperature and humidity sensors in HA as well. Adding the temperature to the climate entity makes the HA integration with Apple HomeKit much nicer as well.

It's all disabled by default.

Co-authored-by: Sillyfrog <sillyfrog@users.noreply.github.com>
Co-authored-by: David Conran <crankyoldgit@users.noreply.github.com>
2023-01-30 12:49:44 +10:00
David Conran
e7824c4b6a Experimental basic support for Carrier 84-bit protocol. (#1945)
* Add `sendCarrierAC84()` and `decodeCarrierAC84()` routines.
* Create some unit tests to cover the new code.
* Hack in some support for non-byte-aligned > 64 bit protocols.
* Update supported devices.

For #1943
2023-01-18 17:02:36 +10:00
sillyfrog
406a817f33 IR MQTT Server: HA multi output discovery (#1947)
When using the server to control more than one AC with Home Assistant, this will send a discovery message for each configured output. The naming and ID matching uses the same as the MQTT implementation (ie: 0 has no extension, 1 has _1 etc).

Co-authored-by: Sillyfrog <sillyfrog@users.noreply.github.com>
2023-01-13 19:32:56 +10:00
Mateusz Bronk
721c5b8f13 Examples: IRMQTTServer extended with new A/C common fields (#1940)
Adds iFeel/sensorTemp/command support.

IRMQTTServer build fix on Windows (naive)

bump version number as this is a significant change of operation & functionality

Signed-off-by: Mateusz Bronk <bronk.m+gh@gmail.com>
Co-authored-by: Mateusz Bronk <bronk.m+gh@gmail.com>
Co-authored-by: David Conran <crankyoldgit@users.noreply.github.com>
2023-01-12 13:51:23 +10:00
sillyfrog
ddc9ec1a25 Sync the on state to power from mode for HA (#1946)
Co-authored-by: Sillyfrog <sillyfrog@users.noreply.github.com>

I'm setting up the IRMQTTserver to link with HA (first time I've done it with an AC), and running with 2 outputs. I've found that the On state was doing weird things and this is the solution that worked for me (forcing the sync of the power state to On as well).

Please let me know if I missed something - it's been a while since I've had a chance to work on such things :)

I'm using the FUJITSU_AC protocol (not sure it matters, but this one has a completely different "Off" format vs On).
2023-01-12 09:00:06 +10:00
David Conran
2f7afbd83e Update XMP status to Stable (#1944)
Ref: https://github.com/crankyoldgit/IRremoteESP8266/discussions/1942#discussioncomment-4579476
2023-01-05 20:21:58 +10:00
David Conran
fa77d78076 Add support the WowWee 11-Bit RoboRaptor-X protocol. (#1939)
* Basic `sendWowwee()` & decodeWowwee()` routines.
* Unit test coverage including decoding of two different captured messages from a real remote.
* Add reference for available/known RoboRaptor-X codes.

Fixes #1938
2022-12-31 18:45:32 +10:00
David Conran
3a81664c24 upgrade to a later version of googletest (#1936)
Try a higher revision

1.10.x didn't fix the `-Wall` issue.
2022-12-26 03:23:54 +10:00
Mateusz Bronk
e6ec73c3b9 Added 'sensorTemperature' and 'iFeel' to IRac (common) (#1928)
* Added sensor temp. support to IRac (common)

Incl. impl. for Argo A/C

Signed-off-by: Mateusz Bronk <bronk.m+gh@gmail.com>

* Added common sensor temp. support to all protos exposing iFeel already

Signed-off-by: Mateusz Bronk <bronk.m+gh@gmail.com>

Signed-off-by: Mateusz Bronk <bronk.m+gh@gmail.com>
Co-authored-by: Mateusz Bronk <bronk.m+gh@gmail.com>
2022-12-25 18:17:00 +10:00
Mateusz Bronk
f19ab879c7 Added extra "mid" option for Fan & SwingV to IRac (#1929)
Signed-off-by: Mateusz Bronk <bronk.m+gh@gmail.com>
Co-authored-by: Mateusz Bronk <bronk.m+gh@gmail.com>
2022-12-25 18:15:04 +10:00
samuele-cozzi
00b27cc7ea MITSUBISHI128: Added model to supported protocol (#1924)
PAR-FA32MA remote
2022-12-04 19:51:44 +10:00