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) #1758

Merged
merged 15 commits into from
Mar 13, 2022
Merged

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

merged 15 commits into from
Mar 13, 2022

Conversation

jeef3
Copy link
Contributor

@jeef3 jeef3 commented Feb 12, 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.

@jeef3
Copy link
Contributor Author

jeef3 commented Feb 13, 2022

This protocol seems to have quite a few parity bytes, which I'm not seeing (or can't see) on the other Hitachi protocols. So I've given it my best shot at how it looks like those are all meant to be handled with regards to the HitachiAC296Protocol:

union HitachiAC296Protocol{
  uint8_t raw[kHitachiAc296StateLength];
  struct {
    // Byte 0~12
    uint8_t pad0[13];
    // Byte 13
    uint8_t                    :2;
    uint8_t Temp               :5; // stored in LSB order.
    uint8_t                    :1;
    uint8_t                    :8;
    // Byte 15~16
    uint8_t                    :8;
    uint8_t                    :8;
    // Byte 17~24
    uint8_t OffTimerLow        :8; //  LSB
    uint8_t /* Parity */       :8;
    uint8_t OffTimerHigh       :8;
    uint8_t /* Parity */       :8;
...
  };
};

I'm not sure if I'm handling this correctly in the getter/setter methods either, e.g.: setTemp.

@jeef3
Copy link
Contributor Author

jeef3 commented Feb 20, 2022

I think I now have on/off, temperature, mode and fan speed all working.

However, getTemp is not working correctly, and I'm not sure why.

@crankyoldgit
Copy link
Owner

I think I now have on/off, temperature, mode and fan speed all working.

However, getTemp is not working correctly, and I'm not sure why.

Can you elaborate on what you mean by "is not working correctly"? With more info we may be able to help you work out whats wrong.

@jeef3
Copy link
Contributor Author

jeef3 commented Feb 20, 2022

Can you elaborate on what you mean by "is not working correctly"? With more info we may be able to help you work out whats wrong.

Apologies for the vagueness, it was meant as note on my progress. However, some help would be great! Here's the problem:

Temp is stored in 5bits, so I've defined it as such,

uint8_t                    :2;
uint8_t Temp               :5;  // LSB
uint8_t                    :1;

But I'm having trouble correctly assigning the temperature to those 5 bits. I know I need to reverseBits, bit I can't get the bit shift right. I thought I had it, but it's still not right. 24c should equal 0x60. Here's my setTemp thus far:

void IRHitachiAc296::setTemp(const uint8_t celsius) {
   uint8_t temp;
   temp = std::min(celsius, kHitachiAc296MaxTemp);
   temp = std::max(temp, kHitachiAc296MinTemp);
   temp = reverseBits(temp << 2, kHitachiAc296TempSize); //  kHitachiAc296TempSize = 5
   _.Temp = temp;
 }

@crankyoldgit
Copy link
Owner

Can you elaborate on what you mean by "is not working correctly"? With more info we may be able to help you work out whats wrong.

Apologies for the vagueness, it was meant as note on my progress. However, some help would be great! Here's the problem:

Temp is stored in 5bits, so I've defined it as such,

uint8_t                    :2;
uint8_t Temp               :5;  // LSB
uint8_t                    :1;

But I'm having trouble correctly assigning the temperature to those 5 bits. I know I need to reverseBits, bit I can't get the bit shift right. I thought I had it, but it's still not right. 24c should equal 0x60. Here's my setTemp thus far:

void IRHitachiAc296::setTemp(const uint8_t celsius) {
   uint8_t temp;
   temp = std::min(celsius, kHitachiAc296MaxTemp);
   temp = std::max(temp, kHitachiAc296MinTemp);
   temp = reverseBits(temp << 2, kHitachiAc296TempSize); //  kHitachiAc296TempSize = 5
   _.Temp = temp;
 }

You shouldn't need to shift the bits. That's one of the points of using the following notation:

uint8_t                    :2;
uint8_t Temp               :5;  // LSB
uint8_t                    :1;

@jeef3
Copy link
Contributor Author

jeef3 commented Feb 20, 2022

You shouldn't need to shift the bits. That's one of the points of using the following notation:

uint8_t                    :2;
uint8_t Temp               :5;  // LSB
uint8_t                    :1;

I thought that might be the case. When I try without the bit shift:

void IRHitachiAc296::setTemp(const uint8_t celsius) {
  uint8_t temp;
  temp = std::min(celsius, kHitachiAc296MaxTemp);
  temp = std::max(temp, kHitachiAc296MinTemp);
  temp = reverseBits(temp, kHitachiAc296TempSize);
  _.Temp = temp;
}

I get:

Input Temp _.Temp = Expected
20 0x0C 0x50
24 0x14 0x60

Which shows it needs to shift two bits. Hence my confusion 😵.

Apologies, I understand bits and shifting, but I'm very new to c++`

@crankyoldgit

This comment was marked as resolved.

@jeef3

This comment was marked as resolved.

@jeef3 jeef3 marked this pull request as ready for review February 21, 2022 00:11
@jeef3
Copy link
Contributor Author

jeef3 commented Feb 21, 2022

Just had to make sure it was sending LSB first and now it appears to work! I have control of my heatpump!

I'm sure there's a bunch to add/fix before this can be merged, but I guess it's as good as ready for review 🙏

Copy link
Owner

@crankyoldgit crankyoldgit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First pass at code review comments.

src/ir_Hitachi.cpp Outdated Show resolved Hide resolved
src/ir_Hitachi.cpp Outdated Show resolved Hide resolved
src/ir_Hitachi.cpp Outdated Show resolved Hide resolved
src/ir_Hitachi.cpp Show resolved Hide resolved
@jeef3
Copy link
Contributor Author

jeef3 commented Feb 21, 2022

Thanks for the feedback, really appreciate your time 🙏

The unit tests is possibly the last thing I haven't touched yet?

@jeef3 jeef3 requested a review from crankyoldgit February 25, 2022 06:18
Copy link
Owner

@crankyoldgit crankyoldgit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few minor changes required.
There is also stuff for the IRac class that needs to be done, but I can add that after we merge this.
Ditto for unit tests. What I'd like from you before we merge this is full text of raw capture inc. the description of the message. e.g. "Power: On, ..." etc.
I can then construct the Unit tests for this protocol.

src/IRremoteESP8266.h Show resolved Hide resolved
src/ir_Hitachi.cpp Outdated Show resolved Hide resolved
src/ir_Hitachi.cpp Outdated Show resolved Hide resolved
@jeef3
Copy link
Contributor Author

jeef3 commented Feb 26, 2022

Thanks again for the review and help 🙏 I will get on to those change requests.

What I'd like from you before we merge this is full text of raw capture inc. the description of the message. e.g. "Power: On, ..." etc.

Reading through the Adding Support for a new A/C protocol doc, there's a few suggestions. Would you like me to map it out in a spreadsheet (like the examples), or do you just need some lines of hex?

@crankyoldgit
Copy link
Owner

Thanks again for the review and help 🙏 I will get on to those change requests.

What I'd like from you before we merge this is full text of raw capture inc. the description of the message. e.g. "Power: On, ..." etc.

Reading through the Adding Support for a new A/C protocol doc, there's a few suggestions. Would you like me to map it out in a spreadsheet (like the examples), or do you just need some lines of hex?

What I'm after is a complete cut & paste of the entire output of IRrevDumpV2 or 3 for a successful capture of the message, and include a description of what the message should be with respect to the settings on the remote.
That way I can build a test based on the raw data to ensure that a) the code works & b) any subsequent changes made to the library doesn't break this protocol.

@crankyoldgit
Copy link
Owner

Thanks again for the review and help 🙏 I will get on to those change requests.

Chasing up on those changes. I'd like to get this merged so I can include it in the next release.

@jeef3
Copy link
Contributor Author

jeef3 commented Mar 8, 2022

Chasing up on those changes. I'd like to get this merged so I can include it in the next release.

My apologies, this one got away from me. I've been a little busy lately. I'll get on to this as soon as I can 👍

@jeef3
Copy link
Contributor Author

jeef3 commented Mar 8, 2022

@crankyoldgit I've addressed the review comments, but have not yet recorded additional commands. I will get onto that as soon as I can.

@jeef3 jeef3 requested a review from crankyoldgit March 13, 2022 02:54
@jeef3
Copy link
Contributor Author

jeef3 commented Mar 13, 2022

I've finally got a chance to sit down and record these but have found my last 8266 has died 😰

@crankyoldgit
Copy link
Owner

I've finally got a chance to sit down and record these but have found my last 8266 has died 😰

Bugger. Got an ESP32 or an Arduino handy?

@jeef3
Copy link
Contributor Author

jeef3 commented Mar 13, 2022

Bugger. Got an ESP32 or an Arduino handy?

I've got an Uno, but that's all. Having a look to see if there's anyway to restore this one. I don't think this library will work with the Uno?

@jeef3
Copy link
Contributor Author

jeef3 commented Mar 13, 2022

I found another ESP8266! Recording now 👍

@crankyoldgit
Copy link
Owner

I don't think this library will work with the Uno?

No, it won't. But it can collect raw data via another library.

@jeef3
Copy link
Contributor Author

jeef3 commented Mar 13, 2022

Okay, here's an assortment of raw output:

