Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Hitachi RAS-70YHA3 (remote RAR-3U3) #1757

Closed
jeef3 opened this issue Feb 12, 2022 · 10 comments · Fixed by #1758 or #1776
Closed

Support for Hitachi RAS-70YHA3 (remote RAR-3U3) #1757

jeef3 opened this issue Feb 12, 2022 · 10 comments · Fixed by #1758 or #1776

Comments

@jeef3
Copy link
Contributor

jeef3 commented Feb 12, 2022

I am trying to add support for my Hitachi RAS-70YHA3 heatpump with remote RAR-3U3. I forked your repo and started an attempt (you'll have to forgive me, I'm not a c++ developer) a few months back, but I struggled a bit. I called it HITACHI_AC296.

My attempt is based on someone else's research on the same protocol. Using what I learnt there I was able to send working signals, I just wasn't able to get it into IRremoteESP8266 properly.

At the time I did not know about auto_analyse_raw_data.py, so I will give that a shot. I just wanted to open this ticket to track progress and have a place for guidance 🙏.


Raw output from IRrecvDumpV2 (I am using a VS1838b, but I don't seem to have had too many issues with it, I don't think):

Timestamp : 000016.193
Library   : v_IRREMOTEESP8266_VERSION_MAJOR._IRREMOTEESP8266_VERSION_MINOR._IRREMOTEESP8266_VERSION_PATCH

Protocol  : UNKNOWN
Code      : 0x4EB022A8 (298 Bits)
uint16_t rawData[595] = {3280, 1714,  360, 1278,  358, 518,  358, 516,  362, 514,  362, 512,  362, 514,  358, 516,  358, 520,  360, 516,  358, 514,  362, 516,  356, 518,  360, 1278,  360, 514,  360, 516,  360, 518,  360, 516,  360, 518,  358, 516,  358, 516,  358, 516,  360, 514,  362, 512,  364, 518,  360, 514,  362, 514,  360, 516,  358, 514,  360, 514,  362, 514,  358, 1280,  360, 518,  360, 1276,  362, 1278,  360, 1278,  360, 1278,  358, 1280,  360, 1280,  358, 518,  356, 1282,  360, 1278,  358, 1282,  358, 1278,  360, 1278,  360, 1278,  360, 1276,  360, 1278,  358, 1282,  360, 516,  360, 516,  360, 514,  360, 516,  358, 516,  362, 516,  358, 518,  356, 520,  362, 514,  360, 514,  360, 1276,  362, 1280,  358, 516,  360, 516,  358, 1278,  360, 1284,  358, 1276,  360, 1278,  360, 516,  360, 518,  360, 1274,  362, 1280,  358, 516,  360, 518,  360, 516,  358, 1280,  360, 514,  360, 514,  360, 1280,  360, 516,  358, 514,  360, 1282,  360, 1280,  358, 514,  360, 1278,  360, 1280,  358, 516,  358, 1278,  360, 1280,  358, 518,  360, 516,  360, 514,  360, 1278,  360, 516,  358, 518,  356, 518,  358, 1278,  360, 518,  362, 1278,  358, 1278,  360, 516,  358, 1276,  362, 1278,  358, 1280,  358, 516,  356, 1284,  362, 514,  360, 514,  360, 516,  360, 514,  360, 514,  362, 1278,  360, 1276,  362, 518,  358, 1278,  362, 1276,  360, 1278,  360, 1280,  358, 1280,  358, 516,  360, 516,  360, 1282,  362, 512,  362, 516,  360, 516,  360, 514,  360, 514,  360, 514,  362, 516,  358, 520,  358, 1278,  362, 1278,  358, 1280,  360, 1276,  362, 1278,  360, 1278,  360, 1278,  360, 1282,  362, 518,  356, 518,  358, 516,  358, 516,  360, 516,  358, 514,  360, 516,  358, 520,  358, 1280,  358, 1280,  358, 1280,  358, 1278,  362, 1278,  358, 1278,  360, 1276,  362, 1284,  358, 518,  358, 516,  358, 516,  360, 516,  358, 516,  358, 516,  360, 514,  360, 520,  360, 1278,  360, 1278,  362, 1278,  360, 1278,  362, 1278,  358, 1278,  362, 1278,  360, 1282,  360, 516,  360, 514,  360, 516,  360, 514,  360, 514,  360, 516,  360, 516,  360, 518,  360, 1278,  360, 1276,  362, 1278,  360, 1278,  362, 1278,  358, 1278,  362, 1280,  358, 1282,  358, 516,  360, 514,  360, 516,  360, 514,  360, 518,  358, 516,  358, 516,  360, 520,  360, 1278,  360, 1278,  360, 1278,  360, 1278,  362, 1278,  360, 1276,  360, 1278,  360, 1282,  360, 514,  360, 1276,  360, 1280,  358, 516,  360, 1278,  362, 512,  360, 1278,  360, 518,  358, 1278,  362, 516,  356, 516,  360, 1278,  360, 518,  356, 1280,  360, 518,  358, 1284,  358, 1280,  358, 516,  358, 516,  360, 516,  358, 1282,  356, 1278,  360, 1278,  360, 1282,  358, 518,  360, 1276,  360, 1278,  360, 1276,  362, 514,  358, 516,  360, 516,  358, 518,  362, 514,  360, 516,  358, 516,  358, 516,  362, 512,  360, 516,  360, 512,  360, 518,  360, 1278,  360, 1276,  362, 1278,  360, 1278,  360, 1278,  360, 1278,  360, 1278,  358, 1284,  360, 514,  358, 516,  360, 516,  360, 514,  358, 514,  362, 514,  362, 514,  358, 520,  360, 1278,  360, 1278,  362, 1278,  360, 1276,  362, 1278,  360, 1278,  360, 1278,  358, 1284,  360, 514,  362, 514,  362, 514,  360, 514,  360, 514,  362, 514,  358, 516,  360, 520,  358, 1278,  360, 1280,  358, 1276,  360, 1278,  360, 1278,  360, 1278,  360, 1278,  360, 1282,  358, 1280,  360, 1278,  362, 512,  362, 514,  360, 514,  360, 514,  360, 516,  360, 518,  360, 514,  362, 514,  360, 1278,  360, 1278,  358, 1278,  360, 1276,  362, 1276,  360, 1280,  362};  // UNKNOWN 4EB022A8

Output from auto_analyse_raw_data.py.

Found 595 timing entries.
Potential Mark Candidates:
[3280, 364]
Potential Space Candidates:
[1714, 1284, 520]

Guessing encoding type:
Looks like it uses space encoding. Yay!

Guessing key value:
kHdrMark   = 3280
kHdrSpace  = 1714
kBitMark   = 359
kOneSpace  = 1278
kZeroSpace = 515

Decoding protocol based on analysis so far:

kHdrMark+kHdrSpace+10000000000010000000000000000010111111011111111100000000001100111100110001001001101101100010001011011101000001101111100100000000111111110000000011111111000000001111111100000000111111110000000011111111011010101001010110001111011100000000000011111111000000001111111100000000111111111100000000111111
  Bits: 296
  Hex:  0x80080002FDFF0033CC49B622DD06F900FF00FF00FF00FF00FF6A958F7000FF00FF00FFC03F (MSB first)
        0xFC03FF00FF00FF000EF1A956FF00FF00FF00FF00FF009F60BB446D9233CC00FFBF40001001 (LSB first)
  Dec:  63672915700286784428888561416304607301127352178493058802278520882964001991547211996971071 (MSB first)
        125333218691812209784605858600489852403040852452316227886439093576240819778267537704226817 (LSB first)
  Bin:  0b10000000000010000000000000000010111111011111111100000000001100111100110001001001101101100010001011011101000001101111100100000000111111110000000011111111000000001111111100000000111111110000000011111111011010101001010110001111011100000000000011111111000000001111111100000000111111111100000000111111 (MSB first)
        0b11111100000000111111111100000000111111110000000011111111000000000000111011110001101010010101011011111111000000001111111100000000111111110000000011111111000000001111111100000000100111110110000010111011010001000110110110010010001100111100110000000000111111111011111101000000000000000001000000000001 (LSB first)

Total Nr. of suspected bits: 296
@NiKiZe
Copy link
Collaborator

NiKiZe commented Feb 12, 2022

