crankyoldgit / IRremoteESP8266

Infrared remote library for ESP8266/ESP32: send and receive infrared signals with multiple protocols. Based on: https://github.com/shirriff/Arduino-IRremote/
GNU Lesser General Public License v2.1
2.84k stars 810 forks source link

Toshiba AC Remote Control B Support #2089

Open jackysze opened 2 months ago

jackysze commented 2 months ago

Version/revision of the library used

v2.8.6/master

Describe the bug

I have two indoor units installed close together and configured to use "Remote Control A" in the first unit and "Remote Control B" in the other unit to avoid interference, as described in the user manual below.

image

The current codebase has hardcoded the first five bytes 0xF20D03FC01 that only allows to emulate "Remote Control A". After capturing the IR signals of "Remote Control B", it is found that the only variance is on the leading 4 bits of the 3rd byte in the 72-bits command.

IR

Complete Command 3rd byte 4th byte
Remote Control A 0xF20D03FC0180010080 0x03 0xFC
Remote Control B 0xF20D13EC0180010080 0x13 0xEC

While the 4th byte's value is already derived by the checksum function automatically. Please help to enhance the support by enabling to specify remote type in the constructor and expose the field with getter, setter functions. Thank you.

jackysze commented 2 months ago

In addition to the Remote Control B findings. Fan speed implementation was found to be different in remote control model WH-TA03NE/WH-TA04NE as below.

Fan Speed - First 4 bits of the 7th byte (byte[6]).

HEX Existing Scheme WH-TA03NE/WH-TA04NE
0x0 Auto Auto
0x1 Min N/A
0x2 N/A Quiet (Min)
0x3 Med N/A
0x4 N/A Fan Speed Level 1
0x5 Max N/A
0x6 N/A Fan Speed Level 2
0x7 N/A N/A
0x8 N/A Fan Speed Level 3
0x9 N/A N/A
0xA N/A Fan Speed Level 4
0xB N/A N/A
0xC N/A Fan Speed Level 5 (Max)
0xD N/A N/A
0xE N/A N/A
0xF N/A N/A