Power: ON, Temp: 24, Fan: Auto, Mode: Heat
Protocol  : HITACHI_AC296
Code      : 0x01100040BFFF00CC33926D43BC609F00FF00FF00FF00FF00FF56A9F10E00FF00FF00FF03FC (296 Bits)
uint16_t rawData[595] = {3280, 1714,  360, 1280,  356, 516,  358, 518,  358, 518,  358, 516,  360, 514,  358, 516,  358, 522,  358, 516,  360, 516,  356, 516,  360, 514,  360, 1280,  360, 514,  360, 514,  360, 520,  358, 518,  358, 518,  358, 518,  354, 518,  358, 516,  358, 516,  358, 516,  358, 520,  358, 516,  360, 516,  358, 516,  360, 516,  358, 514,  360, 518,  358, 1278,  360, 518,  360, 1280,  358, 1278,  360, 1280,  358, 1278,  360, 1278,  360, 1276,  364, 512,  362, 1280,  360, 1280,  360, 1276,  362, 1278,  360, 1278,  360, 1280,  358, 1280,  356, 1280,  358, 1282,  358, 518,  360, 514,  360, 516,  360, 514,  358, 516,  360, 514,  360, 514,  362, 520,  356, 518,  358, 516,  358, 1280,  358, 1278,  360, 516,  358, 518,  356, 1278,  362, 1284,  358, 1278,  362, 1276,  360, 518,  356, 518,  358, 1280,  358, 1280,  358, 516,  358, 520,  360, 516,  358, 1280,  358, 516,  360, 516,  358, 1280,  358, 516,  360, 518,  356, 1282,  360, 1278,  362, 516,  358, 1280,  358, 1278,  362, 516,  356, 1278,  362, 1280,  356, 522,  356, 1280,  360, 1278,  358, 514,  360, 516,  360, 514,  358, 518,  356, 1280,  358, 520,  356, 516,  360, 514,  360, 1280,  360, 1278,  358, 1278,  362, 1278,  360, 516,  360, 1282,  360, 514,  358, 516,  360, 516,  358, 516,  360, 518,  358, 1278,  360, 1276,  362, 520,  360, 1276,  362, 1278,  360, 1280,  358, 1278,  360, 1278,  362, 518,  358, 516,  360, 1282,  358, 516,  358, 516,  362, 512,  362, 514,  360, 516,  358, 516,  360, 514,  360, 520,  360, 1280,  360, 1278,  360, 1276,  362, 1280,  358, 1278,  360, 1276,  362, 1280,  358, 1282,  360, 514,  360, 518,  358, 516,  358, 516,  358, 516,  356, 518,  360, 514,  362, 516,  360, 1278,  360, 1278,  362, 1278,  360, 1280,  360, 1278,  358, 1278,  362, 1278,  360, 1282,  358, 516,  358, 514,  360, 514,  360, 516,  358, 514,  360, 516,  360, 516,  358, 520,  358, 1280,  358, 1278,  360, 1280,  360, 1274,  364, 1278,  358, 1280,  360, 1276,  360, 1282,  360, 516,  360, 518,  356, 514,  358, 516,  358, 516,  362, 516,  356, 518,  360, 518,  358, 1280,  360, 1278,  362, 1276,  360, 1278,  358, 1280,  358, 1280,  358, 1278,  360, 1282,  360, 516,  360, 516,  358, 518,  358, 514,  360, 516,  360, 516,  358, 514,  360, 522,  356, 1280,  358, 1282,  358, 1276,  362, 1278,  358, 1278,  360, 1278,  360, 1280,  358, 1284,  360, 514,  360, 1278,  360, 1276,  360, 516,  360, 1280,  360, 514,  362, 1276,  360, 520,  360, 1278,  358, 520,  356, 516,  360, 1278,  360, 516,  360, 1278,  360, 516,  358, 1282,  362, 1278,  362, 514,  360, 516,  358, 516,  360, 1278,  360, 1278,  360, 1278,  360, 1282,  358, 518,  358, 1280,  360, 1280,  358, 1280,  360, 516,  358, 518,  360, 514,  362, 516,  360, 516,  360, 516,  360, 514,  362, 514,  360, 514,  360, 514,  360, 518,  358, 518,  362, 1278,  356, 1280,  360, 1278,  360, 1278,  360, 1278,  358, 1278,  358, 1278,  360, 1282,  358, 516,  360, 514,  360, 514,  362, 514,  360, 516,  356, 518,  358, 514,  362, 518,  360, 1278,  360, 1278,  360, 1278,  360, 1278,  360, 1278,  360, 1278,  360, 1278,  362, 1282,  358, 516,  360, 514,  362, 514,  358, 514,  362, 514,  358, 518,  358, 514,  360, 518,  362, 1278,  362, 1278,  360, 1278,  360, 1280,  360, 1278,  360, 1278,  358, 1278,  362, 1282,  360, 1278,  362, 1274,  362, 514,  360, 514,  360, 514,  360, 514,  360, 516,  360, 518,  362, 514,  360, 516,  358, 1278,  360, 1280,  360, 1278,  360, 1276,  362, 1278,  360, 1282,  360};  // HITACHI_AC296
uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x43, 0xBC, 0x60, 0x9F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x56, 0xA9, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

Power: ON, Temp: 25, Fan: Auto, Mode: Heat
Protocol  : HITACHI_AC296
Code      : 0x01100040BFFF00CC33926D44BB649B00FF00FF00FF00FF00FF56A9F10E00FF00FF00FF03FC (296 Bits)
uint16_t rawData[595] = {3296, 1714,  358, 1278,  362, 512,  360, 516,  358, 516,  362, 516,  358, 516,  358, 518,  356, 522,  358, 518,  356, 516,  358, 516,  362, 514,  360, 1278,  362, 514,  358, 516,  360, 520,  358, 516,  358, 518,  358, 514,  360, 514,  360, 516,  358, 518,  358, 516,  358, 518,  362, 514,  360, 518,  358, 520,  356, 516,  358, 518,  360, 514,  358, 1282,  356, 522,  358, 1280,  358, 1282,  358, 1278,  360, 1278,  360, 1282,  356, 1280,  358, 518,  356, 1282,  362, 1278,  360, 1278,  358, 1280,  360, 1280,  356, 1280,  360, 1280,  358, 1278,  360, 1284,  360, 516,  358, 516,  358, 516,  358, 516,  356, 516,  358, 516,  358, 516,  360, 518,  362, 516,  356, 516,  360, 1278,  358, 1280,  358, 518,  358, 514,  362, 1280,  356, 1284,  360, 1278,  360, 1280,  358, 516,  358, 518,  356, 1282,  356, 1280,  358, 518,  358, 522,  354, 518,  358, 1280,  360, 516,  358, 514,  362, 1278,  360, 518,  356, 516,  358, 1286,  356, 1282,  356, 518,  358, 1278,  360, 1280,  358, 516,  358, 1280,  358, 1278,  358, 522,  358, 516,  360, 514,  358, 1280,  360, 514,  360, 518,  356, 516,  358, 1280,  358, 522,  358, 1276,  360, 1278,  360, 516,  358, 1284,  354, 1280,  360, 1276,  360, 520,  356, 1284,  358, 516,  358, 518,  358, 1280,  358, 516,  360, 516,  360, 1278,  356, 1280,  358, 522,  358, 1280,  360, 1276,  358, 518,  360, 1278,  358, 1282,  360, 516,  356, 516,  358, 1286,  358, 514,  360, 514,  360, 516,  358, 518,  358, 516,  358, 516,  360, 514,  358, 522,  358, 1278,  358, 1280,  360, 1278,  358, 1282,  358, 1278,  358, 1280,  360, 1282,  356, 1284,  358, 520,  356, 514,  360, 514,  360, 516,  358, 516,  360, 518,  356, 516,  356, 522,  360, 1280,  358, 1280,  356, 1280,  360, 1280,  356, 1284,  354, 1282,  356, 1282,  358, 1282,  360, 516,  358, 516,  358, 514,  360, 518,  356, 518,  356, 516,  360, 516,  358, 520,  358, 1280,  358, 1278,  358, 1282,  356, 1282,  358, 1280,  356, 1280,  358, 1280,  360, 1284,  358, 516,  358, 514,  360, 516,  360, 514,  360, 514,  360, 516,  358, 518,  356, 520,  360, 1278,  360, 1278,  360, 1278,  360, 1278,  358, 1282,  358, 1280,  358, 1280,  358, 1284,  358, 516,  360, 516,  356, 520,  356, 518,  358, 514,  360, 516,  358, 518,  358, 522,  358, 1280,  356, 1280,  360, 1278,  360, 1278,  358, 1280,  358, 1278,  360, 1280,  356, 1284,  360, 516,  360, 1280,  358, 1278,  358, 518,  358, 1280,  358, 514,  360, 1280,  358, 518,  358, 1282,  358, 516,  358, 518,  358, 1280,  358, 516,  358, 1278,  360, 518,  358, 1282,  360, 1280,  356, 518,  356, 518,  356, 518,  356, 1280,  362, 1276,  360, 1278,  362, 1282,  358, 518,  358, 1280,  358, 1278,  358, 1278,  360, 516,  358, 520,  358, 514,  358, 522,  358, 518,  358, 516,  356, 520,  356, 516,  356, 518,  358, 518,  356, 516,  358, 522,  358, 1282,  354, 1284,  354, 1282,  358, 1280,  358, 1280,  358, 1280,  356, 1280,  358, 1284,  356, 518,  358, 518,  358, 516,  358, 514,  358, 516,  358, 516,  358, 518,  358, 520,  360, 1278,  358, 1280,  360, 1278,  360, 1278,  358, 1280,  358, 1280,  358, 1280,  358, 1284,  358, 518,  358, 516,  358, 518,  358, 516,  360, 518,  358, 516,  358, 516,  358, 522,  356, 1280,  360, 1280,  360, 1278,  360, 1278,  360, 1278,  358, 1280,  358, 1280,  360, 1282,  360, 1280,  358, 1278,  358, 516,  358, 518,  358, 518,  358, 516,  358, 516,  360, 520,  358, 518,  358, 516,  358, 1280,  356, 1280,  358, 1280,  358, 1280,  358, 1278,  360, 1282,  358};  // HITACHI_AC296
uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x44, 0xBB, 0x64, 0x9B, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x56, 0xA9, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