You seem to have been doing quite good.
Start with https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-AC-protocol
Get the receiver and sending logic in place.
For an AC it is best to record the temperature range and post the raw data.
That is from 16-32 Degrees C or whatever the remote does without changing any other setting.
This gives us the best way to arrange the receive and sending functions for easy conversation.
(it also serves as documentation if anyone ever needs to go back and check the protocol)

The values you have seem to match the generic IRrecv::decodeHitachiAC only a "new number of bits"

crankyoldgit pushed a commit that referenced this issue Mar 13, 2022
Add support for Hitachi RAS-70YHA3 (remote RAR-3U3). Fixes #1757

This PR provides some initial support for the RAR-3U3 remote. It works of initial research [found here](https://perhof.wordpress.com/2015/03/29/reverse-engineering-hitachi-air-conditioner-infrared-remote-commands/).
crankyoldgit added a commit that referenced this issue Mar 13, 2022
* Fix max temp issue.
* Set special temp for auto operation mode.
* Merge into the `IRac` class so it is supported fully.
* Add `.toString()` output.
* Add real & synthetic decoding examples.
* General code style cleanup(s).
* Add supporting Unit Tests.

Ref: #1758
Fixes #1757
crankyoldgit added a commit that referenced this issue Mar 13, 2022
* Fix max temp issue.
* Set special temp for auto operation mode.
* Merge into the `IRac` class so it is supported fully.
* Add `.toString()` output.
* Add real & synthetic decoding examples.
* General code style cleanup(s).
* Add supporting Unit Tests.

Ref: #1758
Fixes #1757
crankyoldgit added a commit that referenced this issue Mar 14, 2022
_v2.8.2 (20220314)_

**[Bug Fixes]**
- ESP32-C3: Fix reboot/crashes on ESP32-C3s when receiving. (#1768 #1751)

**[Features]**
- HITACHI_AC296: Add `IRac` class support & tests. (#1776 #1758 #1757)
- Support for Hitachi RAS-70YHA3 (remote RAR-3U3) (#1758 #1757)
- LG: Add Swing Toggle support for Model `LG6711A20083V` (#1771 #1770)
- IRMQTTServer: add `MQTT_SERVER_AUTODETECT_ENABLE` via mqtt mDNS (#1769)
- Experimental basic support for Kelon 168 bit / 21 byte protocol. (#1747 #1745 #1744)
- MitsubishiAC: Tweak repeat gap timing. (#1760 #1759)
- Gree YAP0F8 (Detected as Kelvinator) vertical position set support (#1756)
- Make KELON (48 bit) protocol decoding stricter. (#1746 #1744)
- IRMQTTServer V1.6.1 (#1740 #1739 #1729)
- HITACHI_AC264: Add minimal detailed support. (#1735 #1729)
- LG2: Improve Light toggle msg handling. (#1738 #1737)
- MIDEA: Add support for Quiet, Clean & Freeze Protect controls. (#1734 #1733)
- Add basic support for HITACHI_AC264 264bit protocol. (#1730 #1729)
- ESP32-C3: Work around for some C3 specific compiler issues again. (#1732 #1695)

**[Misc]**
- MIDEA: Update supported devices (#1774 #1773 #1716)
- Update devices supported by ELECTRA_AC (#1766 #1765)
- Improve documentation for `encodePioneer()` (#1761 #1749)
- Update (un)supported DAIKIN128 devices. (#1752)
- Refactor `decodeCOOLIX()` code & add another test case. (#1750 #1748)
- Simplify code based on state_t being initialised by default. (#1736 #1699)
- Add comments to help Teknopoint users. (#1731 #1728)
- Fix library version string calculation. (#1727 #1725)
- Confirm we can reproduce `TurnOnFujitsuAC.ino` via IRac/IRMQTTServer. (#1726 #1701)
crankyoldgit added a commit that referenced this issue Mar 15, 2022
##_v2.8.2 (20220314)_

**[Bug Fixes]**
- ESP32-C3: Fix reboot/crashes on ESP32-C3s when receiving. (#1768 #1751)

**[Features]**
- HITACHI_AC296: Add `IRac` class support & tests. (#1776 #1758 #1757)
- Support for Hitachi RAS-70YHA3 (remote RAR-3U3) (#1758 #1757)
- LG: Add Swing Toggle support for Model `LG6711A20083V` (#1771 #1770)
- IRMQTTServer: add `MQTT_SERVER_AUTODETECT_ENABLE` via mqtt mDNS (#1769)
- Experimental basic support for Kelon 168 bit / 21 byte protocol. (#1747 #1745 #1744)
- MitsubishiAC: Tweak repeat gap timing. (#1760 #1759)
- Gree YAP0F8 (Detected as Kelvinator) vertical position set support (#1756)
- Make KELON (48 bit) protocol decoding stricter. (#1746 #1744)
- IRMQTTServer V1.6.1 (#1740 #1739 #1729)
- HITACHI_AC264: Add minimal detailed support. (#1735 #1729)
- LG2: Improve Light toggle msg handling. (#1738 #1737)
- MIDEA: Add support for Quiet, Clean & Freeze Protect controls. (#1734 #1733)
- Add basic support for HITACHI_AC264 264bit protocol. (#1730 #1729)
- ESP32-C3: Work around for some C3 specific compiler issues again. (#1732 #1695)

**[Misc]**
- MIDEA: Update supported devices (#1774 #1773 #1716)
- Update devices supported by ELECTRA_AC (#1766 #1765)
- Improve documentation for `encodePioneer()` (#1761 #1749)
- Update (un)supported DAIKIN128 devices. (#1752)
- Refactor `decodeCOOLIX()` code & add another test case. (#1750 #1748)
- Simplify code based on state_t being initialised by default. (#1736 #1699)
- Add comments to help Teknopoint users. (#1731 #1728)
- Fix library version string calculation. (#1727 #1725)
- Confirm we can reproduce `TurnOnFujitsuAC.ino` via IRac/IRMQTTServer. (#1726 #1701)
@crankyoldgit
Copy link
Owner

FYI, the changes mentioned above have now been included in the new v2.8.2 release of the library.

@Onepamopa
Copy link

I'm having some troubles with HITACHI_AC296 detection.
Remote is RAR-3E1, Hitachi RAS-10EX2 -- It gets detected as HITACHI_AC296 but not all the time. I've tried adjusting kTolerancePercentage & kTimeout without any improvement:

11:47:33.449 -> Tolerance : 24%
11:47:33.449 -> Protocol : HITACHI_AC296
11:47:33.449 -> Code : 0x01100040BFFF00CC33926D13EC708F00FF00FF00FF00FF00FF53ACF10E00FF00FF00FF03FC (296 Bits)
11:47:33.449 -> Mesg Desc.: Power: On, Mode: 3 (Cool), Temp: 28C, Fan: 5 (Auto)
11:47:33.449 -> uint16_t rawData[595] = {3434, 1642, 464, 1202, 484, 436, 484, 436, 484, 436, 484, 436, 484, 440, 480, 440, 484, 458, 458, 462, 464, 456, 464, 458, 462, 462, 460, 1222, 462, 458, 464, 456, 464, 436, 484, 462, 458, 462, 460, 462, 458, 462, 438, 482, 464, 458, 462, 458, 464, 436, 484, 440, 484, 436, 484, 436, 484, 436, 484, 436, 486, 436, 484, 1202, 484, 458, 462, 1224, 462, 1198, 484, 1202, 480, 1228, 458, 1222, 464, 1202, 484, 436, 484, 1222, 460, 1200, 484, 1202, 484, 1222, 462, 1218, 468, 1196, 484, 1202, 458, 1250, 458, 1202, 484, 436, 484, 436, 488, 432, 488, 436, 484, 436, 484, 436, 484, 436, 484, 456, 464, 456, 464, 458, 464, 1222, 462, 1202, 484, 436, 486, 436, 484, 1196, 490, 1196, 484, 1202, 484, 1202, 484, 436, 486, 434, 486, 1222, 464, 1218, 464, 456, 464, 458, 462, 436, 484, 1222, 464, 458, 462, 458, 462, 1222, 464, 458, 462, 458, 464, 1222, 464, 1196, 490, 436, 480, 1222, 464, 1222, 464, 458, 464, 1202, 484, 1196, 486, 456, 468, 1218, 464, 1202, 484, 436, 484, 436, 484, 1196, 490, 432, 490, 434, 486, 456, 464, 458, 462, 458, 464, 1222, 464, 1196, 490, 434, 486, 1196, 486, 1222, 464, 1196, 490, 432, 488, 436, 484, 436, 484, 436, 484, 1198, 484, 1222, 464, 1222, 464, 436, 484, 1202, 480, 1226, 464, 1218, 464, 1200, 484, 436, 484, 436, 484, 436, 484, 1224, 462, 458, 464, 456, 464, 458, 462, 458, 464, 458, 462, 462, 458, 462, 464, 436, 484, 1198, 484, 1200, 486, 1222, 464, 1218, 468, 1196, 484, 1202, 484, 1222, 464, 1196, 490, 430, 488, 432, 490, 436, 484, 436, 484, 436, 486, 436, 484, 436, 484, 458, 462, 1224, 462, 1224, 462, 1196, 486, 1200, 486, 1222, 464, 1218, 468, 1196, 486, 1222, 436, 484, 464, 456, 464, 458, 464, 456, 464, 456, 464, 462, 458, 462, 464, 436, 484, 1196, 486, 1202, 484, 1222, 464, 1218, 442, 1224, 484, 1196, 486, 1222, 462, 1202, 484, 436, 464, 456, 464, 458, 488, 432, 490, 432, 488, 432, 490, 436, 458, 484, 462, 1222, 464, 1218, 442, 1222, 484, 1198, 484, 1222, 442, 1244, 464, 1200, 484, 1224, 458, 462, 458, 462, 438, 482, 464, 458, 464, 458, 462, 458, 462, 458, 442, 458, 464, 1222, 486, 1196, 484, 1224, 436, 1250, 464, 1196, 464, 1222, 484, 1224, 464, 1196, 488, 1198, 484, 1200, 484, 436, 484, 436, 484, 1222, 464, 456, 464, 1222, 462, 436, 486, 456, 464, 456, 442, 1222, 486, 1196, 488, 436, 486, 1222, 432, 488, 464, 1196, 488, 1198, 484, 436, 484, 436, 464, 458, 484, 1224, 462, 1224, 464, 1196, 464, 1244, 464, 456, 464, 1224, 462, 1198, 484, 1202, 484, 436, 484, 436, 486, 436, 488, 452, 464, 458, 462, 462, 436, 484, 436, 484, 464, 456, 464, 458, 462, 458, 468, 432, 488, 1198, 484, 1198, 484, 1224, 464, 1222, 464, 1196, 464, 1222, 486, 1222, 464, 1196, 490, 430, 488, 432, 490, 436, 484, 436, 484, 436, 458, 462, 462, 458, 484, 458, 462, 1222, 442, 1244, 464, 1196, 488, 1198, 484, 1222, 464, 1222, 464, 1196, 488, 1220, 462, 458, 462, 458, 464, 458, 436, 488, 438, 482, 438, 484, 462, 458, 464, 434, 464, 1222, 484, 1198, 458, 1248, 442, 1244, 464, 1196, 490, 1196, 484, 1224, 462, 1198, 490, 1196, 484, 1224, 462, 458, 464, 458, 462, 458, 464, 458, 462, 458, 442, 458, 462, 478, 468, 458, 464, 1196, 458, 1228, 484, 1224, 464, 1218, 436, 1228, 486, 1222, 464}; // HITACHI_AC296
11:47:33.768 -> uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x13, 0xEC, 0x70, 0x8F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x53, 0xAC, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};
11:47:33.768 ->
11:47:33.768 ->
11:47:37.620 -> Timestamp : 000036.258
11:47:37.620 -> Library : v2.8.4
11:47:37.620 ->
11:47:37.620 -> Tolerance : 24%
11:47:37.620 -> Protocol : UNKNOWN
11:47:37.665 -> Code : 0x9926467C (299 Bits)
11:47:37.665 -> No description
11:47:37.665 -> uint16_t rawData[597] = {3414, 1620, 484, 1202, 484, 436, 484, 436, 484, 436, 484, 436, 486, 436, 488, 432, 484, 462, 464, 436, 484, 436, 486, 436, 484, 436, 486, 1222, 458, 462, 464, 456, 464, 436, 484, 436, 484, 436, 486, 434, 486, 436, 488, 436, 484, 436, 486, 436, 484, 458, 462, 458, 462, 458, 464, 462, 462, 458, 462, 458, 464, 456, 464, 1198, 484, 462, 458, 1224, 464, 1222, 464, 1196, 484, 1202, 484, 1224, 462, 1218, 468, 458, 460, 1222, 464, 1222, 464, 1196, 488, 1196, 486, 1222, 462, 1224, 462, 1198, 484, 1202, 484, 1202, 484, 458, 464, 456, 464, 458, 464, 456, 464, 456, 464, 458, 462, 458, 464, 436, 488, 432, 488, 436, 484, 1222, 462, 1218, 464, 458, 468, 452, 468, 1198, 484, 1224, 462, 1218, 468, 1196, 486, 436, 484, 436, 484, 1202, 484, 1222, 464, 456, 464, 458, 464, 436, 484, 1196, 490, 436, 484, 436, 484, 1222, 460, 462, 462, 458, 462, 1202, 484, 1196, 488, 436, 484, 1196, 484, 1224, 462, 458, 468, 1218, 464, 1200, 480, 462, 464, 1222, 462, 1218, 468, 452, 468, 458, 462, 1196, 490, 432, 488, 432, 484, 462, 464, 436, 484, 436, 484, 1224, 464, 1218, 468, 454, 466, 1198, 484, 1202, 484, 1198, 488, 458, 464, 456, 464, 458, 462, 458, 462, 1198, 488, 1198, 484, 1222, 464, 436, 462, 1224, 484, 1196, 484, 1224, 464, 1222, 464, 456, 464, 456, 464, 458, 464, 1222, 462, 436, 486, 436, 484, 436, 484, 436, 486, 436, 488, 432, 490, 430, 490, 458, 462, 1218, 468, 1196, 484, 1202, 484, 1222, 464, 1218, 468, 1198, 484, 1202, 484, 1196, 490, 458, 462, 458, 462, 458, 464, 458, 462, 458, 462, 458, 468, 452, 442, 458, 490, 1196, 484, 1224, 462, 1218, 468, 1198, 484, 1202, 484, 1218, 468, 1218, 462, 1222, 464, 436, 484, 436, 486, 436, 484, 436, 490, 430, 490, 430, 490, 432, 490, 456, 464, 1218, 468, 1196, 484, 1202, 484, 1218, 468, 1218, 468, 1196, 486, 1196, 488, 1196, 490, 458, 462, 458, 462, 458, 464, 458, 462, 458, 462, 458, 442, 478, 464, 436, 490, 1196, 486, 1222, 464, 1218, 468, 1196, 486, 1196, 464, 1244, 468, 1218, 464, 1222, 464, 436, 484, 436, 484, 436, 484, 436, 458, 462, 490, 430, 490, 432, 488, 458, 464, 1222, 464, 1196, 488, 1196, 486, 1222, 464, 1222, 464, 1196, 488, 1198, 462, 1224, 484, 1222, 464, 1196, 488, 432, 488, 432, 490, 1196, 458, 462, 486, 1222, 442, 456, 486, 456, 464, 458, 466, 1218, 442, 1222, 486, 436, 484, 1196, 490, 432, 488, 1196, 490, 1196, 464, 456, 464, 458, 488, 432, 490, 436, 484, 1196, 486, 1222, 464, 1196, 490, 436, 484, 1198, 458, 1248, 442, 1244, 438, 1222, 490, 436, 484, 436, 484, 458, 464, 436, 458, 462, 458, 462, 464, 456, 464, 458, 488, 436, 484, 436, 458, 484, 442, 1244, 438, 1222, 464, 1222, 484, 1222, 464, 1222, 464, 1196, 460, 1228, 458, 1224, 488, 458, 462, 458, 438, 484, 436, 484, 436, 484, 438, 482, 442, 484, 436, 458, 464, 1222, 484, 1222, 438, 1248, 438, 1222, 464, 1222, 484, 1224, 438, 1244, 436, 1250, 438, 462, 458, 462, 458, 462, 460, 462, 462, 458, 432, 488, 462, 458, 490, 456, 438, 1248, 438, 1222, 458, 1228, 458, 1248, 438, 1244, 438, 1228, 458, 1224, 462, 1222, 460, 1226, 460, 1222, 432, 488, 434, 488, 462, 458, 464, 462, 458, 462, 458, 484, 436, 484, 436, 484, 412, 1274, 438, 1222, 434, 1252, 460, 1248, 438, 1248, 406, 1254, 432, 13490, 278}; // UNKNOWN 9926467C
11:47:37.941 ->
11:47:37.941 ->

Any ideas?

Also, looks like 2 of the modes aren't recognized (took me a looooot of tries to be able to extract a "working" match:

// HITACHI DRY "OFF"
10:51:09.892 -> Protocol : HITACHI_AC296
10:51:09.892 -> Code : 0x01100040BFFF00CC33926D13EC609F00FF00FF00FF00FF00FF25DAE11E00FF00FF00FF03FC (296 Bits)
10:51:09.892 -> Mesg Desc.: Power: Off, Mode: 5 (UNKNOWN), Temp: 24C, Fan: 2 (Low)
10:51:09.938 -> uint16_t rawData[595] = {3440, 1642, 464, 1222, 438, 482, 464, 456, 464, 458, 464, 456, 464, 458, 464, 456, 468, 436, 484, 458, 462, 458, 462, 458, 464, 458, 462, 1200, 486, 436, 484, 436, 486, 456, 464, 458, 462, 462, 464, 456, 462, 458, 462, 458, 464, 456, 464, 458, 464, 436, 484, 436, 484, 436, 486, 436, 490, 434, 484, 436, 486, 436, 484, 1222, 462, 436, 486, 1200, 484, 1196, 486, 1222, 462, 1224, 464, 1200, 484, 1196, 484, 436, 488, 1198, 484, 1202, 484, 1222, 464, 1218, 468, 1196, 484, 1202, 484, 1222, 464, 1218, 464, 1222, 464, 436, 486, 436, 484, 436, 484, 436, 490, 432, 490, 434, 484, 436, 484, 456, 464, 458, 462, 458, 468, 1196, 484, 1202, 484, 436, 486, 436, 484, 1222, 464, 1196, 490, 1196, 484, 1224, 464, 456, 464, 458, 464, 1222, 462, 1198, 488, 436, 486, 436, 480, 462, 464, 1218, 468, 452, 468, 458, 462, 1198, 488, 436, 484, 436, 484, 1220, 462, 1222, 464, 458, 462, 1222, 464, 1200, 486, 436, 484, 1198, 484, 1222, 464, 436, 484, 1202, 484, 1196, 490, 436, 484, 436, 484, 1224, 462, 458, 464, 456, 464, 436, 484, 458, 464, 456, 468, 1196, 484, 1202, 484, 436, 484, 1218, 468, 1218, 464, 1222, 464, 436, 484, 436, 484, 436, 484, 436, 484, 436, 486, 1222, 464, 1222, 464, 436, 484, 1202, 484, 1218, 468, 1218, 464, 1200, 484, 1198, 488, 432, 490, 434, 486, 1202, 484, 458, 462, 458, 464, 456, 468, 452, 468, 454, 466, 458, 464, 456, 464, 434, 484, 1198, 488, 1218, 468, 1218, 464, 1200, 486, 1196, 486, 1222, 468, 1218, 464, 1218, 468, 432, 488, 432, 490, 434, 486, 436, 484, 436, 484, 436, 490, 432, 490, 452, 468, 1218, 468, 1196, 486, 1196, 490, 1218, 468, 1218, 468, 1196, 484, 1198, 488, 1196, 490, 452, 468, 452, 468, 458, 464, 456, 464, 458, 462, 458, 468, 454, 466, 432, 488, 1198, 484, 1224, 462, 1218, 468, 1198, 488, 1196, 484, 1222, 464, 1218, 468, 1218, 468, 430, 490, 432, 490, 430, 488, 436, 484, 434, 486, 436, 484, 436, 490, 452, 468, 1218, 468, 1198, 484, 1196, 490, 1218, 468, 1218, 464, 1196, 490, 1196, 490, 1196, 486, 456, 464, 458, 468, 452, 468, 452, 468, 452, 468, 452, 468, 454, 468, 430, 490, 1198, 488, 1218, 468, 1218, 464, 1196, 490, 1196, 484, 1222, 468, 1214, 466, 1218, 468, 1198, 484, 436, 484, 1222, 464, 458, 464, 456, 468, 1218, 464, 458, 462, 436, 490, 452, 468, 1196, 490, 430, 490, 1196, 484, 1218, 468, 458, 464, 1218, 468, 1218, 462, 1224, 464, 456, 464, 456, 464, 456, 462, 458, 468, 1220, 466, 1192, 490, 1218, 468, 452, 468, 1218, 468, 1198, 484, 1196, 490, 1218, 462, 458, 468, 452, 468, 436, 484, 458, 462, 458, 466, 452, 468, 452, 468, 454, 468, 452, 468, 458, 462, 436, 486, 1196, 490, 1218, 468, 1218, 468, 1196, 484, 1196, 490, 1218, 468, 1218, 464, 1218, 468, 430, 490, 432, 490, 436, 484, 436, 486, 436, 488, 432, 488, 432, 490, 452, 468, 1218, 468, 1196, 486, 1196, 490, 1218, 468, 1218, 468, 1196, 486, 1196, 488, 1196, 490, 452, 468, 454, 468, 458, 462, 458, 462, 458, 468, 452, 468, 452, 468, 432, 488, 1198, 484, 1224, 462, 1222, 464, 1196, 488, 1198, 484, 1222, 468, 1214, 468, 1218, 468, 1218, 468, 1218, 468, 454, 468, 452, 468, 452, 468, 452, 470, 454, 464, 434, 490, 430, 488, 432, 490, 1192, 488, 1220, 468, 1218, 468, 1198, 484, 1198, 488, 1218, 468}; // HITACHI_AC296
10:51:10.260 -> uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x13, 0xEC, 0x60, 0x9F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x25, 0xDA, 0xE1, 0x1E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

// DRY ON
10:55:35.518 -> Protocol : HITACHI_AC296
10:55:35.518 -> Code : 0x01100040BFFF00CC33926D41BE609F00FF00FF00FF00FF00FF25DAF10E00FF00FF00FF03FC (296 Bits)
10:55:35.518 -> Mesg Desc.: Power: On, Mode: 5 (UNKNOWN), Temp: 24C, Fan: 2 (Low)
10:55:35.564 -> uint16_t rawData[595] = {3436, 1646, 458, 1202, 484, 440, 480, 440, 480, 440, 484, 436, 484, 436, 484, 436, 486, 460, 460, 462, 458, 462, 458, 462, 460, 462, 462, 1222, 464, 458, 462, 458, 462, 436, 484, 462, 458, 462, 460, 462, 458, 462, 460, 462, 458, 462, 458, 462, 464, 462, 460, 462, 460, 460, 458, 462, 464, 458, 462, 458, 464, 458, 462, 1202, 480, 462, 464, 1222, 458, 1228, 458, 1202, 480, 1226, 438, 1244, 462, 1228, 460, 462, 458, 1222, 464, 1222, 458, 1202, 484, 1224, 462, 1224, 462, 1222, 460, 1200, 486, 1222, 462, 1202, 486, 436, 484, 436, 486, 460, 458, 462, 458, 462, 458, 462, 464, 436, 480, 462, 460, 462, 458, 462, 464, 1224, 462, 1198, 486, 460, 460, 462, 460, 1200, 484, 1202, 484, 1200, 480, 1202, 484, 436, 484, 440, 480, 1228, 460, 1222, 464, 458, 462, 462, 458, 440, 480, 1228, 458, 462, 458, 462, 464, 1222, 464, 456, 464, 458, 458, 1228, 458, 1202, 484, 436, 484, 1222, 464, 1222, 462, 458, 464, 1200, 486, 1196, 490, 458, 462, 1218, 464, 462, 460, 460, 464, 456, 462, 458, 464, 456, 464, 1202, 480, 462, 464, 436, 480, 1228, 458, 1222, 464, 1200, 486, 1200, 482, 1226, 458, 462, 458, 1202, 484, 440, 486, 436, 484, 436, 484, 436, 486, 434, 486, 1200, 480, 1228, 464, 436, 486, 1196, 484, 1202, 480, 1228, 462, 1220, 462, 1202, 484, 436, 486, 436, 484, 1224, 462, 458, 464, 458, 462, 462, 458, 462, 460, 462, 458, 462, 458, 462, 462, 436, 484, 1202, 484, 1196, 486, 1224, 462, 1222, 464, 1198, 484, 1202, 486, 1222, 464, 1196, 490, 436, 484, 436, 484, 436, 484, 436, 484, 436, 486, 436, 484, 436, 484, 462, 458, 1224, 462, 1224, 462, 1202, 484, 1198, 484, 1222, 464, 1222, 464, 1200, 484, 1222, 460, 462, 458, 462, 460, 462, 458, 462, 464, 456, 464, 458, 462, 458, 468, 432, 488, 1198, 486, 1200, 458, 1250, 462, 1218, 442, 1222, 486, 1200, 482, 1226, 458, 1200, 490, 432, 488, 432, 490, 436, 484, 436, 484, 436, 484, 436, 486, 436, 484, 458, 464, 1222, 462, 1224, 464, 1196, 484, 1202, 484, 1222, 464, 1224, 462, 1198, 484, 1224, 462, 458, 464, 456, 464, 458, 464, 456, 464, 462, 458, 462, 460, 462, 462, 436, 486, 1196, 490, 1196, 484, 1224, 462, 1224, 462, 1198, 484, 1202, 484, 1224, 464, 1196, 488, 1196, 490, 432, 484, 1202, 484, 436, 484, 436, 484, 1222, 464, 458, 468, 430, 484, 462, 462, 1218, 468, 456, 464, 1196, 486, 1200, 486, 436, 484, 1222, 462, 1202, 484, 1198, 490, 430, 490, 436, 484, 436, 486, 1222, 462, 1220, 466, 1198, 484, 1224, 436, 484, 462, 1224, 462, 1198, 484, 1202, 484, 436, 486, 436, 462, 456, 490, 458, 458, 462, 464, 456, 464, 458, 464, 456, 462, 458, 462, 462, 458, 462, 464, 436, 484, 1196, 490, 1196, 486, 1224, 462, 1222, 462, 1198, 462, 1224, 484, 1222, 464, 1198, 488, 436, 484, 436, 484, 436, 486, 436, 464, 456, 488, 432, 490, 430, 486, 462, 436, 1250, 462, 1220, 462, 1202, 484, 1198, 484, 1222, 468, 1218, 462, 1202, 486, 1222, 458, 462, 460, 462, 436, 484, 464, 456, 464, 458, 462, 458, 462, 458, 468, 432, 490, 1196, 484, 1202, 484, 1222, 464, 1218, 468, 1198, 484, 1196, 464, 1244, 442, 1224, 484, 1198, 462, 1244, 464, 462, 458, 462, 438, 484, 462, 456, 464, 458, 440, 456, 464, 484, 462, 458, 464, 1196, 486, 1200, 486, 1222, 464, 1218, 468, 1196, 484, 1224, 462}; // HITACHI_AC296
10:55:35.839 -> uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x41, 0xBE, 0x60, 0x9F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x25, 0xDA, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

// FAN "ON"
10:53:49.249 -> Protocol : HITACHI_AC296
10:53:49.249 -> Code : 0x01100040BFFF00CC33926D13EC708F00FF00FF00FF00FF00FF21DEF10E00FF00FF00FF03FC (296 Bits)
10:53:49.295 -> Mesg Desc.: Power: On, Mode: 1 (UNKNOWN), Temp: 28C, Fan: 2 (Low)
10:53:49.295 -> uint16_t rawData[595] = {3414, 1620, 486, 1200, 486, 436, 484, 436, 486, 436, 484, 436, 484, 436, 486, 436, 484, 456, 464, 436, 484, 436, 490, 432, 488, 436, 486, 1222, 458, 462, 458, 462, 462, 436, 486, 434, 484, 436, 486, 436, 484, 436, 484, 436, 484, 436, 484, 436, 490, 458, 464, 456, 464, 458, 462, 458, 464, 458, 462, 458, 464, 458, 462, 1202, 484, 458, 464, 1222, 462, 1218, 468, 1198, 484, 1200, 486, 1220, 466, 1218, 464, 458, 462, 1224, 462, 1224, 462, 1198, 484, 1202, 484, 1222, 464, 1218, 468, 1196, 484, 1202, 484, 1202, 484, 458, 462, 458, 462, 458, 464, 456, 464, 458, 442, 478, 468, 458, 462, 432, 490, 436, 484, 436, 484, 1224, 462, 1220, 466, 458, 462, 458, 464, 1196, 490, 1218, 462, 1224, 462, 1198, 488, 436, 486, 436, 484, 1196, 486, 1222, 464, 458, 462, 458, 468, 432, 488, 1196, 486, 436, 484, 436, 484, 1222, 464, 456, 464, 456, 468, 1198, 488, 1198, 484, 436, 484, 1202, 484, 1218, 462, 462, 464, 1218, 468, 1196, 486, 458, 462, 1222, 464, 1224, 462, 458, 464, 456, 462, 1198, 490, 432, 488, 432, 484, 462, 462, 436, 484, 436, 486, 1224, 462, 1218, 464, 456, 468, 1198, 486, 1196, 490, 1196, 490, 456, 464, 458, 462, 458, 464, 458, 462, 1198, 488, 1196, 486, 1222, 468, 430, 488, 1198, 484, 1198, 484, 1222, 468, 1218, 464, 458, 462, 458, 468, 452, 464, 1222, 464, 436, 486, 436, 484, 436, 490, 430, 490, 432, 488, 432, 490, 436, 484, 456, 464, 1222, 464, 1196, 490, 1196, 486, 1222, 464, 1222, 464, 1196, 490, 1196, 488, 1198, 484, 458, 464, 456, 442, 478, 468, 452, 468, 458, 462, 458, 464, 456, 464, 436, 484, 1198, 462, 1246, 468, 1218, 462, 1198, 488, 1198, 484, 1224, 462, 1224, 462, 1218, 468, 432, 490, 432, 488, 432, 490, 434, 486, 436, 484, 436, 484, 436, 490, 452, 468, 1218, 468, 1196, 486, 1196, 490, 1218, 468, 1218, 468, 1196, 484, 1196, 490, 1196, 490, 456, 464, 456, 464, 458, 464, 456, 464, 458, 466, 454, 468, 452, 468, 432, 488, 1198, 484, 1222, 464, 1222, 464, 1196, 488, 1198, 484, 1224, 462, 1220, 442, 1244, 462, 436, 490, 432, 490, 430, 488, 432, 490, 430, 488, 436, 484, 436, 464, 478, 468, 1218, 468, 1196, 484, 1196, 490, 1218, 468, 1218, 464, 1196, 488, 1196, 490, 1196, 486, 1222, 462, 458, 462, 458, 436, 484, 468, 452, 468, 1198, 458, 462, 486, 456, 468, 430, 490, 1196, 486, 1222, 464, 1218, 468, 1196, 464, 456, 490, 1196, 490, 1196, 484, 1198, 488, 432, 490, 436, 484, 436, 484, 1196, 464, 1244, 468, 1218, 464, 1222, 462, 436, 484, 1222, 438, 1248, 464, 1196, 490, 430, 490, 436, 484, 436, 486, 456, 464, 436, 458, 462, 464, 456, 464, 456, 462, 458, 490, 436, 484, 436, 458, 484, 438, 1248, 436, 1224, 488, 1196, 458, 1250, 442, 1244, 438, 1224, 462, 1222, 464, 1222, 458, 484, 442, 478, 442, 478, 442, 484, 462, 458, 464, 456, 464, 458, 462, 436, 460, 1222, 464, 1244, 442, 1244, 442, 1222, 484, 1198, 464, 1244, 442, 1244, 464, 1222, 464, 430, 490, 436, 458, 462, 458, 462, 464, 458, 462, 458, 462, 458, 490, 456, 438, 1248, 464, 1198, 462, 1222, 484, 1222, 438, 1248, 438, 1222, 464, 1222, 458, 1228, 458, 1222, 464, 1222, 458, 462, 464, 458, 464, 456, 464, 458, 462, 458, 464, 484, 436, 484, 438, 484, 436, 1248, 438, 1222, 462, 1224, 458, 1248, 438, 1248, 438, 1222, 462}; // HITACHI_AC296
10:53:49.614 -> uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x13, 0xEC, 0x70, 0x8F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x21, 0xDE, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

// FAN "OFF"
10:54:26.002 -> Protocol : HITACHI_AC296
10:54:26.002 -> Code : 0x01100040BFFF00CC33926D13EC708F00FF00FF00FF00FF00FF21DEE11E00FF00FF00FF03FC (296 Bits)
10:54:26.048 -> Mesg Desc.: Power: Off, Mode: 1 (UNKNOWN), Temp: 28C, Fan: 2 (Low)
10:54:26.048 -> uint16_t rawData[595] = {3436, 1646, 462, 1196, 486, 436, 488, 436, 486, 436, 484, 436, 484, 436, 484, 436, 486, 462, 458, 462, 458, 462, 460, 462, 458, 462, 464, 1222, 438, 484, 462, 456, 464, 436, 484, 458, 464, 456, 464, 456, 464, 462, 458, 462, 458, 462, 460, 462, 464, 436, 484, 436, 484, 436, 486, 436, 484, 436, 484, 436, 462, 458, 484, 1202, 486, 456, 464, 1222, 464, 1202, 480, 1202, 484, 1222, 464, 1222, 464, 1196, 490, 432, 488, 1218, 464, 1202, 486, 1198, 484, 1224, 462, 1224, 462, 1202, 484, 1196, 486, 1222, 464, 1200, 486, 436, 484, 436, 484, 436, 484, 436, 464, 456, 488, 436, 484, 436, 480, 462, 462, 458, 462, 458, 464, 1222, 464, 1196, 490, 436, 484, 436, 484, 1198, 464, 1222, 484, 1202, 484, 1198, 484, 436, 484, 436, 484, 1226, 458, 1224, 462, 458, 464, 458, 462, 436, 486, 1222, 464, 456, 464, 458, 462, 1222, 464, 456, 464, 458, 462, 1224, 464, 1196, 464, 458, 484, 1222, 464, 1222, 464, 458, 462, 1202, 484, 1198, 490, 458, 462, 1218, 438, 1228, 484, 436, 486, 436, 484, 1202, 484, 436, 484, 436, 484, 456, 464, 458, 462, 462, 438, 1244, 436, 1228, 484, 436, 484, 1202, 460, 1248, 436, 1224, 464, 456, 488, 432, 490, 436, 484, 436, 484, 1196, 486, 1228, 432, 1248, 464, 436, 484, 1202, 458, 1250, 436, 1244, 438, 1226, 484, 436, 486, 436, 484, 436, 484, 1224, 438, 482, 464, 458, 464, 458, 462, 458, 464, 458, 462, 462, 458, 462, 464, 432, 490, 1198, 484, 1200, 484, 1224, 464, 1218, 442, 1224, 484, 1200, 454, 1252, 438, 1222, 458, 462, 488, 432, 490, 430, 490, 436, 486, 434, 484, 436, 486, 434, 484, 458, 464, 1222, 464, 1224, 462, 1198, 484, 1202, 458, 1250, 462, 1218, 438, 1228, 486, 1222, 458, 462, 434, 488, 432, 488, 438, 484, 462, 458, 462, 458, 464, 460, 464, 432, 490, 1198, 484, 1202, 484, 1224, 462, 1218, 442, 1224, 484, 1198, 458, 1254, 434, 1226, 484, 436, 458, 462, 458, 462, 462, 456, 490, 432, 488, 436, 484, 436, 460, 482, 462, 1224, 464, 1222, 436, 1224, 484, 1202, 458, 1248, 464, 1218, 436, 1228, 486, 1222, 434, 488, 464, 456, 464, 456, 464, 458, 462, 462, 458, 462, 432, 488, 464, 436, 484, 1196, 460, 1226, 486, 1222, 464, 1222, 464, 1196, 484, 1202, 458, 1248, 434, 1228, 458, 1228, 458, 462, 460, 460, 460, 462, 458, 462, 458, 1226, 486, 436, 458, 484, 436, 462, 486, 1222, 438, 1248, 438, 1222, 458, 1228, 484, 436, 486, 1222, 438, 1222, 460, 1228, 458, 462, 458, 462, 458, 462, 458, 462, 458, 1250, 438, 1248, 438, 1248, 434, 462, 458, 1250, 436, 1248, 438, 1224, 464, 1222, 460, 460, 460, 462, 462, 484, 434, 488, 432, 488, 432, 488, 436, 484, 438, 482, 436, 484, 438, 482, 436, 462, 434, 1254, 458, 1224, 458, 1254, 432, 1250, 436, 1228, 458, 1222, 460, 1248, 436, 1228, 458, 462, 460, 462, 458, 462, 432, 488, 464, 456, 464, 462, 460, 460, 460, 484, 436, 1248, 438, 1248, 438, 1222, 460, 1226, 430, 1278, 408, 1274, 438, 1226, 460, 1248, 432, 488, 408, 514, 406, 514, 438, 482, 438, 488, 432, 488, 432, 488, 436, 458, 464, 1224, 458, 1228, 428, 1278, 438, 1248, 408, 1252, 458, 1228, 428, 1280, 434, 1226, 460, 1226, 428, 1280, 432, 488, 432, 488, 406, 514, 406, 514, 438, 484, 410, 488, 432, 514, 410, 510, 438, 1222, 458, 1228, 428, 1280, 406, 1276, 410, 1254, 428, 1280, 438}; // HITACHI_AC296
10:54:26.370 -> uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x13, 0xEC, 0x70, 0x8F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x21, 0xDE, 0xE1, 0x1E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

@Onepamopa
Copy link

Onepamopa commented Dec 8, 2022

Setting kTimeout to ~15 or less does reduce the amount of unknown messages to short messages (6-8-9 bits):
13:37:42.256 -> Protocol : HITACHI_AC296
13:37:42.256 -> Code : 0x01100040BFFF00CC33926D13EC5CA300FF00FF00FF00FF00FF46B9E11E00FF00FF00FF03FC (296 Bits)
13:37:42.256 -> Mesg Desc.: Power: Off, Mode: 6 (Heat), Temp: 23C, Fan: 4 (High)
13:37:42.302 -> uint16_t rawData[595] = {3436, 1646, 458, 1202, 484, 436, 486, 436, 484, 436, 484, 436, 486, 436, 484, 440, 484, 458, 458, 462, 458, 462, 462, 458, 464, 456, 464, 1222, 464, 456, 464, 456, 464, 436, 484, 462, 458, 462, 460, 460, 460, 460, 464, 458, 462, 458, 464, 456, 464, 436, 484, 440, 486, 436, 484, 436, 484, 436, 484, 436, 484, 436, 484, 1202, 484, 458, 462, 1222, 464, 1200, 480, 1202, 484, 1222, 464, 1222, 464, 1202, 484, 436, 484, 1218, 464, 1200, 484, 1200, 480, 1228, 462, 1218, 464, 1200, 486, 1196, 484, 1224, 462, 1202, 484, 436, 484, 436, 484, 436, 490, 432, 488, 436, 484, 436, 486, 436, 458, 484, 462, 458, 464, 456, 464, 1222, 464, 1196, 490, 436, 484, 436, 484, 1198, 488, 1196, 486, 1200, 484, 1198, 484, 436, 488, 436, 480, 1228, 462, 1218, 464, 456, 464, 462, 458, 436, 486, 1222, 462, 462, 458, 462, 464, 1218, 464, 462, 464, 456, 458, 1222, 464, 1200, 486, 434, 486, 1222, 462, 1224, 462, 458, 464, 1196, 484, 1200, 484, 458, 462, 1224, 462, 1200, 484, 436, 484, 436, 486, 1200, 484, 436, 484, 436, 484, 458, 462, 458, 464, 462, 464, 1218, 464, 1202, 484, 436, 484, 1198, 484, 1222, 464, 1202, 484, 436, 484, 436, 486, 1196, 484, 1224, 462, 1222, 464, 458, 462, 1202, 484, 458, 462, 1224, 462, 1218, 464, 458, 442, 482, 464, 458, 462, 1196, 490, 432, 488, 1218, 464, 458, 462, 458, 464, 456, 464, 462, 460, 460, 460, 460, 460, 462, 462, 436, 486, 1200, 484, 1196, 484, 1222, 464, 1222, 462, 1202, 484, 1196, 484, 1222, 464, 1200, 484, 436, 486, 436, 462, 458, 488, 432, 490, 430, 490, 436, 484, 436, 484, 456, 464, 1222, 464, 1222, 462, 1198, 484, 1202, 484, 1224, 462, 1218, 468, 1198, 484, 1222, 460, 462, 438, 482, 464, 458, 462, 458, 462, 458, 464, 458, 462, 458, 442, 458, 488, 1196, 486, 1200, 486, 1218, 468, 1218, 464, 1202, 486, 1196, 486, 1222, 462, 1202, 484, 436, 484, 436, 484, 436, 462, 458, 490, 430, 490, 432, 488, 432, 484, 462, 464, 1222, 462, 1218, 442, 1222, 486, 1196, 484, 1224, 462, 1224, 464, 1196, 490, 1218, 462, 458, 464, 458, 462, 458, 462, 462, 458, 462, 458, 462, 438, 482, 464, 436, 484, 1198, 488, 1198, 484, 1222, 464, 1222, 462, 1198, 458, 1226, 486, 1222, 462, 1196, 488, 458, 464, 1196, 488, 1196, 486, 436, 462, 458, 464, 458, 484, 1222, 442, 458, 488, 1218, 462, 458, 442, 478, 468, 1196, 484, 1196, 490, 1222, 458, 462, 464, 1196, 464, 1222, 484, 436, 484, 436, 460, 462, 488, 432, 462, 1244, 442, 1244, 462, 1222, 464, 436, 484, 1222, 464, 1218, 442, 1224, 484, 1196, 490, 432, 488, 432, 490, 456, 464, 458, 462, 458, 462, 458, 464, 456, 464, 456, 464, 462, 436, 484, 464, 436, 484, 1198, 488, 1198, 484, 1222, 464, 1218, 442, 1222, 486, 1196, 464, 1244, 442, 1224, 458, 462, 464, 456, 464, 458, 488, 432, 488, 432, 490, 432, 488, 436, 460, 482, 464, 1218, 468, 1218, 442, 1222, 486, 1196, 484, 1224, 462, 1224, 462, 1196, 490, 1218, 464, 458, 462, 462, 438, 482, 438, 484, 436, 484, 464, 456, 464, 458, 436, 462, 464, 1222, 484, 1198, 462, 1244, 442, 1244, 436, 1224, 488, 1198, 484, 1222, 464, 1196, 488, 1198, 458, 1248, 462, 458, 462, 458, 438, 488, 436, 484, 436, 484, 438, 462, 458, 484, 436, 484, 442, 1222, 484, 1198, 462, 1244, 442, 1244, 438, 1222, 464, 1244, 442}; // HITACHI_AC296
13:37:42.578 -> uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x13, 0xEC, 0x5C, 0xA3, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x46, 0xB9, 0xE1, 0x1E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};
13:37:42.623 ->
13:37:42.623 ->
13:37:43.541 -> Timestamp : 000033.236
13:37:43.541 -> Library : v2.8.4
13:37:43.541 ->
13:37:43.541 -> Protocol : HITACHI_AC296
13:37:43.588 -> Code : 0x01100040BFFF00CC33926D13EC5CA300FF00FF00FF00FF00FF46B9F10E00FF00FF00FF03FC (296 Bits)
13:37:43.588 -> Mesg Desc.: Power: On, Mode: 6 (Heat), Temp: 23C, Fan: 4 (High)
13:37:43.588 -> uint16_t rawData[601] = {3438, 1642, 462, 1224, 458, 462, 464, 456, 464, 458, 462, 458, 464, 456, 464, 462, 464, 430, 490, 458, 464, 456, 464, 458, 462, 458, 464, 1196, 490, 432, 488, 436, 480, 460, 464, 458, 462, 458, 462, 458, 464, 458, 462, 458, 462, 462, 460, 462, 458, 436, 488, 436, 484, 436, 484, 436, 486, 436, 484, 436, 484, 436, 484, 1224, 462, 436, 486, 1200, 484, 1196, 486, 1222, 462, 1224, 462, 1198, 484, 1200, 486, 436, 484, 1202, 484, 1196, 486, 1222, 462, 1222, 464, 1200, 484, 1198, 484, 1222, 464, 1222, 464, 1222, 464, 436, 486, 434, 484, 436, 484, 436, 486, 436, 484, 436, 484, 436, 490, 456, 464, 456, 464, 456, 464, 1200, 486, 1196, 484, 436, 490, 432, 484, 1224, 462, 1202, 484, 1198, 484, 1224, 462, 458, 464, 456, 442, 1244, 464, 1202, 484, 436, 484, 436, 484, 458, 464, 1222, 462, 458, 464, 456, 464, 1198, 488, 436, 484, 436, 484, 1222, 460, 1222, 464, 458, 462, 1222, 464, 1202, 484, 436, 484, 1196, 486, 1222, 464, 436, 484, 1200, 486, 1196, 490, 430, 490, 436, 484, 1224, 458, 462, 458, 462, 462, 436, 486, 458, 462, 458, 464, 1196, 464, 1222, 486, 436, 484, 1222, 464, 1222, 458, 1224, 462, 436, 484, 436, 484, 1222, 464, 1222, 462, 1198, 488, 432, 490, 1196, 484, 458, 442, 1244, 462, 1202, 484, 436, 484, 436, 486, 436, 484, 1200, 484, 436, 486, 1196, 490, 456, 464, 458, 462, 458, 462, 458, 464, 458, 436, 482, 468, 458, 464, 430, 490, 1196, 484, 1222, 462, 1222, 464, 1198, 488, 1196, 486, 1222, 462, 1222, 438, 1244, 442, 456, 490, 432, 488, 432, 490, 436, 484, 436, 484, 436, 486, 436, 484, 458, 462, 1224, 462, 1198, 488, 1196, 486, 1222, 464, 1222, 462, 1198, 484, 1202, 484, 1198, 490, 456, 464, 458, 462, 458, 464, 456, 464, 456, 464, 458, 462, 458, 462, 436, 464, 1222, 484, 1222, 464, 1222, 464, 1196, 484, 1202, 484, 1222, 464, 1218, 462, 1222, 464, 436, 484, 436, 464, 456, 490, 430, 490, 432, 488, 436, 486, 436, 484, 456, 464, 1222, 462, 1196, 490, 1196, 484, 1222, 464, 1222, 464, 1196, 490, 1196, 464, 1222, 484, 458, 464, 456, 462, 458, 442, 478, 442, 480, 468, 456, 464, 458, 462, 432, 490, 1196, 486, 1222, 464, 1222, 464, 1196, 464, 1222, 484, 1222, 464, 1222, 438, 1244, 442, 458, 458, 1228, 484, 1224, 436, 482, 438, 484, 462, 458, 462, 1222, 464, 436, 458, 1222, 490, 436, 484, 436, 486, 1196, 464, 1244, 442, 1244, 462, 458, 462, 1222, 464, 1222, 438, 482, 434, 488, 462, 458, 464, 1222, 462, 1196, 464, 1222, 464, 1222, 486, 456, 438, 1222, 490, 1196, 484, 1224, 462, 458, 464, 456, 464, 458, 442, 458, 462, 484, 438, 482, 464, 458, 462, 458, 464, 458, 462, 458, 464, 458, 462, 436, 484, 1202, 484, 1222, 462, 1218, 438, 1228, 484, 1196, 458, 1250, 442, 1244, 464, 1224, 462, 432, 490, 436, 484, 436, 484, 436, 458, 462, 460, 460, 464, 458, 462, 484, 462, 1220, 436, 1228, 484, 1198, 464, 1244, 438, 1250, 436, 1224, 464, 1222, 458, 1222, 464, 484, 436, 484, 438, 482, 438, 484, 436, 484, 438, 484, 436, 484, 442, 458, 462, 1222, 460, 1248, 438, 1248, 438, 1222, 460, 1222, 460, 1252, 406, 1276, 462, 1224, 432, 1248, 412, 1274, 438, 482, 438, 484, 436, 484, 412, 514, 436, 484, 436, 458, 464, 462, 458, 462, 458, 1222, 432, 1274, 442, 1244, 412, 1252, 458, 1224, 462, 1244, 436, 12134, 268, 9462, 354, 466, 330}; // HITACHI_AC296
13:37:43.910 -> uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x13, 0xEC, 0x5C, 0xA3, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x46, 0xB9, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};
13:37:43.910 ->
13:37:43.910 ->
13:37:44.737 -> Timestamp : 000034.423
13:37:44.737 -> Library : v2.8.4
13:37:44.737 ->
13:37:44.737 -> Protocol : HITACHI_AC296
13:37:44.737 -> Code : 0x01100040BFFF00CC33926D13EC5CA300FF00FF00FF00FF00FF46B9E11E00FF00FF00FF03FC (296 Bits)
13:37:44.783 -> Mesg Desc.: Power: Off, Mode: 6 (Heat), Temp: 23C, Fan: 4 (High)
13:37:44.783 -> uint16_t rawData[595] = {3418, 1620, 486, 1222, 458, 462, 458, 462, 464, 456, 464, 458, 462, 458, 464, 456, 464, 436, 484, 436, 484, 436, 490, 436, 484, 436, 486, 1196, 484, 436, 486, 436, 488, 458, 464, 436, 484, 436, 484, 436, 484, 436, 484, 436, 484, 436, 484, 436, 486, 462, 458, 462, 458, 462, 460, 462, 458, 462, 438, 482, 464, 458, 462, 1224, 462, 436, 486, 1196, 484, 1224, 462, 1222, 462, 1202, 484, 1196, 484, 1222, 464, 462, 458, 1202, 484, 1222, 464, 1222, 464, 1196, 484, 1200, 484, 1222, 464, 1222, 462, 1196, 484, 1222, 464, 458, 462, 458, 462, 462, 458, 462, 458, 462, 438, 482, 464, 456, 464, 436, 484, 436, 488, 432, 484, 1202, 484, 1222, 462, 458, 464, 456, 464, 1222, 462, 1222, 464, 1222, 464, 1222, 464, 456, 464, 456, 464, 1196, 484, 1202, 484, 436, 484, 436, 464, 484, 462, 1196, 484, 436, 490, 430, 486, 1200, 484, 436, 484, 436, 490, 1196, 484, 1224, 462, 458, 464, 1200, 486, 1196, 484, 436, 484, 1222, 464, 1222, 462, 436, 484, 1202, 484, 1224, 458, 462, 458, 462, 464, 1222, 464, 456, 464, 458, 462, 436, 484, 436, 484, 436, 484, 1200, 484, 1224, 438, 482, 462, 1224, 462, 1196, 486, 1222, 464, 456, 464, 456, 464, 1222, 462, 1202, 484, 1196, 464, 456, 484, 1222, 468, 432, 488, 1196, 486, 1200, 484, 436, 484, 436, 484, 436, 486, 1222, 462, 458, 462, 1202, 484, 436, 462, 458, 488, 432, 490, 436, 484, 436, 484, 436, 484, 436, 484, 458, 464, 1222, 464, 1222, 464, 1196, 484, 1202, 484, 1222, 464, 1218, 466, 1198, 484, 1222, 464, 456, 464, 456, 464, 456, 464, 456, 464, 462, 458, 462, 458, 462, 464, 436, 484, 1200, 484, 1198, 484, 1222, 464, 1222, 464, 1196, 488, 1196, 486, 1222, 462, 1200, 486, 436, 484, 436, 460, 462, 464, 456, 490, 430, 490, 430, 490, 436, 454, 488, 462, 1222, 464, 1218, 468, 1196, 484, 1202, 484, 1222, 464, 1218, 466, 1198, 484, 1222, 462, 458, 462, 458, 464, 456, 464, 456, 464, 462, 458, 462, 460, 462, 462, 436, 484, 1196, 488, 1196, 484, 1222, 464, 1222, 464, 1196, 488, 1198, 484, 1222, 464, 1196, 488, 436, 486, 436, 484, 436, 484, 436, 464, 456, 464, 458, 488, 432, 458, 488, 432, 1248, 468, 1218, 440, 1224, 484, 1196, 486, 1222, 442, 1244, 464, 1196, 490, 1218, 464, 436, 484, 1224, 462, 1224, 462, 458, 464, 456, 464, 458, 464, 1196, 462, 484, 462, 1196, 490, 432, 488, 432, 488, 1222, 464, 1218, 442, 1222, 458, 462, 458, 1248, 464, 1222, 462, 458, 464, 456, 464, 458, 462, 458, 436, 1228, 484, 1196, 490, 1196, 460, 482, 442, 1222, 486, 1196, 464, 1244, 442, 1244, 436, 484, 442, 478, 442, 458, 488, 432, 488, 436, 486, 436, 484, 436, 458, 462, 464, 456, 464, 458, 484, 462, 432, 1248, 442, 1244, 438, 1222, 490, 1196, 484, 1222, 442, 1244, 464, 1196, 490, 1218, 462, 458, 464, 456, 464, 462, 432, 488, 438, 484, 436, 484, 464, 456, 438, 462, 460, 1222, 488, 1196, 486, 1222, 464, 1222, 464, 1196, 460, 1226, 486, 1222, 464, 1196, 464, 456, 464, 456, 490, 432, 488, 436, 484, 436, 460, 462, 458, 462, 484, 458, 462, 1222, 438, 1248, 464, 1196, 462, 1224, 484, 1222, 464, 1218, 442, 1222, 462, 1244, 438, 1248, 436, 1224, 432, 488, 462, 458, 490, 432, 462, 462, 458, 462, 484, 458, 438, 462, 458, 462, 458, 1250, 436, 1248, 438, 1222, 460, 1228, 484, 1222, 464, 1196, 458}; // HITACHI_AC296
13:37:45.057 -> uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x13, 0xEC, 0x5C, 0xA3, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x46, 0xB9, 0xE1, 0x1E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};
13:37:45.102 ->
13:37:45.102 ->
13:37:45.102 -> Timestamp : 000034.765
13:37:45.102 -> Library : v2.8.4
13:37:45.102 ->
13:37:45.102 -> Protocol : UNKNOWN
13:37:45.102 -> Code : 0x7F3F35A9 (6 Bits)
13:37:45.102 -> No description
13:37:45.102 -> uint16_t rawData[11] = {628, 864, 328, 21846, 272, 2926, 194, 328, 356, 6724, 324}; // UNKNOWN 7F3F35A9
13:37:45.102 ->
13:37:45.102 ->

How to get rid of those? Does kHitachiAcMinGap has anything to do with it?

@crankyoldgit
Copy link
Owner

Also, looks like 2 of the modes aren't recognized (took me a looooot of tries to be able to extract a "working" match:

Here are the mode we have had reported to us:

// Mode & Fan
const uint8_t kHitachiAc296Cool = 0b0011;
const uint8_t kHitachiAc296DryCool = 0b0100;
const uint8_t kHitachiAc296Dehumidify = 0b0101;
const uint8_t kHitachiAc296Heat = 0b0110;
const uint8_t kHitachiAc296Auto = 0b0111;
const uint8_t kHitachiAc296AutoDehumidifying = 0b1001;
const uint8_t kHitachiAc296QuickLaundry = 0b1010;
const uint8_t kHitachiAc296CondensationControl = 0b1100;

Unfortunately the make/model you are dealing with here has more mode options than our library can easily report.

@Onepamopa
Copy link

Min temp: 16, Max: 32
IMG_5530
IMG_5533
IMG_5532

@Onepamopa
Copy link

For the modes -- const uint8_t kHitachiAc296Cool = 0b0011; -- how is "0b0011" derived? I.e. How can I get it from my remote to add to supported.

@crankyoldgit
Copy link
Owner

How to get rid of those?

You can disable "UNKNOWN"s using:

// Semi-unique code for unknown messages
#ifndef DECODE_HASH
#define DECODE_HASH _IR_ENABLE_DEFAULT_
#endif // DECODE_HASH

i.e. Set DECODE_HASH to false
or
use setUnknownThreshold()

@crankyoldgit
Copy link
Owner

Also, a good "issue" ettiquite is to NOT add information about a new problem to an existing "closed"/resolved issue.
You're dealing with a different remote and A/C, it's not "the same thing", nor is your issue related to adding support for a complete new protocol.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants