Protocol / device
- Brand: Mitsubishi Heavy Industries (made by the MHI–Jinling JV for the Chinese market)
- Indoor unit: SRKAJ35H1VB
- Outdoor unit: SRCAJ35H1VB
- Remote model: RYD502A003B
- Year: 2017
- Refrigerant: R410A
Why this is not already supported
The library already has the Japanese MHI protocols (MITSUBISHI_HEAVY_88 = 11 bytes, MITSUBISHI_HEAVY_152 = 19 bytes). This Chinese MHI–Jinling unit uses a completely different, much shorter 64-bit (8-byte) frame that none of the existing Mitsubishi / MitsubishiHeavy decoders match. I confirmed against v2.9.0 that the smallest Mitsubishi A/C state length in the library is 11 bytes, so there is no overlap.
Frame structure (reverse-engineered)
8 bytes, sent as 4 pairs of [data][~data] (each pair sums to 0xFF — built-in checksum):
| Byte |
Value |
Meaning |
| B0 / B1 |
0xFF / 0x00 |
fixed header |
| B2 / B3 |
data / ~data |
Fan: High 0xFF/0x00, Med 0xBF/0x40, Low 0x9F/0x60 |
| B4 / B5 |
data / ~data |
B4 = ((32-temp) & 0xF) << 4 | mode; mode Cool=6 Dry=5 Fan=4 Heat=3, bit3 = power-off. B5 = 0xFF - B4 |
| B6 / B7 |
0x2A / 0xD5 |
fixed trailer (0x2A+0xD5 = 0xFF) |
Timing (µs, 38 kHz, frame repeated 3× with 50 ms gap)
- Header mark / space: 5950 / 7475
- Bit mark: 508
- One space: 3454, Zero space: 1496
- Trailer mark / space: 508 / 7422
What I currently have / scope
- Fully working send (sendRaw-based) for temperature, mode, fan — verified against the real unit.
- Decode + checksum validation also working in my own firmware.
- Not yet captured: sleep, timer, swing, etc. (I only reverse-engineered the 3 fields above.)
Questions before I open a PR
- Would you accept this as a new protocol? If so, how would you prefer it named/grouped (a new
MitsubishiHeavyJinling family, or extend the existing MitsubishiHeavy file)?
- Is "temp/mode/fan only" acceptable to start, or do you require the full remote feature set before merging?
- Do you want raw
IRrecvDumpV3 captures attached for the test cases? I can provide them.
I have working hardware and am happy to do the full protocol class + unit tests + docs if this is something you'd merge.
Protocol / device
Why this is not already supported
The library already has the Japanese MHI protocols (
MITSUBISHI_HEAVY_88= 11 bytes,MITSUBISHI_HEAVY_152= 19 bytes). This Chinese MHI–Jinling unit uses a completely different, much shorter 64-bit (8-byte) frame that none of the existing Mitsubishi / MitsubishiHeavy decoders match. I confirmed against v2.9.0 that the smallest Mitsubishi A/C state length in the library is 11 bytes, so there is no overlap.Frame structure (reverse-engineered)
8 bytes, sent as 4 pairs of
[data][~data](each pair sums to 0xFF — built-in checksum):0xFF/0x00~data0xFF/0x00, Med0xBF/0x40, Low0x9F/0x60~data((32-temp) & 0xF) << 4| mode; mode Cool=6 Dry=5 Fan=4 Heat=3, bit3 = power-off. B5 =0xFF - B40x2A/0xD5Timing (µs, 38 kHz, frame repeated 3× with 50 ms gap)
What I currently have / scope
Questions before I open a PR
MitsubishiHeavyJinlingfamily, or extend the existing MitsubishiHeavy file)?IRrecvDumpV3captures attached for the test cases? I can provide them.I have working hardware and am happy to do the full protocol class + unit tests + docs if this is something you'd merge.