Power: ON, Temp: 26, Fan: Auto, Mode: Heat
Protocol  : HITACHI_AC296
Code      : 0x01100040BFFF00CC33926D44BB689700FF00FF00FF00FF00FF56A9F10E00FF00FF00FF03FC (296 Bits)
uint16_t rawData[595] = {3300, 1708,  364, 1274,  364, 512,  362, 512,  362, 512,  364, 512,  362, 512,  362, 512,  362, 516,  360, 512,  362, 514,  362, 514,  362, 514,  360, 1276,  360, 514,  362, 514,  360, 520,  358, 514,  362, 516,  360, 512,  364, 512,  360, 514,  364, 514,  360, 512,  364, 514,  364, 512,  362, 512,  362, 512,  362, 514,  362, 514,  360, 514,  362, 1276,  362, 518,  362, 1274,  362, 1276,  364, 1274,  362, 1276,  360, 1278,  362, 1276,  362, 514,  362, 1282,  360, 1276,  362, 1276,  362, 1276,  362, 1274,  364, 1276,  362, 1276,  362, 1274,  364, 1278,  362, 512,  362, 514,  362, 514,  360, 514,  362, 514,  362, 512,  362, 512,  364, 516,  362, 514,  360, 514,  360, 1278,  360, 1276,  362, 514,  360, 512,  364, 1274,  364, 1280,  360, 1274,  366, 1274,  364, 512,  364, 512,  362, 1274,  364, 1276,  362, 514,  362, 516,  362, 512,  362, 1274,  362, 514,  360, 512,  362, 1276,  362, 512,  364, 512,  360, 1278,  364, 1276,  364, 510,  364, 1274,  364, 1274,  364, 512,  362, 1276,  362, 1274,  364, 516,  364, 510,  362, 512,  362, 1274,  362, 514,  362, 512,  362, 512,  362, 1274,  364, 518,  362, 1272,  366, 1272,  364, 512,  364, 1274,  364, 1274,  362, 1274,  362, 514,  362, 1278,  364, 512,  364, 510,  362, 512,  362, 1274,  364, 512,  362, 1274,  364, 1274,  366, 514,  364, 1276,  362, 1274,  366, 1274,  362, 514,  360, 1274,  364, 512,  362, 516,  360, 1280,  360, 514,  362, 512,  364, 514,  360, 514,  360, 514,  360, 514,  362, 514,  362, 518,  362, 1274,  362, 1274,  364, 1274,  364, 1278,  360, 1276,  362, 1274,  362, 1274,  364, 1282,  360, 514,  364, 510,  360, 516,  358, 514,  362, 514,  362, 512,  362, 514,  360, 518,  362, 1276,  362, 1276,  362, 1276,  362, 1276,  362, 1276,  362, 1274,  364, 1278,  362, 1282,  360, 516,  360, 514,  360, 514,  360, 514,  362, 512,  360, 514,  360, 514,  360, 518,  364, 1272,  364, 1276,  364, 1274,  364, 1276,  362, 1274,  364, 1276,  362, 1276,  364, 1280,  360, 514,  362, 514,  360, 512,  362, 512,  362, 514,  360, 514,  362, 514,  362, 516,  360, 1276,  362, 1276,  362, 1278,  362, 1276,  362, 1276,  364, 1274,  362, 1274,  364, 1278,  362, 512,  362, 514,  362, 512,  360, 514,  360, 514,  362, 512,  364, 512,  362, 518,  362, 1274,  364, 1274,  362, 1278,  360, 1276,  364, 1274,  362, 1276,  364, 1276,  360, 1280,  362, 512,  364, 1276,  362, 1276,  362, 514,  362, 1274,  362, 516,  362, 1274,  362, 516,  362, 1274,  366, 512,  362, 512,  364, 1276,  362, 514,  362, 1274,  364, 514,  360, 1280,  362, 1276,  360, 514,  360, 514,  364, 512,  362, 1276,  364, 1276,  362, 1274,  364, 1280,  362, 512,  366, 1272,  362, 1276,  362, 1276,  364, 512,  362, 514,  362, 514,  360, 518,  360, 514,  362, 512,  366, 510,  362, 514,  362, 512,  362, 514,  362, 512,  362, 518,  360, 1276,  364, 1274,  364, 1276,  362, 1276,  364, 1274,  362, 1276,  362, 1272,  366, 1278,  362, 514,  360, 512,  364, 512,  362, 512,  362, 514,  360, 514,  360, 514,  362, 518,  360, 1278,  360, 1274,  364, 1274,  362, 1278,  362, 1276,  362, 1276,  362, 1276,  364, 1278,  362, 512,  362, 514,  362, 512,  360, 514,  362, 514,  362, 514,  362, 512,  362, 516,  362, 1276,  362, 1276,  362, 1276,  360, 1276,  364, 1274,  364, 1274,  362, 1274,  366, 1278,  362, 1276,  362, 1276,  362, 516,  362, 510,  362, 512,  362, 514,  362, 514,  360, 518,  362, 512,  362, 512,  362, 1276,  364, 1276,  360, 1278,  360, 1276,  362, 1278,  362, 1278,  362};  // HITACHI_AC296
uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x44, 0xBB, 0x68, 0x97, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x56, 0xA9, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

Power: ON, Temp: 27 Fan: Auto, Mode: Heat
Protocol  : HITACHI_AC296
Code      : 0x01100040BFFF00CC33926D44BB6C9300FF00FF00FF00FF00FF56A9F10E00FF00FF00FF03FC (296 Bits)
uint16_t rawData[595] = {3294, 1714,  358, 1280,  358, 518,  358, 514,  360, 516,  360, 512,  362, 514,  360, 516,  358, 522,  358, 514,  360, 518,  358, 516,  360, 514,  358, 1280,  358, 518,  358, 516,  358, 520,  358, 520,  354, 518,  356, 518,  358, 516,  360, 514,  360, 516,  360, 518,  356, 520,  358, 518,  358, 518,  358, 520,  354, 516,  358, 518,  358, 518,  356, 1280,  358, 522,  358, 1276,  360, 1280,  358, 1280,  358, 1282,  356, 1278,  358, 1280,  362, 514,  360, 1284,  356, 1280,  360, 1280,  356, 1280,  360, 1280,  356, 1278,  360, 1282,  358, 1278,  360, 1282,  358, 518,  358, 516,  358, 518,  358, 516,  358, 518,  358, 516,  358, 518,  356, 522,  358, 518,  356, 520,  356, 1280,  358, 1280,  360, 516,  358, 516,  358, 1278,  360, 1280,  362, 1278,  358, 1278,  358, 516,  358, 518,  356, 1278,  358, 1278,  360, 516,  358, 522,  356, 518,  358, 1280,  358, 516,  358, 516,  360, 1280,  358, 518,  358, 516,  358, 1284,  360, 1278,  358, 518,  358, 1278,  360, 1280,  358, 518,  356, 1282,  356, 1280,  360, 518,  358, 518,  358, 516,  360, 1280,  358, 514,  362, 516,  356, 520,  356, 1278,  358, 520,  360, 1278,  360, 1278,  360, 516,  358, 1280,  358, 1280,  358, 1278,  362, 516,  358, 1282,  360, 516,  362, 514,  360, 1278,  360, 1278,  360, 516,  358, 1280,  358, 1280,  358, 518,  360, 1278,  358, 1280,  358, 514,  360, 514,  360, 1280,  360, 516,  360, 514,  360, 1282,  360, 516,  358, 520,  354, 516,  360, 514,  358, 518,  358, 516,  360, 516,  358, 520,  360, 1278,  358, 1280,  360, 1276,  362, 1278,  360, 1282,  356, 1278,  360, 1276,  360, 1284,  358, 518,  358, 516,  360, 514,  360, 516,  358, 518,  358, 518,  358, 512,  360, 520,  360, 1278,  360, 1276,  360, 1280,  360, 1278,  358, 1282,  356, 1280,  360, 1278,  358, 1284,  358, 516,  358, 518,  356, 516,  358, 516,  360, 518,  358, 516,  358, 514,  360, 520,  358, 1278,  358, 1278,  360, 1282,  358, 1280,  356, 1276,  362, 1278,  360, 1278,  360, 1280,  362, 516,  356, 518,  358, 518,  358, 516,  358, 516,  358, 518,  356, 516,  358, 522,  358, 1278,  360, 1278,  358, 1280,  358, 1280,  360, 1278,  358, 1280,  360, 1278,  360, 1282,  360, 514,  362, 514,  358, 514,  360, 514,  360, 518,  358, 516,  356, 514,  360, 520,  360, 1278,  358, 1280,  358, 1280,  358, 1278,  358, 1278,  360, 1278,  360, 1278,  360, 1280,  362, 514,  360, 1278,  360, 1280,  358, 516,  358, 1278,  362, 514,  360, 1280,  358, 520,  360, 1280,  358, 516,  358, 516,  358, 1280,  360, 512,  364, 1276,  360, 516,  358, 1284,  360, 1278,  358, 516,  362, 512,  360, 516,  360, 1276,  362, 1278,  360, 1280,  360, 1282,  362, 512,  360, 1280,  360, 1278,  360, 1278,  358, 516,  362, 514,  358, 516,  360, 518,  358, 516,  360, 514,  360, 518,  356, 518,  358, 516,  358, 514,  360, 516,  360, 516,  360, 1278,  360, 1280,  358, 1282,  356, 1280,  358, 1280,  360, 1278,  360, 1278,  362, 1280,  360, 516,  360, 516,  360, 516,  360, 514,  360, 516,  360, 516,  358, 516,  360, 518,  362, 1276,  360, 1278,  362, 1278,  358, 1278,  360, 1280,  360, 1276,  360, 1280,  358, 1284,  358, 516,  360, 514,  362, 514,  358, 514,  360, 516,  358, 516,  360, 516,  358, 520,  358, 1278,  360, 1278,  360, 1280,  358, 1280,  360, 1276,  362, 1280,  358, 1280,  360, 1282,  360, 1278,  360, 1280,  358, 516,  362, 514,  358, 516,  360, 514,  362, 514,  360, 518,  360, 516,  360, 514,  360, 1278,  358, 1278,  360, 1278,  358, 1280,  360, 1278,  360, 1280,  362};  // HITACHI_AC296
uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x44, 0xBB, 0x6C, 0x93, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x56, 0xA9, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

Power: ON, Temp: 28 Fan: Auto, Mode: Heat
Protocol  : HITACHI_AC296
Code      : 0x01100040BFFF00CC33926D44BB708F00FF00FF00FF00FF00FF56A9F10E00FF00FF00FF03FC (296 Bits)
uint16_t rawData[595] = {3280, 1710,  362, 1278,  362, 512,  362, 512,  362, 512,  362, 512,  362, 514,  362, 514,  362, 518,  362, 512,  364, 512,  362, 512,  364, 510,  362, 1276,  360, 514,  362, 512,  364, 518,  360, 514,  362, 514,  362, 514,  362, 512,  362, 512,  362, 514,  362, 512,  362, 518,  362, 514,  362, 512,  364, 512,  360, 514,  360, 516,  362, 514,  362, 1274,  364, 516,  364, 1272,  364, 1272,  366, 1270,  366, 1272,  364, 1274,  364, 1274,  364, 512,  364, 1276,  366, 1272,  364, 1274,  364, 1274,  364, 1274,  364, 1274,  362, 1274,  364, 1274,  364, 1278,  366, 512,  362, 512,  364, 512,  362, 512,  362, 512,  362, 512,  364, 512,  362, 516,  362, 512,  364, 512,  362, 1274,  366, 1274,  362, 514,  362, 512,  362, 1274,  364, 1278,  364, 1274,  364, 1274,  364, 512,  362, 514,  362, 1274,  364, 1274,  364, 512,  364, 516,  364, 510,  364, 1274,  364, 512,  364, 514,  362, 1272,  366, 512,  362, 514,  362, 1278,  364, 1274,  364, 514,  360, 1274,  366, 1272,  364, 512,  360, 1278,  362, 1274,  362, 518,  362, 512,  360, 516,  360, 1274,  364, 514,  360, 514,  360, 514,  362, 1274,  364, 518,  362, 1276,  362, 1276,  362, 512,  362, 1278,  360, 1274,  366, 1276,  362, 512,  360, 1282,  362, 512,  364, 512,  360, 514,  362, 516,  360, 1276,  362, 1278,  360, 1272,  366, 516,  360, 1278,  360, 1278,  360, 1276,  364, 1276,  362, 512,  362, 514,  362, 512,  364, 1278,  364, 514,  358, 516,  362, 512,  362, 512,  362, 512,  362, 512,  362, 514,  362, 518,  362, 1276,  364, 1274,  362, 1276,  362, 1276,  362, 1276,  362, 1276,  362, 1276,  362, 1278,  362, 514,  362, 512,  364, 510,  362, 512,  362, 514,  360, 512,  364, 512,  362, 518,  360, 1276,  362, 1276,  362, 1276,  362, 1276,  364, 1274,  362, 1278,  360, 1274,  364, 1280,  360, 516,  360, 514,  362, 512,  362, 510,  366, 512,  362, 510,  364, 514,  362, 516,  362, 1276,  362, 1274,  364, 1276,  362, 1276,  364, 1274,  362, 1276,  362, 1274,  362, 1280,  362, 516,  360, 514,  362, 512,  360, 514,  360, 514,  362, 514,  362, 512,  364, 514,  364, 1274,  364, 1272,  366, 1274,  364, 1274,  364, 1276,  362, 1276,  364, 1276,  360, 1280,  364, 512,  362, 514,  360, 514,  362, 514,  362, 512,  362, 510,  362, 514,  362, 516,  362, 1276,  360, 1276,  362, 1274,  366, 1274,  366, 1274,  362, 1274,  364, 1274,  364, 1278,  364, 514,  360, 1274,  364, 1274,  366, 512,  362, 1272,  364, 512,  362, 1274,  364, 518,  362, 1274,  364, 516,  360, 514,  364, 1272,  364, 514,  362, 1272,  362, 516,  362, 1278,  362, 1274,  366, 510,  362, 512,  364, 512,  364, 1272,  364, 1274,  364, 1272,  364, 1278,  364, 512,  362, 1274,  362, 1276,  364, 1274,  364, 512,  362, 514,  362, 512,  362, 516,  364, 510,  364, 512,  362, 512,  364, 510,  364, 512,  362, 512,  362, 512,  362, 516,  364, 1272,  364, 1274,  364, 1272,  364, 1274,  362, 1274,  364, 1274,  364, 1276,  364, 1278,  364, 510,  364, 510,  364, 512,  364, 512,  362, 512,  364, 512,  362, 514,  362, 516,  364, 1274,  364, 1274,  364, 1274,  362, 1276,  364, 1274,  364, 1274,  366, 1272,  362, 1280,  366, 510,  362, 512,  362, 514,  364, 510,  362, 512,  362, 512,  364, 512,  362, 518,  362, 1274,  362, 1278,  362, 1274,  364, 1274,  364, 1274,  364, 1274,  364, 1274,  364, 1278,  366, 1272,  364, 1274,  364, 514,  360, 514,  362, 510,  364, 512,  362, 512,  364, 514,  364, 512,  362, 512,  362, 1274,  364, 1274,  364, 1274,  364, 1274,  366, 1276,  362, 1278,  366};  // HITACHI_AC296
uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x44, 0xBB, 0x70, 0x8F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x56, 0xA9, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

Power: ON, Temp: 29 Fan: Auto, Mode: Heat
Protocol  : HITACHI_AC296
Code      : 0x01100040BFFF00CC33926D44BB748B00FF00FF00FF00FF00FF56A9F10E00FF00FF00FF03FC (296 Bits)
uint16_t rawData[595] = {3284, 1710,  364, 1276,  362, 514,  362, 512,  362, 514,  362, 512,  362, 514,  362, 514,  360, 516,  364, 512,  362, 512,  362, 514,  360, 512,  364, 1274,  362, 514,  364, 510,  362, 520,  362, 512,  362, 514,  362, 514,  360, 514,  362, 514,  360, 514,  362, 514,  362, 514,  364, 510,  364, 514,  362, 512,  362, 512,  364, 512,  362, 514,  362, 1276,  362, 518,  362, 1274,  362, 1276,  362, 1276,  362, 1278,  360, 1278,  362, 1274,  362, 514,  360, 1282,  364, 1274,  362, 1276,  362, 1276,  364, 1274,  362, 1278,  362, 1274,  364, 1274,  362, 1280,  362, 514,  362, 512,  362, 512,  364, 514,  360, 514,  362, 514,  362, 514,  360, 518,  362, 510,  362, 514,  362, 1274,  364, 1276,  362, 514,  362, 512,  360, 1278,  360, 1280,  364, 1276,  362, 1276,  362, 512,  362, 514,  360, 1274,  364, 1276,  362, 512,  360, 518,  362, 512,  364, 1274,  362, 512,  360, 514,  362, 1274,  362, 514,  360, 514,  360, 1278,  366, 1274,  362, 514,  362, 1276,  362, 1274,  362, 514,  360, 1276,  362, 1274,  362, 516,  364, 510,  364, 514,  360, 1276,  362, 514,  360, 516,  362, 512,  364, 1272,  362, 520,  360, 1274,  364, 1276,  364, 512,  362, 1276,  364, 1274,  362, 1276,  362, 512,  362, 1280,  364, 514,  360, 514,  362, 1274,  364, 514,  360, 1274,  362, 1276,  362, 1274,  362, 520,  360, 1274,  366, 1274,  364, 512,  360, 1274,  364, 514,  362, 512,  362, 514,  360, 1280,  362, 514,  362, 512,  360, 514,  364, 512,  360, 514,  362, 512,  362, 514,  362, 518,  362, 1274,  366, 1274,  362, 1274,  362, 1278,  362, 1272,  362, 1278,  362, 1276,  362, 1278,  362, 516,  360, 512,  362, 514,  362, 510,  364, 512,  362, 514,  360, 514,  360, 518,  362, 1278,  360, 1278,  362, 1276,  362, 1274,  364, 1276,  362, 1278,  360, 1274,  364, 1278,  362, 512,  362, 514,  360, 514,  362, 512,  360, 514,  362, 512,  362, 514,  362, 518,  360, 1276,  362, 1274,  364, 1278,  360, 1276,  362, 1276,  362, 1278,  362, 1276,  362, 1278,  364, 512,  362, 512,  362, 512,  362, 514,  362, 512,  364, 512,  362, 514,  362, 518,  360, 1278,  360, 1276,  362, 1274,  364, 1274,  364, 1276,  362, 1276,  362, 1276,  364, 1280,  362, 512,  362, 514,  360, 514,  362, 512,  362, 514,  360, 514,  360, 514,  362, 518,  360, 1276,  362, 1278,  360, 1274,  364, 1276,  360, 1278,  362, 1274,  364, 1276,  362, 1278,  364, 512,  364, 1274,  362, 1276,  362, 512,  364, 1274,  362, 514,  362, 1274,  362, 516,  362, 1278,  362, 512,  362, 514,  360, 1276,  362, 514,  362, 1276,  362, 514,  360, 1280,  362, 1276,  364, 512,  362, 512,  360, 514,  360, 1278,  362, 1274,  364, 1276,  364, 1278,  362, 514,  362, 1276,  360, 1278,  360, 1278,  360, 516,  360, 510,  364, 514,  358, 518,  364, 512,  360, 514,  364, 512,  362, 514,  362, 514,  362, 514,  360, 514,  362, 516,  360, 1278,  362, 1276,  362, 1278,  362, 1274,  364, 1276,  362, 1276,  362, 1276,  360, 1282,  362, 514,  362, 512,  360, 514,  362, 512,  362, 514,  362, 514,  360, 514,  360, 518,  362, 1274,  362, 1278,  360, 1278,  362, 1276,  362, 1276,  362, 1278,  360, 1276,  362, 1280,  362, 514,  360, 516,  360, 512,  362, 514,  362, 512,  362, 514,  362, 514,  360, 516,  364, 1276,  362, 1276,  362, 1276,  364, 1276,  362, 1276,  362, 1274,  364, 1274,  364, 1280,  362, 1276,  364, 1276,  362, 514,  360, 514,  360, 512,  362, 514,  360, 514,  360, 518,  360, 514,  360, 516,  358, 1276,  362, 1278,  362, 1274,  362, 1278,  362, 1274,  362, 1278,  362};  // HITACHI_AC296
uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x44, 0xBB, 0x74, 0x8B, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x56, 0xA9, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

Power: ON, Temp: 30 Fan: Auto, Mode: Heat
Protocol  : HITACHI_AC296
Code      : 0x01100040BFFF00CC33926D44BB788700FF00FF00FF00FF00FF56A9F10E00FF00FF00FF03FC (296 Bits)
uint16_t rawData[595] = {3284, 1710,  364, 1274,  364, 512,  362, 514,  362, 514,  360, 514,  362, 512,  364, 514,  362, 514,  362, 514,  362, 512,  362, 514,  362, 512,  364, 1274,  364, 514,  360, 514,  360, 516,  362, 514,  362, 514,  360, 514,  362, 512,  364, 512,  364, 512,  362, 512,  364, 514,  364, 512,  362, 512,  362, 514,  360, 514,  362, 514,  360, 514,  362, 1274,  362, 518,  362, 1274,  364, 1274,  364, 1272,  366, 1274,  364, 1274,  364, 1274,  362, 512,  362, 1282,  362, 1274,  362, 1276,  364, 1274,  364, 1274,  362, 1278,  360, 1276,  362, 1276,  362, 1282,  360, 514,  362, 512,  364, 512,  364, 510,  362, 514,  358, 514,  362, 512,  362, 516,  362, 514,  360, 514,  362, 1276,  364, 1274,  362, 514,  362, 512,  362, 1276,  362, 1280,  362, 1278,  362, 1274,  364, 512,  362, 514,  362, 1274,  364, 1276,  362, 512,  360, 518,  362, 514,  362, 1274,  364, 512,  362, 514,  362, 1276,  362, 512,  364, 512,  362, 1280,  362, 1276,  362, 514,  362, 1274,  364, 1272,  364, 512,  362, 1276,  362, 1274,  362, 520,  362, 512,  362, 510,  364, 1276,  362, 512,  364, 512,  362, 510,  364, 1274,  364, 514,  362, 1274,  364, 1274,  364, 514,  360, 1274,  364, 1274,  364, 1272,  368, 512,  362, 1276,  364, 512,  362, 512,  364, 512,  362, 1276,  362, 1274,  366, 1272,  364, 1274,  366, 516,  362, 1272,  366, 1274,  364, 1274,  364, 512,  364, 510,  362, 512,  362, 512,  364, 1276,  364, 514,  362, 512,  364, 512,  360, 514,  362, 512,  362, 510,  364, 512,  362, 514,  362, 1274,  364, 1274,  364, 1278,  360, 1274,  364, 1272,  364, 1274,  366, 1272,  366, 1276,  364, 514,  362, 512,  362, 516,  360, 514,  362, 512,  360, 514,  362, 512,  362, 516,  362, 1274,  364, 1274,  364, 1274,  364, 1272,  364, 1274,  364, 1274,  362, 1276,  366, 1276,  364, 510,  362, 514,  362, 512,  362, 514,  362, 510,  364, 512,  360, 512,  362, 518,  360, 1274,  364, 1274,  364, 1272,  366, 1272,  364, 1276,  364, 1274,  364, 1272,  364, 1280,  364, 512,  362, 512,  364, 512,  364, 512,  360, 514,  362, 512,  362, 514,  362, 516,  360, 1274,  366, 1274,  366, 1272,  364, 1276,  362, 1274,  362, 1274,  364, 1272,  366, 1278,  364, 510,  364, 512,  362, 512,  362, 512,  362, 514,  364, 512,  362, 512,  362, 514,  362, 1274,  364, 1274,  364, 1276,  364, 1274,  364, 1276,  362, 1276,  362, 1274,  362, 1280,  364, 510,  364, 1272,  366, 1272,  364, 514,  362, 1276,  362, 510,  364, 1274,  366, 516,  362, 1274,  364, 512,  364, 512,  362, 1274,  364, 512,  360, 1276,  364, 512,  364, 1280,  364, 1272,  364, 512,  364, 512,  362, 512,  362, 1272,  364, 1274,  366, 1272,  364, 1276,  364, 512,  362, 1274,  362, 1276,  362, 1274,  364, 514,  362, 514,  362, 512,  364, 514,  364, 512,  362, 512,  364, 512,  362, 512,  364, 512,  360, 514,  364, 512,  362, 518,  362, 1274,  364, 1276,  362, 1276,  362, 1274,  362, 1276,  362, 1274,  364, 1276,  364, 1276,  362, 516,  360, 512,  362, 514,  360, 512,  362, 514,  360, 512,  362, 516,  360, 516,  362, 1276,  362, 1278,  360, 1276,  362, 1276,  362, 1276,  360, 1276,  364, 1274,  362, 1282,  360, 512,  360, 514,  362, 514,  360, 512,  362, 514,  362, 512,  362, 512,  362, 520,  360, 1276,  362, 1276,  362, 1276,  362, 1278,  360, 1276,  362, 1282,  358, 1278,  360, 1282,  360, 1280,  358, 1278,  360, 516,  360, 514,  360, 514,  360, 516,  360, 514,  360, 516,  360, 518,  358, 516,  360, 1278,  360, 1278,  360, 1280,  358, 1278,  360, 1276,  362, 1280,  360};  // HITACHI_AC296
uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x44, 0xBB, 0x78, 0x87, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x56, 0xA9, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

Power: ON, Temp: 24, Fan: Auto, Mode: Cool
Protocol  : HITACHI_AC296
Code      : 0x01100040BFFF00CC33926D44BB609F00FF00FF00FF00FF00FF53ACF10E00FF00FF00FF03FC (296 Bits)
uint16_t rawData[595] = {3300, 1710,  364, 1272,  364, 514,  362, 514,  362, 514,  362, 512,  362, 512,  362, 512,  362, 518,  362, 514,  360, 514,  360, 514,  362, 514,  362, 1272,  366, 512,  362, 512,  362, 518,  362, 512,  360, 514,  362, 512,  364, 514,  362, 514,  362, 512,  364, 512,  362, 518,  360, 516,  362, 512,  362, 514,  360, 514,  360, 514,  362, 514,  362, 1276,  364, 516,  362, 1276,  364, 1272,  364, 1274,  364, 1274,  366, 1272,  364, 1274,  364, 514,  362, 1280,  362, 1274,  364, 1274,  364, 1274,  364, 1274,  364, 1274,  364, 1274,  366, 1272,  362, 1278,  366, 514,  360, 514,  362, 512,  362, 510,  362, 514,  360, 514,  362, 512,  362, 516,  360, 514,  360, 512,  362, 1274,  364, 1274,  364, 512,  364, 512,  362, 1272,  364, 1278,  364, 1274,  364, 1276,  362, 512,  362, 514,  360, 1274,  364, 1272,  366, 512,  362, 518,  362, 512,  362, 1272,  366, 512,  362, 512,  364, 1272,  364, 512,  364, 512,  362, 1278,  364, 1274,  362, 512,  362, 1274,  362, 1276,  364, 512,  360, 1276,  362, 1274,  364, 516,  362, 514,  362, 512,  362, 1276,  362, 512,  362, 512,  362, 512,  364, 1272,  364, 518,  360, 1274,  364, 1274,  366, 512,  360, 1274,  366, 1274,  364, 1274,  362, 514,  362, 1278,  364, 514,  362, 514,  362, 512,  362, 512,  362, 514,  362, 1274,  364, 1272,  366, 516,  362, 1274,  362, 1274,  364, 1274,  364, 1276,  362, 1276,  364, 514,  362, 514,  360, 1280,  364, 512,  362, 514,  362, 514,  362, 512,  362, 512,  362, 512,  362, 514,  362, 516,  362, 1274,  364, 1274,  366, 1272,  366, 1272,  366, 1276,  362, 1274,  366, 1272,  364, 1278,  364, 514,  362, 512,  364, 512,  362, 512,  362, 512,  364, 512,  362, 514,  362, 518,  360, 1278,  364, 1274,  362, 1274,  364, 1274,  364, 1274,  362, 1276,  364, 1274,  362, 1280,  362, 514,  362, 512,  364, 512,  362, 512,  362, 516,  360, 514,  362, 514,  362, 516,  362, 1272,  364, 1274,  366, 1274,  362, 1276,  360, 1274,  366, 1276,  364, 1272,  366, 1276,  364, 514,  360, 514,  360, 514,  362, 512,  360, 514,  362, 512,  362, 514,  360, 516,  364, 1274,  364, 1274,  362, 1276,  362, 1276,  364, 1274,  362, 1276,  362, 1272,  366, 1278,  364, 514,  360, 512,  362, 512,  362, 512,  362, 512,  362, 512,  364, 510,  364, 516,  362, 1276,  362, 1276,  364, 1272,  364, 1274,  364, 1276,  364, 1272,  364, 1272,  364, 1278,  362, 1278,  360, 1274,  364, 512,  362, 512,  362, 1274,  364, 514,  362, 1274,  364, 518,  362, 512,  362, 514,  362, 1272,  364, 1274,  366, 510,  362, 1274,  364, 512,  362, 1278,  364, 1274,  362, 512,  364, 512,  360, 512,  362, 1274,  364, 1274,  364, 1274,  364, 1278,  366, 510,  362, 1274,  366, 1274,  364, 1272,  364, 512,  362, 512,  362, 512,  362, 516,  362, 512,  362, 512,  362, 514,  364, 510,  364, 512,  362, 514,  362, 512,  364, 516,  364, 1274,  362, 1276,  364, 1274,  362, 1274,  364, 1276,  362, 1274,  366, 1274,  364, 1276,  364, 512,  364, 512,  362, 512,  362, 512,  362, 512,  364, 512,  362, 514,  360, 516,  362, 1274,  362, 1276,  362, 1274,  364, 1274,  362, 1278,  362, 1274,  364, 1274,  364, 1280,  364, 510,  362, 512,  362, 512,  362, 512,  364, 512,  362, 514,  362, 512,  362, 518,  362, 1274,  362, 1278,  362, 1274,  364, 1274,  364, 1274,  364, 1276,  364, 1274,  362, 1280,  362, 1276,  362, 1276,  362, 514,  360, 512,  364, 510,  362, 512,  362, 512,  364, 516,  364, 512,  362, 512,  362, 1276,  360, 1278,  362, 1274,  364, 1276,  362, 1276,  362, 1278,  362};  // HITACHI_AC296
uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x44, 0xBB, 0x60, 0x9F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x53, 0xAC, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

Power: ON, Temp: 24, Fan: Full (4), Mode: Cool
Protocol  : HITACHI_AC296
Code      : 0x01100040BFFF00CC33926D42BD609F00FF00FF00FF00FF00FF43BCF10E00FF00FF00FF03FC (296 Bits)
uint16_t rawData[595] = {3284, 1708,  364, 1276,  364, 510,  362, 512,  364, 512,  362, 514,  362, 510,  364, 512,  362, 516,  362, 512,  364, 512,  364, 510,  364, 510,  362, 1274,  364, 512,  364, 512,  362, 516,  362, 512,  362, 512,  362, 512,  362, 512,  362, 514,  362, 512,  360, 514,  364, 516,  364, 510,  364, 512,  362, 512,  362, 512,  364, 514,  362, 510,  364, 1272,  364, 518,  362, 1274,  362, 1274,  364, 1274,  364, 1274,  364, 1274,  364, 1274,  364, 514,  360, 1280,  364, 1274,  364, 1274,  364, 1274,  364, 1274,  364, 1274,  366, 1272,  362, 1276,  364, 1280,  362, 512,  364, 512,  362, 514,  360, 514,  362, 514,  360, 514,  364, 512,  360, 516,  362, 514,  364, 510,  362, 1274,  364, 1276,  362, 514,  362, 512,  362, 1276,  364, 1278,  364, 1272,  366, 1274,  362, 512,  364, 510,  364, 1272,  364, 1274,  364, 512,  362, 516,  362, 512,  362, 1276,  362, 514,  360, 514,  364, 1272,  364, 512,  364, 510,  364, 1278,  362, 1274,  364, 510,  364, 1274,  364, 1274,  364, 512,  362, 1274,  364, 1276,  362, 518,  362, 514,  360, 1276,  362, 514,  362, 512,  362, 516,  360, 512,  362, 1276,  362, 516,  364, 1274,  362, 512,  362, 1278,  360, 1274,  362, 1276,  360, 1278,  362, 512,  362, 1280,  364, 512,  362, 512,  360, 514,  362, 514,  360, 512,  364, 1274,  362, 1272,  364, 516,  362, 1276,  362, 1276,  362, 1274,  362, 1276,  362, 1276,  362, 512,  362, 512,  360, 1282,  360, 514,  362, 514,  360, 514,  360, 514,  362, 514,  362, 512,  360, 514,  362, 518,  360, 1276,  360, 1276,  364, 1276,  360, 1276,  362, 1274,  364, 1274,  362, 1278,  362, 1278,  364, 514,  360, 514,  358, 516,  362, 512,  362, 514,  360, 514,  360, 512,  362, 516,  362, 1278,  360, 1276,  362, 1276,  362, 1276,  362, 1278,  360, 1276,  364, 1276,  360, 1282,  362, 514,  362, 514,  360, 514,  362, 514,  358, 518,  358, 514,  360, 514,  360, 518,  360, 1276,  362, 1276,  360, 1276,  362, 1278,  360, 1276,  360, 1276,  362, 1276,  362, 1280,  362, 512,  364, 512,  364, 514,  360, 512,  360, 514,  362, 512,  362, 514,  360, 518,  362, 1276,  362, 1276,  362, 1276,  362, 1276,  362, 1276,  362, 1274,  362, 1276,  364, 1278,  362, 514,  362, 514,  362, 512,  362, 512,  362, 512,  362, 512,  362, 512,  362, 520,  360, 1276,  362, 1276,  362, 1274,  364, 1276,  362, 1278,  360, 1276,  362, 1274,  362, 1280,  362, 1276,  362, 1276,  362, 512,  362, 514,  362, 512,  362, 512,  364, 1274,  362, 518,  362, 512,  362, 514,  360, 1274,  364, 1274,  362, 1276,  362, 1274,  364, 512,  362, 1278,  362, 1276,  364, 512,  364, 512,  362, 512,  364, 1276,  360, 1274,  364, 1272,  366, 1278,  364, 512,  364, 1274,  362, 1276,  362, 1274,  362, 514,  364, 512,  362, 512,  362, 516,  362, 512,  362, 512,  362, 514,  362, 512,  364, 512,  360, 512,  364, 512,  362, 516,  364, 1274,  362, 1276,  362, 1274,  362, 1276,  364, 1274,  362, 1276,  362, 1276,  364, 1280,  362, 512,  364, 514,  360, 512,  362, 512,  362, 512,  362, 514,  362, 512,  362, 518,  360, 1274,  362, 1276,  362, 1274,  362, 1276,  362, 1276,  364, 1276,  360, 1276,  362, 1278,  364, 512,  360, 514,  362, 514,  362, 512,  362, 512,  362, 510,  364, 514,  364, 514,  360, 1276,  362, 1274,  364, 1276,  362, 1276,  364, 1274,  362, 1276,  360, 1276,  360, 1280,  362, 1274,  364, 1276,  362, 512,  362, 512,  362, 512,  362, 512,  362, 514,  360, 518,  360, 514,  360, 512,  364, 1276,  362, 1276,  362, 1276,  362, 1276,  364, 1274,  362, 1278,  362};  // HITACHI_AC296
uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x42, 0xBD, 0x60, 0x9F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x43, 0xBC, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

Power: ON, Temp: 24, Fan: Medium (3), Mode: Cool
Protocol  : HITACHI_AC296
Code      : 0x01100040BFFF00CC33926D42BD609F00FF00FF00FF00FF00FF33CCF10E00FF00FF00FF03FC (296 Bits)
uint16_t rawData[595] = {3320, 1676,  396, 1242,  398, 478,  396, 480,  396, 478,  396, 478,  396, 480,  394, 480,  394, 484,  396, 480,  396, 478,  396, 478,  396, 480,  396, 1240,  396, 480,  394, 482,  394, 486,  394, 480,  394, 480,  394, 482,  394, 480,  394, 480,  396, 480,  394, 482,  394, 482,  396, 480,  394, 480,  396, 480,  396, 480,  394, 480,  394, 480,  394, 1244,  396, 516,  362, 1242,  396, 1242,  398, 1240,  394, 1244,  396, 1242,  396, 1242,  396, 480,  394, 1248,  394, 1242,  396, 1270,  366, 1244,  396, 1242,  394, 1244,  396, 1274,  362, 1244,  396, 1280,  362, 480,  394, 480,  396, 480,  396, 478,  394, 480,  394, 482,  392, 480,  394, 486,  394, 512,  362, 480,  396, 1240,  396, 1242,  398, 478,  394, 512,  362, 1244,  394, 1278,  362, 1244,  394, 1244,  394, 480,  394, 482,  394, 1276,  364, 1276,  362, 500,  374, 484,  396, 480,  392, 1244,  396, 512,  362, 512,  362, 1276,  362, 514,  362, 512,  362, 1248,  394, 1276,  362, 480,  394, 1276,  362, 1242,  396, 480,  394, 1244,  394, 1274,  362, 518,  360, 514,  362, 1276,  362, 512,  362, 514,  362, 510,  362, 514,  362, 1276,  360, 518,  362, 1242,  396, 514,  360, 1276,  360, 1278,  364, 1274,  362, 1276,  360, 514,  362, 1280,  362, 512,  364, 512,  362, 512,  362, 512,  364, 512,  362, 1274,  362, 1274,  364, 516,  362, 1274,  364, 1276,  362, 1276,  364, 1274,  364, 1250,  386, 514,  362, 514,  360, 1280,  362, 514,  360, 514,  360, 514,  362, 512,  362, 512,  360, 514,  362, 514,  364, 514,  362, 1278,  362, 1276,  362, 1276,  362, 1278,  360, 1278,  362, 1274,  362, 1274,  364, 1280,  360, 514,  360, 512,  362, 512,  364, 512,  364, 510,  362, 514,  362, 514,  362, 518,  360, 1276,  362, 1274,  366, 1274,  362, 1276,  364, 1274,  364, 1276,  362, 1274,  362, 1282,  362, 512,  360, 514,  362, 514,  362, 512,  364, 512,  362, 512,  362, 514,  364, 514,  362, 1276,  366, 1272,  362, 1276,  364, 1274,  362, 1276,  364, 1276,  362, 1274,  362, 1280,  362, 512,  364, 512,  364, 512,  364, 510,  362, 512,  362, 512,  362, 514,  362, 518,  360, 1276,  362, 1276,  364, 1274,  362, 1274,  364, 1274,  362, 1276,  362, 1274,  364, 1280,  362, 512,  364, 514,  362, 512,  362, 514,  362, 512,  364, 512,  362, 512,  364, 518,  360, 1274,  364, 1276,  364, 1274,  362, 1276,  362, 1274,  364, 1274,  366, 1274,  364, 1278,  364, 1276,  362, 1274,  364, 510,  362, 514,  362, 1276,  362, 1274,  362, 516,  362, 516,  362, 514,  362, 512,  364, 1274,  364, 1274,  362, 514,  362, 512,  362, 1276,  362, 1280,  362, 1274,  366, 512,  362, 512,  362, 512,  364, 1276,  362, 1274,  364, 1276,  362, 1278,  362, 512,  362, 1276,  364, 1276,  362, 1274,  364, 514,  360, 514,  362, 514,  362, 514,  364, 514,  360, 514,  362, 512,  364, 512,  362, 512,  362, 512,  362, 514,  360, 518,  360, 1274,  364, 1276,  362, 1276,  362, 1276,  362, 1276,  362, 1276,  360, 1276,  364, 1276,  364, 514,  362, 514,  362, 512,  362, 512,  364, 512,  362, 514,  362, 512,  362, 518,  362, 1276,  360, 1278,  360, 1276,  362, 1274,  364, 1276,  364, 1274,  362, 1276,  360, 1280,  362, 510,  364, 512,  362, 514,  362, 512,  362, 514,  362, 512,  362, 514,  360, 518,  362, 1276,  360, 1276,  364, 1274,  364, 1274,  362, 1276,  364, 1274,  364, 1274,  364, 1280,  362, 1274,  364, 1274,  364, 514,  362, 510,  362, 514,  362, 512,  364, 512,  362, 516,  362, 512,  362, 512,  364, 1274,  364, 1276,  364, 1274,  362, 1276,  364, 1276,  362, 1280,  362};  // HITACHI_AC296
uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x42, 0xBD, 0x60, 0x9F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x33, 0xCC, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

Power: ON, Temp: 24, Fan: Low (2), Mode: Cool
Protocol  : HITACHI_AC296
Code      : 0x01100040BFFF00CC33926D42BD609F00FF00FF00FF00FF00FF23DCF10E00FF00FF00FF03FC (296 Bits)
uint16_t rawData[595] = {3302, 1708,  362, 1278,  362, 514,  360, 514,  364, 510,  364, 512,  360, 514,  362, 512,  362, 518,  360, 516,  360, 514,  362, 514,  360, 510,  366, 1274,  362, 514,  362, 512,  362, 518,  360, 514,  362, 516,  360, 512,  362, 514,  362, 512,  364, 510,  362, 514,  362, 516,  362, 514,  362, 512,  362, 512,  362, 514,  362, 514,  360, 514,  360, 1276,  360, 520,  362, 1276,  360, 1274,  364, 1274,  362, 1276,  362, 1276,  362, 1274,  364, 514,  360, 1280,  364, 1276,  364, 1274,  364, 1274,  360, 1278,  360, 1276,  362, 1278,  362, 1274,  362, 1280,  362, 514,  362, 512,  364, 512,  362, 514,  360, 514,  362, 514,  362, 512,  362, 518,  362, 512,  360, 514,  362, 1272,  366, 1276,  362, 512,  364, 512,  362, 1276,  364, 1278,  362, 1278,  360, 1278,  362, 514,  362, 512,  360, 1276,  364, 1274,  362, 512,  362, 518,  360, 514,  362, 1274,  362, 512,  362, 512,  362, 1274,  362, 514,  362, 512,  360, 1282,  360, 1276,  364, 514,  362, 1276,  362, 1274,  362, 514,  360, 1276,  362, 1274,  364, 518,  362, 512,  360, 1276,  362, 514,  360, 514,  362, 514,  360, 514,  362, 1278,  360, 516,  362, 1276,  362, 514,  362, 1274,  362, 1276,  360, 1278,  364, 1274,  364, 510,  362, 1280,  362, 514,  362, 514,  360, 512,  364, 510,  364, 512,  362, 1276,  362, 1274,  364, 518,  360, 1276,  364, 1276,  362, 1276,  360, 1278,  362, 1274,  362, 514,  364, 512,  362, 1280,  364, 512,  362, 512,  362, 512,  362, 514,  360, 514,  360, 514,  362, 512,  364, 516,  362, 1276,  362, 1276,  360, 1276,  362, 1276,  362, 1278,  362, 1276,  362, 1276,  362, 1280,  362, 512,  362, 514,  360, 512,  362, 512,  362, 514,  360, 512,  362, 512,  362, 518,  362, 1274,  362, 1276,  362, 1276,  362, 1276,  362, 1276,  362, 1276,  362, 1276,  362, 1280,  362, 514,  360, 514,  362, 512,  362, 512,  362, 512,  362, 514,  360, 514,  362, 518,  362, 1276,  362, 1274,  362, 1278,  362, 1276,  364, 1274,  362, 1278,  362, 1276,  362, 1280,  360, 514,  362, 514,  362, 512,  362, 512,  362, 512,  364, 512,  364, 514,  362, 514,  362, 1278,  362, 1272,  366, 1274,  364, 1274,  362, 1274,  364, 1274,  364, 1276,  364, 1280,  362, 514,  360, 512,  362, 514,  362, 514,  362, 514,  362, 512,  362, 512,  362, 516,  362, 1276,  364, 1274,  362, 1276,  362, 1276,  362, 1276,  360, 1276,  362, 1276,  362, 1280,  360, 1276,  364, 1274,  362, 514,  362, 514,  360, 516,  362, 1276,  360, 514,  360, 518,  360, 514,  360, 516,  360, 1276,  362, 1274,  364, 1274,  362, 514,  362, 1276,  362, 1280,  362, 1276,  362, 514,  360, 514,  362, 512,  362, 1274,  366, 1274,  362, 1274,  362, 1280,  362, 514,  360, 1276,  362, 1276,  362, 1276,  362, 512,  362, 512,  362, 512,  362, 518,  362, 512,  362, 512,  364, 512,  362, 512,  364, 512,  362, 512,  362, 512,  362, 516,  362, 1274,  364, 1274,  364, 1274,  364, 1276,  360, 1278,  360, 1276,  362, 1276,  362, 1280,  362, 512,  362, 510,  364, 514,  360, 514,  360, 514,  362, 512,  362, 512,  360, 516,  364, 1276,  364, 1276,  360, 1276,  362, 1278,  360, 1276,  364, 1276,  360, 1276,  364, 1278,  362, 512,  364, 514,  362, 514,  362, 512,  362, 512,  362, 514,  362, 512,  362, 516,  362, 1274,  362, 1278,  362, 1276,  360, 1276,  362, 1276,  362, 1278,  360, 1276,  360, 1280,  366, 1274,  362, 1274,  364, 514,  360, 512,  362, 514,  362, 514,  362, 514,  360, 520,  358, 514,  362, 514,  362, 1276,  362, 1276,  364, 1274,  362, 1276,  362, 1276,  362, 1280,  360};  // HITACHI_AC296
uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x42, 0xBD, 0x60, 0x9F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x23, 0xDC, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

Power: ON, Temp: 24, Fan: Quiet (1), Mode: Cool
Protocol  : HITACHI_AC296
Code      : 0x01100040BFFF00CC33986742BD609F00FF00FF00FF00FF00FF13ECF10E00FF00FF00FF03FC (296 Bits)
uint16_t rawData[595] = {3300, 1708,  366, 1274,  364, 510,  364, 512,  362, 512,  362, 512,  364, 510,  364, 512,  364, 516,  362, 512,  362, 514,  362, 512,  364, 512,  362, 1274,  364, 512,  362, 512,  362, 516,  362, 512,  362, 514,  360, 512,  364, 512,  362, 512,  362, 514,  360, 512,  364, 516,  364, 512,  362, 512,  364, 510,  362, 514,  364, 510,  364, 512,  364, 1274,  364, 516,  364, 1272,  364, 1274,  362, 1274,  364, 1274,  364, 1274,  366, 1272,  364, 512,  364, 1278,  366, 1272,  364, 1274,  364, 1274,  364, 1272,  366, 1272,  366, 1270,  366, 1274,  364, 1278,  364, 512,  364, 512,  362, 512,  362, 512,  364, 512,  362, 512,  360, 514,  364, 516,  364, 512,  362, 510,  362, 1276,  364, 1272,  364, 512,  364, 510,  364, 1272,  364, 1278,  364, 1272,  362, 1274,  366, 512,  362, 512,  362, 1272,  366, 1272,  364, 512,  362, 516,  364, 512,  362, 512,  364, 512,  362, 1274,  364, 1272,  364, 512,  362, 512,  362, 1278,  364, 1274,  364, 1274,  366, 1272,  364, 512,  364, 512,  362, 1272,  364, 1274,  364, 516,  364, 510,  364, 1272,  364, 512,  364, 510,  364, 512,  362, 510,  362, 1274,  366, 516,  362, 1274,  364, 512,  362, 1274,  364, 1272,  364, 1274,  366, 1272,  364, 514,  360, 1278,  364, 514,  362, 514,  360, 514,  362, 512,  360, 514,  364, 1272,  366, 1272,  364, 516,  362, 1274,  364, 1274,  362, 1276,  364, 1274,  362, 1274,  364, 512,  364, 514,  362, 1276,  364, 514,  362, 512,  364, 510,  364, 512,  362, 514,  364, 512,  362, 512,  364, 516,  362, 1272,  366, 1274,  364, 1276,  364, 1272,  366, 1274,  364, 1274,  364, 1276,  364, 1276,  364, 514,  362, 512,  362, 514,  362, 512,  360, 514,  362, 512,  360, 514,  364, 516,  362, 1272,  364, 1276,  364, 1272,  364, 1276,  362, 1274,  364, 1276,  362, 1276,  362, 1278,  366, 512,  362, 512,  362, 512,  362, 512,  362, 514,  362, 512,  360, 512,  364, 516,  364, 1274,  362, 1274,  364, 1272,  366, 1274,  364, 1272,  366, 1274,  362, 1276,  364, 1276,  364, 514,  362, 514,  360, 514,  362, 514,  362, 512,  364, 510,  360, 514,  360, 518,  362, 1274,  364, 1274,  364, 1274,  364, 1274,  362, 1274,  364, 1274,  364, 1274,  366, 1276,  364, 514,  362, 514,  362, 512,  364, 512,  360, 514,  362, 512,  362, 512,  362, 516,  364, 1274,  364, 1274,  364, 1276,  362, 1274,  364, 1276,  362, 1274,  364, 1276,  362, 1280,  362, 1276,  364, 1274,  366, 512,  360, 514,  362, 1274,  364, 512,  362, 512,  362, 516,  364, 512,  362, 512,  362, 1276,  364, 1274,  364, 514,  362, 1274,  366, 1272,  366, 1278,  364, 1276,  362, 514,  360, 514,  362, 512,  360, 1274,  364, 1276,  362, 1274,  366, 1278,  362, 512,  364, 1272,  364, 1274,  364, 1276,  364, 512,  362, 514,  362, 512,  362, 516,  362, 512,  364, 510,  362, 514,  364, 510,  362, 512,  362, 512,  362, 514,  362, 516,  362, 1274,  364, 1276,  364, 1272,  364, 1276,  362, 1274,  364, 1276,  362, 1272,  366, 1276,  364, 514,  360, 514,  362, 512,  362, 512,  364, 512,  360, 512,  362, 514,  362, 516,  362, 1276,  362, 1274,  366, 1274,  364, 1274,  364, 1272,  364, 1274,  364, 1276,  362, 1280,  362, 514,  360, 514,  362, 514,  360, 512,  362, 514,  362, 512,  362, 512,  362, 516,  362, 1272,  366, 1276,  362, 1272,  364, 1274,  364, 1276,  362, 1274,  364, 1274,  364, 1278,  364, 1276,  364, 1272,  362, 514,  360, 514,  362, 514,  362, 510,  362, 514,  362, 516,  360, 514,  364, 512,  364, 1272,  366, 1276,  362, 1276,  362, 1276,  362, 1276,  362, 1276,  366};  // HITACHI_AC296
uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x98, 0x67, 0x42, 0xBD, 0x60, 0x9F, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x13, 0xEC, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

Power: ON, Temp: -- (not used in auto mode), Fan: Auto, Mode: Auto
Protocol  : HITACHI_AC296
Code      : 0x01100040BFFF00CC33926D44BB04FB00FF00FF00FF00FF00FF57A8F10E00FF00FF00FF03FC (296 Bits)
uint16_t rawData[595] = {3298, 1712,  358, 1278,  362, 516,  356, 518,  358, 514,  358, 518,  358, 516,  360, 516,  358, 520,  362, 514,  358, 516,  360, 514,  362, 514,  360, 1280,  358, 518,  358, 514,  362, 518,  360, 516,  358, 516,  358, 516,  360, 516,  358, 516,  358, 518,  358, 516,  360, 518,  362, 516,  358, 514,  360, 514,  360, 516,  360, 516,  358, 516,  362, 1280,  356, 520,  360, 1276,  362, 1276,  360, 1282,  360, 1280,  356, 1280,  358, 1278,  362, 514,  362, 1280,  360, 1280,  360, 1278,  358, 1280,  358, 1280,  358, 1278,  360, 1280,  358, 1278,  360, 1282,  360, 514,  360, 514,  362, 516,  356, 516,  362, 514,  360, 516,  358, 516,  358, 520,  360, 516,  358, 516,  362, 1276,  360, 1278,  360, 514,  358, 516,  360, 1278,  360, 1282,  360, 1276,  362, 1278,  360, 514,  358, 518,  358, 1278,  360, 1278,  360, 514,  360, 518,  360, 516,  358, 1280,  358, 516,  360, 516,  360, 1278,  360, 518,  356, 516,  360, 1282,  360, 1278,  362, 514,  360, 1278,  360, 1278,  360, 516,  358, 1278,  360, 1280,  358, 520,  358, 516,  358, 516,  360, 1276,  360, 516,  358, 514,  360, 514,  364, 1276,  358, 522,  358, 1278,  360, 1280,  358, 516,  360, 1278,  360, 1276,  360, 1278,  362, 514,  358, 1286,  358, 514,  358, 514,  362, 1278,  360, 514,  360, 518,  358, 516,  358, 518,  358, 518,  360, 1276,  360, 1278,  362, 514,  360, 1276,  360, 1276,  362, 1280,  358, 1276,  360, 1284,  358, 516,  358, 516,  360, 516,  360, 514,  360, 516,  358, 516,  360, 518,  356, 518,  358, 1280,  358, 1278,  362, 1276,  360, 1280,  360, 1276,  360, 1278,  362, 1278,  358, 1282,  358, 516,  358, 518,  358, 514,  360, 516,  358, 516,  360, 514,  360, 514,  358, 520,  360, 1278,  360, 1280,  358, 1280,  360, 1278,  360, 1278,  358, 1278,  360, 1278,  362, 1282,  360, 516,  360, 516,  358, 516,  360, 518,  356, 516,  358, 516,  362, 514,  358, 520,  358, 1280,  358, 1278,  362, 1276,  362, 1276,  360, 1276,  360, 1278,  360, 1278,  360, 1282,  360, 514,  362, 514,  360, 516,  360, 514,  360, 516,  360, 516,  360, 516,  358, 520,  362, 1278,  358, 1278,  362, 1276,  360, 1280,  358, 1276,  362, 1276,  362, 1278,  360, 1284,  358, 516,  358, 514,  360, 516,  360, 514,  360, 516,  360, 512,  362, 514,  360, 518,  360, 1276,  362, 1276,  362, 1278,  358, 1280,  360, 1278,  360, 1278,  360, 1276,  362, 1282,  360, 1278,  362, 1278,  362, 1276,  362, 512,  360, 1278,  362, 514,  360, 1278,  358, 520,  358, 516,  360, 514,  360, 516,  358, 1278,  362, 514,  360, 1278,  358, 516,  362, 1282,  360, 1276,  360, 516,  360, 516,  358, 518,  358, 1276,  362, 1278,  360, 1278,  360, 1284,  358, 516,  360, 1278,  362, 1276,  360, 1278,  360, 516,  360, 512,  362, 512,  362, 518,  362, 514,  362, 514,  358, 514,  360, 514,  360, 518,  358, 514,  358, 516,  360, 518,  360, 1278,  360, 1278,  360, 1276,  362, 1276,  362, 1276,  362, 1278,  358, 1278,  362, 1284,  358, 514,  362, 512,  360, 514,  362, 516,  360, 514,  360, 514,  360, 512,  362, 520,  360, 1276,  362, 1278,  362, 1276,  364, 1274,  360, 1278,  362, 1278,  360, 1278,  360, 1282,  362, 512,  360, 514,  362, 512,  362, 514,  360, 516,  362, 512,  362, 516,  360, 518,  360, 1278,  360, 1276,  362, 1278,  360, 1274,  364, 1276,  362, 1276,  360, 1278,  360, 1280,  362, 1276,  362, 1276,  364, 512,  360, 514,  362, 512,  362, 512,  362, 512,  362, 520,  358, 516,  360, 514,  360, 1276,  360, 1276,  362, 1276,  362, 1278,  360, 1278,  360, 1280,  362};  // HITACHI_AC296
uint8_t state[37] = {0x01, 0x10, 0x00, 0x40, 0xBF, 0xFF, 0x00, 0xCC, 0x33, 0x92, 0x6D, 0x44, 0xBB, 0x04, 0xFB, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x57, 0xA8, 0xF1, 0x0E, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x03, 0xFC};

@crankyoldgit
Copy link
Owner

Excellent. Thanks. I'll incorporate that soon.

@crankyoldgit crankyoldgit merged commit 434f65e into crankyoldgit:master Mar 13, 2022
crankyoldgit added a commit that referenced this pull request 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
@jeef3 jeef3 deleted the hitachi_ac296 branch March 13, 2022 21:19
crankyoldgit added a commit that referenced this pull request 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 pull request 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 crankyoldgit mentioned this pull request Mar 14, 2022
crankyoldgit added a commit that referenced this pull request 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.

@korgoth
Copy link

korgoth commented Nov 8, 2022

Guys do you think that "Swing" operation can be decoded for this protocol?

@NiKiZe
Copy link
Collaborator

NiKiZe commented Nov 8, 2022

Guys do you think that "Swing" operation can be decoded for this protocol?

Please read the FAQ if you haven't already, then consider opening a new issue, but be sure to include all required information. (You need to collect the data)

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

Successfully merging this pull request may close these issues.

Support for Hitachi RAS-70YHA3 (remote RAR-3U3)
4 participants