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

UNKNOWN Protocols and missing codes when using CommonAcControl in some protocols #1250

Closed
Shalabyer opened this issue Aug 26, 2020 · 13 comments · Fixed by #1251
Closed

UNKNOWN Protocols and missing codes when using CommonAcControl in some protocols #1250

Shalabyer opened this issue Aug 26, 2020 · 13 comments · Fixed by #1251
Assignees

Comments

@Shalabyer
Copy link

Shalabyer commented Aug 26, 2020

Library : v2.7.9

Expected behavior

What steps did you do and what should it have done?

e.g.

  1. Used CommonAcControl example in one NodeMCU and modified in it.
  2. Used another NodeMCU as a receiver with IRrecvDumpV3 to read the message.
  3. Tested more than one protocol SHARP_AC, FUJITSU_AC, SAMSUNG_AC and COOLIX with the code which all worked good for me with the same configurations and code, only changing the protocol.

Actual behavior

What steps did you do, and what did or didn't actually happen?

  1. Some protocols that stated in the code and also in the additional notes below it didn't work well for me like ARGO, TOTREC, TOSHIBA, FUJITSU_AC, LG2, DAIKIN128, DAIKIN64 and AIRWELL.

Output of raw data from IRrecvDumpV3.ino

Timestamp : 000315.414
Library : v2.7.9

Protocol : TOSHIBA_AC
Code : 0xF20D03FC0120040025 (72 Bits)
Mesg Desc.: Temp: 19C, Power: On, Mode: 4 (Fan), Fan: 0 (Auto), Turbo: Off, Econo: Off
uint16_t rawData[527] = {4424, 4308, 568, 1628, 568, 1620, 566, 1620, 570, 1616, 566, 510, 568, 508, 568, 1618, 568, 514, 566, 512, 566, 508, 568, 510, 568, 508, 568, 1618, 568, 1618, 570, 508, 568, 1620, 542, 534, 568, 510, 566, 508, 568, 510, 568, 510, 566, 510, 564, 1620, 568, 1618, 568, 1618, 568, 1618, 568, 1618, 568, 1620, 566, 1620, 568, 1616, 568, 508, 568, 512, 566, 508, 566, 510, 568, 510, 568, 508, 566, 510, 566, 510, 566, 508, 568, 1620, 566, 510, 566, 508, 568, 1618, 568, 510, 566, 510, 566, 510, 566, 508, 566, 512, 566, 510, 566, 508, 568, 510, 566, 510, 568, 508, 568, 1618, 568, 508, 568, 510, 568, 510, 568, 510, 566, 510, 566, 510, 566, 510, 566, 510, 566, 510, 566, 510, 566, 510, 566, 510, 568, 1618, 568, 510, 568, 510, 564, 1620, 568, 510, 566, 1618, 568, 7420, 4428, 4282, 568, 1618, 566, 1620, 566, 1620, 568, 1618, 566, 510, 566, 510, 566, 1618, 568, 510, 566, 510, 566, 508, 566, 512, 566, 510, 566, 1620, 568, 1620, 568, 510, 566, 1620, 568, 510, 566, 510, 566, 512, 566, 510, 566, 510, 566, 510, 566, 1618, 568, 1620, 566, 1620, 568, 1620, 568, 1618, 566, 1620, 542, 1644, 566, 1618, 568, 510, 566, 512, 566, 510, 566, 512, 564, 512, 566, 510, 566, 510, 564, 512, 566, 510, 566, 1620, 568, 510, 566, 510, 566, 1620, 568, 510, 566, 512, 566, 512, 566, 510, 564, 512, 566, 512, 566, 510, 564, 512, 564, 512, 564, 512, 564, 1620, 566, 510, 566, 512, 566, 512, 566, 510, 564, 512, 564, 512, 564, 512, 564, 514, 564, 512, 564, 514, 562, 514, 564, 512, 564, 1622, 566, 512, 564, 512, 564, 1620, 566, 512, 564, 1620, 566, 7436, 4400, 4310, 566, 1622, 566, 1620, 568, 1618, 568, 1620, 566, 512, 564, 512, 566, 1620, 566, 512, 564, 512, 564, 512, 564, 512, 564, 512, 564, 1620, 566, 1620, 566, 510, 564, 1622, 566, 512, 566, 510, 564, 514, 564, 514, 562, 514, 562, 538, 538, 514, 562, 1624, 564, 1622, 566, 1620, 566, 1620, 566, 1620, 566, 1620, 566, 1620, 566, 1622, 566, 514, 562, 514, 562, 514, 562, 1620, 564, 514, 562, 538, 540, 536, 538, 538, 538, 1624, 564, 512, 562, 538, 540, 538, 538, 538, 538, 538, 538, 538, 538, 1622, 564, 516, 562, 536, 538, 538, 538, 1622, 564, 514, 562, 538, 538, 538, 538, 1622, 564, 1622, 564, 7420, 4396, 4312, 566, 1620, 566, 1620, 566, 1620, 566, 1622, 566, 512, 564, 514, 562, 1622, 564, 540, 538, 538, 540, 536, 538, 538, 538, 538, 538, 1622, 564, 1622, 564, 538, 538, 1624, 564, 538, 538, 538, 538, 538, 538, 540, 538, 538, 538, 540, 538, 540, 538, 1624, 564, 1622, 564, 1624, 564, 1620, 564, 1622, 564, 1622, 564, 1622, 564, 1622, 564, 540, 538, 538, 538, 538, 536, 1624, 564, 540, 536, 538, 538, 540, 536, 540, 536, 1626, 564, 538, 538, 538, 536, 540, 536, 540, 536, 540, 536, 538, 536, 1624, 562, 540, 536, 538, 538, 540, 536, 1624, 562, 538, 538, 540, 536, 540, 536, 1624, 562, 1624, 562}; // TOSHIBA_AC
uint8_t state[9] = {0xF2, 0x0D, 0x03, 0xFC, 0x01, 0x20, 0x04, 0x00, 0x25};

Timestamp : 000320.982
Library : v2.7.9

Protocol : TOSHIBA_AC
Code : 0xF20D03FC0120040025 (72 Bits)
Mesg Desc.: Temp: 19C, Power: On, Mode: 4 (Fan), Fan: 0 (Auto), Turbo: Off, Econo: Off
uint16_t rawData[681] = {4414, 4294, 568, 1598, 564, 1644, 544, 1642, 542, 1644, 566, 510, 566, 510, 566, 1618, 570, 512, 568, 510, 568, 510, 568, 508, 566, 510, 568, 1618, 568, 1618, 568, 510, 568, 1618, 568, 508, 568, 510, 592, 484, 568, 508, 568, 510, 568, 510, 566, 1618, 568, 1620, 566, 1620, 568, 1618, 568, 1618, 568, 1618, 568, 1620, 568, 1620, 568, 508, 566, 512, 566, 510, 568, 508, 566, 510, 568, 510, 568, 508, 568, 510, 568, 508, 568, 1618, 566, 512, 566, 510, 566, 1618, 568, 510, 568, 508, 566, 510, 568, 510, 566, 510, 566, 510, 568, 510, 568, 508, 568, 510, 566, 510, 566, 1618, 568, 524, 566, 512, 566, 510, 568, 508, 566, 512, 566, 510, 566, 510, 566, 510, 566, 510, 566, 512, 566, 510, 568, 508, 568, 1618, 566, 510, 568, 508, 566, 1618, 568, 510, 566, 1620, 568, 7418, 4426, 4282, 568, 1620, 568, 1620, 566, 1618, 568, 1618, 568, 510, 568, 508, 566, 1618, 568, 510, 568, 508, 566, 510, 566, 510, 568, 508, 566, 1620, 568, 1618, 568, 510, 566, 1620, 568, 510, 566, 510, 566, 510, 566, 510, 568, 508, 566, 510, 566, 1620, 566, 1620, 566, 1620, 568, 1620, 566, 1620, 568, 1618, 568, 1618, 566, 1620, 566, 510, 566, 512, 566, 510, 566, 510, 566, 512, 564, 512, 564, 512, 566, 510, 566, 510, 566, 1622, 566, 510, 566, 510, 566, 1620, 566, 510, 566, 510, 566, 512, 566, 510, 566, 512, 564, 512, 564, 512, 564, 512, 566, 512, 564, 514, 564, 1620, 566, 510, 566, 512, 564, 512, 564, 512, 562, 514, 564, 514, 562, 514, 562, 514, 564, 514, 562, 516, 562, 514, 562, 514, 562, 1622, 566, 512, 564, 512, 564, 1622, 566, 512, 564, 1622, 566, 7432, 4400, 4310, 568, 1620, 566, 1622, 566, 1620, 566, 1620, 568, 510, 564, 512, 564, 1620, 566, 512, 566, 512, 564, 514, 562, 514, 562, 514, 562, 1622, 566, 1620, 566, 512, 564, 1620, 566, 510, 564, 514, 564, 514, 562, 512, 562, 538, 538, 516, 562, 538, 538, 1624, 566, 1620, 566, 1620, 566, 1622, 566, 1620, 566, 1620, 566, 1620, 568, 1618, 566, 512, 566, 512, 564, 536, 540, 1620, 566, 514, 562, 538, 540, 536, 540, 538, 538, 1622, 564, 514, 562, 538, 538, 538, 538, 536, 538, 538, 538, 538, 538, 1622, 564, 516, 562, 538, 538, 538, 538, 1622, 564, 536, 538, 538, 538, 538, 538, 1622, 564, 1622, 564, 7420, 4396, 4314, 566, 1622, 564, 1620, 566, 1622, 564, 1622, 564, 512, 562, 538, 538, 1622, 564, 538, 538, 538, 538, 538, 538, 538, 538, 540, 536, 1622, 564, 1622, 564, 538, 538, 1624, 564, 536, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 536, 1626, 564, 1622, 564, 1622, 564, 1622, 564, 1624, 564, 1622, 564, 1622, 564, 1622, 564, 540, 538, 538, 538, 538, 538, 1624, 564, 538, 536, 540, 536, 540, 536, 540, 536, 1624, 562, 540, 536, 540, 536, 540, 536, 540, 536, 540, 536, 540, 536, 1626, 562, 540, 536, 540, 536, 540, 536, 1624, 562, 540, 536, 540, 536, 540, 536, 1624, 562, 1626, 562, 7732, 2070, 2300, 182, 368, 476, 7928, 580, 636, 550, 1582, 574, 640, 492, 694, 518, 1612, 572, 644, 516, 672, 518, 670, 518, 646, 542, 644, 544, 1610, 544, 670, 518, 1612, 520, 1638, 572, 642, 516, 672, 518, 1610, 520, 1638, 546, 668, 518, 1612, 520, 696, 518, 1612, 520, 694, 520, 670, 518, 1612, 520, 696, 518, 670, 518, 646, 542, 646, 462, 730, 544, 644, 544, 646, 544, 644, 544, 644, 544, 644, 542, 644, 544, 644, 544, 644, 518, 670, 542, 646, 542, 644, 544, 644, 542, 646, 542, 646, 542, 670, 520, 668, 518, 670, 520, 644, 542, 646, 542, 670, 518, 670, 518, 670, 518, 646, 542, 670, 518, 646, 544, 670, 518, 670, 518, 646, 542, 670, 492, 694, 518, 670, 518, 670, 494, 694, 518, 646, 544, 644, 518, 696, 492, 1638, 544, 1612, 518, 694, 518, 1612, 518, 694, 518, 670, 518, 6234, 520}; // TOSHIBA_AC
uint8_t state[9] = {0xF2, 0x0D, 0x03, 0xFC, 0x01, 0x20, 0x04, 0x00, 0x25};

Timestamp : 000326.256
Library : v2.7.9

Protocol : TROTEC
Code : 0x123423010000000024 (72 Bits)
Mesg Desc.: Power: Off, Mode: 3 (Fan), Temp: 19C, Fan: 2 (Medium), Sleep: Off
uint16_t rawData[343] = {5978, 7348, 636, 554, 608, 1546, 610, 578, 610, 578, 610, 1546, 610, 578, 610, 578, 608, 580, 608, 580, 610, 580, 608, 1546, 610, 578, 608, 1546, 610, 1546, 610, 578, 608, 580, 608, 1548, 610, 1546, 608, 580, 608, 580, 608, 580, 608, 1546, 608, 580, 608, 580, 608, 1548, 634, 554, 608, 580, 608, 580, 608, 580, 612, 584, 608, 580, 606, 582, 606, 582, 608, 580, 608, 580, 606, 582, 608, 580, 606, 582, 606, 582, 608, 580, 620, 568, 606, 582, 606, 582, 606, 582, 606, 582, 606, 582, 606, 582, 606, 582, 606, 582, 606, 582, 608, 580, 606, 582, 580, 606, 606, 582, 606, 582, 606, 582, 582, 608, 606, 582, 606, 580, 606, 582, 606, 582, 606, 582, 606, 582, 604, 584, 604, 584, 580, 608, 606, 1550, 582, 606, 606, 582, 606, 1548, 582, 606, 582, 608, 580, 6196, 610, 1818, 6420, 3290, 408, 898, 384, 922, 386, 2220, 384, 2222, 384, 922, 410, 2196, 410, 898, 384, 2222, 384, 2222, 384, 922, 408, 2198, 408, 898, 384, 2222, 384, 2222, 384, 2222, 384, 2222, 384, 922, 384, 922, 384, 922, 408, 900, 384, 2222, 384, 2222, 384, 922, 408, 898, 408, 2198, 384, 922, 384, 2222, 384, 924, 406, 900, 410, 2196, 384, 922, 384, 2224, 408, 898, 408, 2198, 384, 922, 384, 922, 384, 922, 408, 898, 408, 898, 408, 898, 384, 922, 384, 924, 384, 922, 384, 922, 408, 898, 408, 900, 408, 898, 382, 924, 408, 900, 382, 924, 382, 922, 384, 922, 382, 924, 382, 924, 384, 922, 384, 924, 384, 922, 408, 900, 382, 924, 382, 922, 382, 924, 384, 922, 384, 922, 384, 924, 384, 924, 406, 900, 382, 922, 384, 922, 382, 924, 382, 924, 384, 922, 382, 924, 382, 924, 384, 924, 382, 922, 382, 924, 382, 924, 384, 2222, 408, 898, 384, 924, 382, 924, 408, 2198, 408, 898, 400, 2208, 408, 898, 382, 2222, 384, 2222, 382, 924, 408, 900, 406, 2198, 384, 922, 384, 922, 384, 922, 408, 900, 384, 922, 384}; // TROTEC
uint8_t state[9] = {0x12, 0x34, 0x23, 0x01, 0x00, 0x00, 0x00, 0x00, 0x24};

Timestamp : 000331.587
Library : v2.7.9

Protocol : ARGO
Code : 0xACF530A5020000000000EA01 (96 Bits)
Mesg Desc.: Power: Off, Mode: 6 (UNKNOWN), Fan: 0 (Auto), Temp: 25C, Room Temp: 25C, Max: Off, IFeel: Off, Night: Off
uint16_t rawData[387] = {6404, 3302, 410, 898, 408, 898, 410, 2196, 412, 2196, 410, 896, 384, 2222, 408, 898, 408, 2198, 410, 2196, 408, 898, 384, 2222, 408, 898, 410, 2196, 410, 2196, 384, 2222, 408, 2198, 410, 898, 434, 872, 410, 896, 408, 898, 408, 2198, 410, 2196, 410, 898, 408, 898, 384, 2222, 384, 922, 410, 2196, 410, 898, 382, 924, 406, 2198, 384, 922, 408, 2198, 384, 922, 408, 2198, 408, 898, 410, 898, 408, 898, 408, 898, 410, 896, 408, 898, 408, 898, 408, 896, 384, 922, 408, 898, 410, 898, 408, 898, 408, 898, 434, 874, 408, 898, 410, 896, 402, 906, 382, 922, 410, 898, 410, 896, 384, 922, 408, 900, 410, 898, 408, 898, 384, 922, 408, 898, 410, 898, 408, 898, 384, 922, 408, 900, 408, 898, 408, 898, 382, 922, 384, 922, 408, 898, 408, 896, 384, 922, 384, 924, 410, 898, 408, 898, 408, 898, 434, 872, 410, 898, 408, 898, 410, 898, 408, 900, 410, 896, 408, 2196, 408, 898, 384, 2222, 410, 898, 408, 2198, 384, 2222, 408, 2198, 410, 2198, 410, 898, 410, 898, 408, 898, 408, 898, 410, 896, 410, 898, 384, 1126, 6420, 3288, 384, 922, 410, 898, 410, 2196, 410, 2196, 384, 922, 382, 2222, 408, 898, 410, 2198, 384, 2222, 384, 922, 410, 2196, 410, 898, 384, 2222, 408, 2198, 384, 2222, 410, 2198, 410, 898, 384, 922, 382, 922, 410, 898, 410, 2196, 384, 2222, 408, 900, 384, 922, 410, 2196, 410, 898, 408, 2198, 382, 924, 408, 898, 410, 2196, 410, 898, 384, 2222, 384, 922, 410, 2196, 410, 898, 408, 898, 384, 922, 408, 902, 406, 898, 384, 922, 384, 922, 410, 898, 408, 898, 408, 898, 408, 898, 382, 922, 410, 898, 384, 924, 384, 922, 410, 898, 410, 898, 408, 898, 384, 922, 410, 898, 408, 898, 384, 924, 384, 922, 408, 898, 408, 900, 384, 922, 408, 898, 384, 922, 408, 898, 384, 924, 384, 922, 384, 924, 410, 896, 384, 922, 384, 922, 384, 922, 408, 898, 384, 922, 382, 924, 384, 922, 384, 922, 384, 922, 384, 922, 384, 2222, 410, 898, 408, 900, 408, 898, 384, 2222, 384, 922, 408, 2198, 384, 922, 384, 2222, 382, 2222, 408, 900, 408, 898, 384, 2222, 384, 922, 408, 898, 408, 898, 384, 922, 384, 922, 410}; // ARGO
uint8_t state[12] = {0xAC, 0xF5, 0x30, 0xA5, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEA, 0x01};

Timestamp : 000336.745
Library : v2.7.9

Protocol : UNKNOWN
Code : 0x3896ED4E (97 Bits)
uint16_t rawData[193] = {6406, 3300, 412, 896, 410, 898, 408, 2198, 384, 2222, 408, 900, 408, 2198, 434, 872, 410, 2196, 384, 2222, 410, 898, 410, 2196, 408, 898, 408, 2198, 384, 2222, 410, 2196, 434, 2172, 408, 898, 382, 922, 384, 922, 410, 898, 384, 2222, 408, 2198, 408, 898, 410, 898, 384, 2222, 384, 922, 408, 2198, 410, 898, 408, 898, 408, 2198, 384, 922, 408, 2198, 410, 898, 408, 2198, 410, 896, 384, 922, 408, 898, 410, 896, 384, 922, 408, 898, 434, 872, 410, 898, 408, 898, 408, 898, 410, 898, 410, 898, 384, 922, 408, 898, 410, 898, 410, 898, 408, 898, 382, 922, 410, 898, 434, 874, 406, 898, 384, 924, 410, 896, 410, 898, 384, 922, 384, 922, 410, 896, 410, 898, 408, 898, 382, 924, 410, 898, 410, 896, 408, 898, 408, 896, 408, 898, 434, 874, 408, 898, 408, 898, 410, 898, 408, 898, 408, 898, 384, 922, 410, 898, 384, 924, 382, 922, 384, 922, 410, 896, 410, 2196, 408, 898, 384, 2222, 384, 922, 410, 2198, 410, 2198, 384, 2224, 408, 2198, 384, 922, 410, 898, 410, 898, 384, 922, 384, 922, 408, 898, 410}; // UNKNOWN 3896ED4E

Timestamp : 000339.198
Library : v2.7.9

Protocol : TOSHIBA_AC
Code : 0xF20D03FC0120040025 (72 Bits)
Mesg Desc.: Temp: 19C, Power: On, Mode: 4 (Fan), Fan: 0 (Auto), Turbo: Off, Econo: Off
uint16_t rawData[527] = {4410, 4290, 568, 1620, 568, 1618, 568, 1620, 592, 1594, 568, 508, 566, 510, 568, 1618, 568, 514, 566, 510, 566, 510, 568, 508, 566, 510, 568, 1616, 568, 1618, 566, 510, 566, 1620, 568, 508, 566, 510, 568, 510, 568, 508, 568, 508, 592, 486, 566, 1618, 568, 1620, 568, 1618, 568, 1618, 568, 1620, 568, 1618, 568, 1618, 566, 1620, 566, 508, 570, 508, 568, 508, 568, 510, 568, 508, 568, 510, 566, 510, 566, 510, 568, 510, 566, 1620, 568, 508, 566, 510, 566, 1618, 568, 510, 566, 510, 568, 508, 568, 510, 566, 512, 566, 510, 566, 510, 568, 510, 568, 508, 566, 510, 568, 1618, 568, 510, 566, 510, 568, 510, 568, 508, 568, 510, 568, 510, 566, 510, 566, 510, 566, 510, 566, 512, 566, 510, 566, 510, 566, 1620, 566, 510, 566, 508, 568, 1618, 568, 510, 566, 1620, 568, 7418, 4402, 4306, 550, 1638, 568, 1618, 566, 1620, 542, 1644, 568, 510, 568, 510, 566, 1618, 568, 510, 566, 510, 566, 510, 566, 510, 566, 510, 566, 1620, 568, 1618, 568, 508, 566, 1622, 566, 510, 566, 510, 566, 510, 564, 512, 566, 510, 566, 512, 566, 1618, 566, 1622, 568, 1618, 568, 1618, 568, 1618, 568, 1620, 568, 1618, 566, 1620, 566, 512, 566, 512, 566, 510, 566, 510, 566, 510, 566, 510, 566, 510, 566, 510, 566, 512, 564, 1622, 566, 512, 566, 510, 566, 1620, 566, 512, 566, 510, 566, 512, 566, 512, 566, 512, 566, 512, 566, 512, 564, 512, 564, 512, 566, 512, 564, 1620, 566, 512, 566, 512, 564, 512, 566, 512, 564, 514, 564, 514, 564, 512, 564, 512, 564, 512, 564, 514, 564, 512, 564, 514, 588, 1596, 566, 512, 564, 512, 564, 1620, 566, 510, 564, 1620, 566, 7434, 4400, 4310, 568, 1620, 566, 1620, 566, 1620, 566, 1620, 566, 510, 566, 512, 564, 1620, 566, 512, 566, 512, 564, 514, 562, 512, 564, 514, 562, 1620, 566, 1620, 566, 512, 564, 1622, 566, 510, 564, 514, 562, 516, 562, 512, 562, 538, 540, 538, 538, 536, 538, 1624, 566, 1620, 566, 1620, 566, 1620, 566, 1620, 566, 1618, 566, 1620, 566, 1620, 566, 512, 564, 512, 564, 514, 562, 1620, 566, 512, 564, 512, 564, 514, 562, 514, 562, 1622, 564, 514, 562, 514, 562, 514, 562, 538, 538, 538, 538, 538, 538, 1622, 564, 516, 562, 538, 538, 538, 538, 1624, 564, 514, 562, 538, 538, 538, 538, 1622, 564, 1622, 564, 7420, 4398, 4312, 568, 1620, 566, 1620, 566, 1620, 566, 1620, 566, 512, 564, 514, 562, 1622, 564, 514, 562, 538, 538, 538, 538, 538, 538, 538, 538, 1624, 564, 1622, 564, 538, 540, 1622, 564, 514, 562, 538, 538, 538, 538, 540, 538, 538, 538, 538, 536, 540, 538, 1624, 564, 1622, 564, 1622, 564, 1622, 564, 1620, 564, 1622, 564, 1622, 564, 1622, 564, 540, 538, 538, 538, 538, 538, 1624, 564, 540, 536, 540, 538, 538, 536, 540, 536, 1626, 564, 538, 538, 540, 536, 540, 538, 540, 536, 540, 536, 540, 536, 1624, 564, 540, 538, 538, 538, 540, 536, 1624, 562, 540, 538, 540, 536, 540, 536, 1626, 562, 1622, 562}; // TOSHIBA_AC
uint8_t state[9] = {0xF2, 0x0D, 0x03, 0xFC, 0x01, 0x20, 0x04, 0x00, 0x25};

And Loop Goes on the exactly same with the exactly same UNKNOWN protocol raw code

Example code used

#include <Arduino.h>
#include <IRremoteESP8266.h>
#include <IRac.h>
#include <IRutils.h>

const uint16_t kIrLed = 5;  // The ESP GPIO pin to use that controls the IR LED.
IRac ac(kIrLed);  // Create a A/C object using GPIO to sending messages with.

void setup() {
  Serial.begin(115200);
  delay(200);

  // Set up what we want to send.
  // See state_t, opmode_t, fanspeed_t, swingv_t, & swingh_t in IRsend.h for
  // all the various options.
  ac.next.protocol = decode_type_t::DAIKIN;  // Set a protocol to use.
  ac.next.model = 1;  // Some A/Cs have different models. Try just the first.
  ac.next.mode = stdAc::opmode_t::kCool;  // Run in cool mode initially.
  ac.next.celsius = true;  // Use Celsius for temp units. False = Fahrenheit
  ac.next.degrees = 25;  // 25 degrees.
  ac.next.fanspeed = stdAc::fanspeed_t::kMedium;  // Start the fan at medium.
  ac.next.swingv = stdAc::swingv_t::kOff;  // Don't swing the fan up or down.
  ac.next.swingh = stdAc::swingh_t::kOff;  // Don't swing the fan left or right.
  ac.next.light = true;  // Turn off any LED/Lights/Display that we can.
  ac.next.beep = false;  // Turn off any beep from the A/C if we can.
  ac.next.econo = false;  // Turn off any economy modes if we can.
  ac.next.filter = false;  // Turn off any Ion/Mold/Health filters if we can.
  ac.next.turbo = false;  // Don't use any turbo/powerful/etc modes.
  ac.next.quiet = false;  // Don't use any quiet/silent/etc modes.
  ac.next.sleep = -1;  // Don't set any sleep time or modes.
  ac.next.clean = false;  // Turn off any Cleaning options if we can.
  ac.next.clock = -1;  // Don't set any current time if we can avoid it.
  ac.next.power = false;  // Initially start with the unit off.

  Serial.println("Try to turn on & off every supported A/C type ...");
}

void loop() {
  delay(2000);
 ac.next.protocol = strToDecodeType("TOSHIBA_AC");  // Change the protocol used.
      ac.next.power = true;  // We want to turn on the A/C unit.
  ac.next.mode =IRac::strToOpmode("Fan", stdAc::opmode_t::kFan);  // Run in cool mode initially.
  ac.next.degrees = 19;  
  ac.next.model = IRac::strToModel("",1);
  ac.next.fanspeed = IRac::strToFanspeed("Auto",stdAc::fanspeed_t::kAuto);
      Serial.println("Sending a message to turn ON the A/C unit.");
      ac.sendAc();  // Have the IRac class create and send a message.
      delay(5000);  // Wait 5 seconds.
      ac.next.power = IRac::strToBool("Off",false);  
      Serial.println("Send a message to turn OFF the A/C unit.");
      ac.sendAc();  // Send the message.
      //------------------
       ac.next.protocol =strToDecodeType("TROTEC") ;  // Change the protocol used.
      ac.next.power = true;  // We want to turn on the A/C unit.
  ac.next.mode =IRac::strToOpmode("Fan", stdAc::opmode_t::kFan);  // Run in cool mode initially.
  ac.next.degrees = 19;  
  ac.next.model = 1;
  ac.next.fanspeed = IRac::strToFanspeed("Auto",stdAc::fanspeed_t::kAuto);
      Serial.println("Sending a message to turn ON the A/C unit.");
      ac.sendAc();  // Have the IRac class create and send a message.
      delay(5000);  // Wait 5 seconds.
      ac.next.power = IRac::strToBool("Off",false);  
      Serial.println("Send a message to turn OFF the A/C unit.");
      ac.sendAc();  // Send the message.
      //------------------
   ac.next.protocol = strToDecodeType("ARGO");  // Change the protocol used.
      ac.next.power = true;  // We want to turn on the A/C unit.
  ac.next.mode =IRac::strToOpmode("Fan", stdAc::opmode_t::kFan);  // Run in cool mode initially.
  ac.next.degrees = 25;  
  ac.next.model = 1;
  ac.next.fanspeed = IRac::strToFanspeed("Auto",stdAc::fanspeed_t::kAuto);
      Serial.println("Sending a message to turn ON the A/C unit.");
      ac.sendAc();  // Have the IRac class create and send a message.
      delay(5000);  // Wait 5 seconds.
      ac.next.power = IRac::strToBool("Off",false);  
      Serial.println("Send a message to turn OFF the A/C unit.");
      ac.sendAc();  // Send the message.
    //----------------
    ac.next.protocol = strToDecodeType("ARGO");  // Change the protocol used.
      ac.next.power = true;  // We want to turn on the A/C unit.
  ac.next.mode =IRac::strToOpmode("Fan", stdAc::opmode_t::kFan);  // Run in cool mode initially.
  ac.next.degrees = 25;  
  ac.next.model = 1;
  ac.next.fanspeed = IRac::strToFanspeed("Auto",stdAc::fanspeed_t::kAuto);
      Serial.println("Sending a message to turn ON the A/C unit.");
      ac.sendAc();  // Have the IRac class create and send a message.
      delay(5000);  // Wait 5 seconds.
      ac.next.power = IRac::strToBool("Off",false);  
      Serial.println("Send a message to turn OFF the A/C unit.");
      ac.sendAc();  // Send the message.
    //----------------
 
  
  Serial.println("Starting from the begining again ...");
}

Additional info

When i tried to put a delay of 5 seconds between protocols (i.e, just before //---------------- line) i got nothing but a stream of unknown signals with of course their delays , so can someone explain why dose that occur!?, because in my code i want to use any AC signal that come from the user at any time during the loop ..
One last Important thing is when i tried to work with the code as it is (i.e, default example of CommonAcControl) it all works so fine except of the following errors:
Note: All reads are gotten from the another device as stated before.

ARGO ON and OFF codes are 0xBC8DBAA6 and 0x296F9B86 are readed but with UNKNOWN Protocols
TOTREC ON and OFF codes are 0x7B0C9C1D  and  0xAEF02725 are readed but with UNKNOWN Protocols
TOSHIBA OFF  gives the same as ON which is 0xF20D03FC0180810000
FUJITSU_AC ON is readed but with UNKNOWN Protocol  0x9297C062 
LG2 is readed as LG with codes 0x8800A2C and 0x88C0051
DAIKIN128 OFF code is the same as ON code 0x164200000000250CA10000000000000B
DAIKIN64 OFF is the same as ON code 0xEC25161600004216
AIRWELL OFF code is same as ON  code 0x250500002

IMPORTANT NOTE: the past errors listed from the default CommonAcControl is gathered from 6 repeats of the code loop and they are all the same (i.e, made sure that these are not just random IR signals,, they are repeated 6 times.)

Circuit diagram and hardware used (if applicable)

The sender one is ESP8266-12E and the RX one is NodeMCU

Has this library/code previously worked as expected for you?

No

@crankyoldgit
Copy link
Owner

crankyoldgit commented Aug 26, 2020

Re: ARGO. It's not the most well supported/tested protocol.
see:

/// @note This decoder is based soley off sendArgo(). We have no actual captures
/// to test this against. If you have one of these units, please let us know.

IIRC someone contributed the send routine and protocol structure/code. I've no ability to verify that actually even works. Can you please supply some raw captures from the actual remote?

When i tried to put a delay of 5 seconds between protocols (i.e, just before //---------------- line) i got nothing but a stream of unknown signals with of course their delays , so can someone explain why dose that occur!?, because in my code i want to use any AC signal that come from the user at any time during the loop ..

That sounds plain weird. Can you provide some sample rawData[] for those cases (and what code/state/data you think produced the message)?

TOSHIBA OFF gives the same as ON which is 0xF20D03FC0180810000

Hmmm. Toshiba has an odd-ball power on/off style. Will need to look into your code and how the library reacts further to see what may be going on.

TROTEC ON and OFF codes are 0x7B0C9C1D and 0xAEF02725 are readed but with UNKNOWN Protocols
FUJITSU_AC ON is readed but with UNKNOWN Protocol 0x9297C062
LG2 is readed as LG with codes 0x8800A2C and 0x88C0051

Will need to look into these separately. Possibly separate issues are warranted for each protocol.

DAIKIN128 OFF code is the same as ON code 0x164200000000250CA10000000000000B

DAIKIN128 uses a Power toggle message. so this is expected.

DAIKIN64 OFF is the same as ON code 0xEC25161600004216

DAIKIN64 uses a Power toggle message. so this is expected.

AIRWELL OFF code is same as ON code 0x250500002

AIRWELL uses a Power toggle message. so this is expected.

@crankyoldgit
Copy link
Owner

ac.next.mode =IRac::strToOpmode("Fan", stdAc::opmode_t::kFan); // Run in cool mode initially.

Um ... for a lot of these IRac::strToBlah()s you can just do:
ac.next.mode = stdAc::opmode_t::kFan;

@Shalabyer
Copy link
Author

IIRC someone contributed the send routine and protocol structure/code. I've no ability to verify that actually even works. Can you please supply some raw captures from the actual remote?
Iam sorry I don't have any of these but i was testing for future use.

That sounds plain weird. Can you provide some sample rawData[] for those cases (and what code/state/data you think produced the message)?

Timestamp : 000008.878
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0x9FA3CDF5 (266 Bits)
uint16_t rawData[531] = {98, 262,  132, 18334,  4438, 4288,  542, 1648,  540, 1646,  542, 1644,  542, 1646,  540, 536,  566, 510,  566, 1620,  566, 520,  568, 508,  542, 534,  568, 510,  568, 508,  568, 1618,  568, 1618,  568, 508,  542, 1646,  542, 536,  568, 508,  568, 510,  568, 508,  592, 484,  568, 510,  568, 1618,  566, 1622,  542, 1644,  542, 1646,  566, 1618,  542, 1644,  568, 1618,  544, 1644,  540, 536,  568, 510,  568, 508,  568, 508,  568, 508,  592, 484,  568, 510,  568, 510,  566, 510,  566, 1620,  542, 534,  566, 510,  568, 1618,  568, 508,  568, 508,  568, 510,  568, 508,  568, 512,  566, 510,  644, 428,  570, 510,  568, 510,  568, 508,  568, 1618,  568, 508,  568, 510,  566, 510,  568, 508,  566, 510,  568, 508,  568, 508,  568, 508,  568, 510,  568, 510,  544, 534,  568, 508,  568, 1618,  566, 510,  568, 508,  568, 1618,  606, 472,  568, 1622,  568, 7418,  4430, 4280,  570, 1618,  542, 1644,  568, 1618,  568, 1618,  542, 536,  566, 508,  542, 1644,  568, 510,  568, 510,  568, 508,  568, 510,  568, 508,  568, 1620,  566, 1620,  568, 508,  568, 1620,  568, 510,  568, 508,  568, 510,  568, 510,  568, 508,  568, 510,  568, 1618,  566, 1622,  566, 1620,  566, 1620,  568, 1618,  544, 1644,  568, 1618,  568, 1618,  566, 510,  568, 510,  568, 508,  568, 510,  566, 510,  566, 510,  566, 510,  542, 534,  568, 510,  566, 1620,  568, 510,  566, 510,  566, 1620,  566, 508,  568, 510,  568, 510,  568, 508,  566, 512,  566, 510,  568, 508,  566, 510,  566, 510,  566, 510,  566, 1618,  568, 510,  566, 512,  566, 570,  522, 496,  566, 508,  568, 510,  566, 510,  568, 510,  566, 512,  564, 512,  566, 510,  566, 510,  566, 1620,  566, 510,  566, 510,  566, 1618,  568, 510,  564, 1620,  566, 7436,  4402, 4308,  566, 1620,  568, 1620,  566, 1620,  568, 1618,  568, 510,  566, 510,  566, 1618,  568, 512,  566, 510,  566, 508,  568, 510,  566, 512,  566, 1618,  568, 1618,  568, 510,  566, 1620,  568, 510,  566, 510,  566, 510,  566, 510,  566, 512,  566, 510,  564, 512,  564, 1620,  568, 1618,  566, 1620,  566, 1620,  568, 1620,  566, 1620,  566, 1620,  568, 1620,  566, 512,  566, 510,  566, 508,  566, 1620,  566, 510,  566, 510,  566, 512,  566, 510,  566, 1620,  568, 510,  566, 510,  566, 512,  564, 512,  566, 510,  566, 512,  566, 1620,  566, 512,  566, 512,  564, 512,  566, 1620,  566, 510,  566, 510,  566, 512,  564, 1620,  568, 1618,  566, 7420,  4400, 4308,  568, 1618,  568, 1620,  566, 1620,  566, 1618,  566, 512,  566, 510,  566, 1620,  566, 512,  566, 512,  564, 510,  566, 512,  566, 512,  564, 1620,  566, 1620,  566, 510,  564, 1622,  568, 510,  566, 510,  566, 512,  564, 512,  564, 512,  564, 514,  564, 512,  562, 1622,  566, 1620,  566, 1620,  566, 1620,  568, 1618,  566, 1620,  564, 1620,  566, 1620,  566, 512,  566, 510,  564, 512,  564, 1620,  566, 510,  566, 512,  566, 512,  564, 512,  564, 1622,  566, 512,  564, 514,  562, 514,  564, 512,  564, 512,  564, 512,  562, 1622,  564, 514,  564, 514,  564, 512,  562, 1622,  566, 512,  564, 514,  562, 514,  562, 1622,  566, 1620,  566};  // UNKNOWN 9FA3CDF5


Timestamp : 000014.319
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0x19A12C55 (265 Bits)
uint16_t rawData[529] = {94, 33906,  4412, 4284,  520, 1668,  518, 1668,  520, 1666,  518, 1668,  518, 558,  542, 536,  540, 1644,  542, 540,  542, 536,  540, 536,  568, 508,  566, 510,  566, 1620,  542, 1644,  542, 536,  566, 1620,  542, 534,  542, 536,  542, 534,  568, 508,  566, 510,  566, 510,  542, 1644,  542, 1646,  542, 1644,  542, 1644,  540, 1646,  542, 1644,  540, 1646,  518, 1668,  542, 536,  566, 512,  542, 534,  566, 508,  542, 534,  568, 508,  568, 508,  568, 510,  570, 506,  542, 1646,  542, 536,  542, 536,  566, 1620,  542, 536,  542, 532,  566, 510,  542, 534,  568, 510,  566, 510,  568, 510,  568, 508,  568, 508,  568, 510,  566, 1620,  542, 536,  542, 534,  568, 508,  568, 510,  566, 510,  604, 474,  542, 534,  542, 534,  542, 534,  566, 512,  568, 508,  568, 508,  568, 1620,  566, 510,  566, 508,  566, 1620,  566, 510,  542, 1644,  542, 7444,  4428, 4280,  542, 1646,  542, 1644,  542, 1644,  542, 1646,  542, 536,  542, 536,  566, 1618,  568, 510,  566, 508,  568, 510,  542, 534,  566, 510,  542, 1644,  544, 1642,  542, 534,  568, 1620,  568, 508,  542, 534,  542, 534,  566, 510,  568, 508,  568, 508,  568, 1618,  542, 1646,  542, 1644,  542, 1644,  542, 1644,  542, 1644,  542, 1644,  542, 1644,  568, 510,  566, 512,  566, 510,  566, 510,  566, 510,  568, 510,  568, 508,  566, 510,  566, 510,  566, 1620,  568, 510,  566, 510,  566, 1620,  566, 510,  544, 532,  604, 474,  566, 512,  566, 510,  566, 508,  566, 510,  568, 508,  568, 508,  566, 510,  568, 1616,  568, 508,  566, 512,  566, 510,  568, 508,  568, 510,  568, 508,  566, 510,  566, 510,  568, 508,  568, 512,  566, 510,  568, 508,  566, 1618,  566, 510,  566, 510,  566, 1620,  568, 510,  568, 1618,  568, 7432,  4402, 4306,  544, 1644,  566, 1618,  544, 1644,  542, 1644,  568, 508,  566, 510,  542, 1644,  568, 510,  568, 508,  568, 510,  566, 510,  566, 510,  566, 1620,  566, 1618,  542, 534,  566, 1622,  566, 510,  540, 536,  568, 510,  566, 510,  566, 510,  566, 510,  566, 510,  566, 1620,  568, 1620,  566, 1620,  568, 1620,  566, 1620,  566, 1620,  568, 1620,  542, 1642,  568, 512,  598, 478,  568, 510,  566, 1618,  544, 534,  566, 512,  566, 510,  566, 510,  566, 1620,  568, 508,  566, 510,  566, 512,  542, 534,  566, 512,  566, 510,  566, 1620,  542, 536,  566, 512,  566, 510,  566, 1620,  568, 510,  566, 512,  566, 510,  566, 1618,  566, 1620,  566, 7420,  4402, 4308,  568, 1620,  542, 1642,  568, 1618,  566, 1620,  542, 534,  566, 510,  566, 1620,  568, 510,  566, 510,  566, 510,  566, 510,  566, 510,  566, 1620,  568, 1618,  566, 510,  566, 1622,  566, 510,  566, 510,  566, 512,  564, 510,  566, 512,  566, 512,  566, 508,  566, 1622,  568, 1618,  568, 1618,  568, 1620,  566, 1620,  566, 1620,  542, 1644,  560, 1626,  566, 512,  566, 512,  580, 498,  566, 1620,  566, 510,  566, 510,  566, 510,  566, 510,  564, 1622,  542, 536,  540, 534,  566, 512,  566, 512,  566, 512,  564, 512,  564, 1618,  566, 512,  566, 512,  566, 510,  566, 1620,  566, 512,  564, 510,  566, 512,  566, 1620,  566, 1620,  566};  // UNKNOWN 19A12C55


Timestamp : 000019.441
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0x9635DE89 (76 Bits)
uint16_t rawData[151] = {96, 46646,  5978, 7346,  662, 526,  612, 1544,  636, 552,  636, 552,  634, 1520,  638, 552,  636, 552,  636, 552,  610, 578,  610, 578,  636, 1520,  636, 552,  634, 1520,  636, 1520,  634, 552,  636, 552,  610, 1546,  610, 1544,  662, 528,  634, 1520,  636, 552,  610, 1546,  612, 578,  634, 554,  634, 1520,  636, 552,  634, 552,  636, 554,  636, 552,  610, 578,  634, 554,  610, 580,  634, 554,  610, 578,  608, 580,  634, 554,  634, 552,  610, 578,  610, 578,  634, 554,  610, 578,  634, 554,  608, 580,  610, 578,  610, 578,  610, 578,  634, 554,  610, 580,  610, 578,  610, 578,  610, 578,  608, 580,  634, 554,  608, 578,  610, 578,  608, 580,  608, 580,  610, 578,  608, 580,  608, 578,  608, 580,  608, 578,  608, 580,  610, 580,  608, 580,  608, 580,  610, 1546,  610, 1546,  610, 578,  634, 1520,  612, 578,  610, 578,  608, 6174,  612};  // UNKNOWN 9635DE89


Timestamp : 000024.560
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0x32041315 (75 Bits)
uint16_t rawData[149] = {5976, 7344,  636, 552,  636, 1518,  636, 552,  634, 554,  636, 1520,  636, 552,  636, 552,  634, 554,  636, 552,  610, 576,  636, 1520,  610, 578,  636, 1520,  636, 1520,  612, 576,  636, 554,  612, 1544,  636, 1520,  612, 576,  610, 578,  610, 578,  636, 1518,  612, 578,  610, 578,  634, 1522,  634, 554,  610, 578,  610, 576,  612, 578,  610, 578,  634, 554,  634, 554,  610, 578,  610, 578,  610, 578,  610, 578,  610, 578,  610, 578,  636, 552,  608, 580,  610, 578,  610, 578,  610, 578,  610, 578,  610, 578,  608, 580,  610, 578,  610, 578,  608, 580,  610, 578,  608, 580,  632, 554,  608, 580,  608, 580,  608, 580,  610, 580,  608, 580,  608, 580,  610, 578,  608, 580,  608, 580,  608, 580,  608, 580,  610, 578,  610, 578,  610, 578,  608, 1546,  610, 578,  608, 580,  610, 1546,  610, 578,  610, 580,  608, 6170,  612};  // UNKNOWN 32041315


Timestamp : 000029.727
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0xCBB50C6E (97 Bits)
uint16_t rawData[193] = {6380, 3322,  408, 900,  406, 898,  434, 2172,  410, 2198,  408, 898,  382, 2222,  408, 898,  408, 2198,  408, 2196,  410, 896,  384, 2224,  434, 872,  436, 2170,  410, 2198,  406, 2198,  408, 2198,  434, 874,  408, 898,  408, 898,  408, 898,  436, 2172,  434, 2172,  434, 872,  382, 924,  408, 2198,  410, 898,  410, 2196,  384, 922,  408, 898,  408, 2198,  434, 874,  410, 2198,  408, 898,  408, 2198,  410, 898,  434, 872,  408, 898,  408, 898,  434, 872,  434, 874,  384, 922,  382, 924,  410, 896,  410, 898,  382, 924,  408, 898,  434, 872,  410, 898,  406, 898,  382, 924,  410, 896,  410, 898,  408, 898,  408, 898,  408, 898,  410, 898,  408, 898,  382, 924,  410, 896,  410, 898,  408, 898,  382, 924,  410, 896,  410, 898,  408, 898,  406, 898,  410, 898,  408, 898,  384, 922,  382, 922,  408, 898,  410, 898,  408, 898,  408, 898,  410, 898,  410, 898,  408, 898,  408, 2198,  384, 922,  410, 898,  384, 922,  406, 2200,  410, 896,  410, 2196,  410, 898,  384, 2222,  408, 2198,  384, 924,  410, 898,  408, 2198,  408, 896,  408, 898,  410, 898,  408, 898,  384, 922,  384};  // UNKNOWN CBB50C6E


Timestamp : 000031.995
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0xC638D858 (6 Bits)
uint16_t rawData[11] = {98, 186,  194, 30572,  98, 23504,  484, 23608,  176, 308,  512};  // UNKNOWN C638D858


Timestamp : 000032.994
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0x33AB600A (6 Bits)
uint16_t rawData[11] = {326, 1084,  130, 456,  188, 142,  436, 138,  218, 18534,  90};  // UNKNOWN 33AB600A


Timestamp : 000034.894
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0x3896ED4E (97 Bits)
uint16_t rawData[193] = {6434, 3262,  458, 848,  408, 898,  434, 2172,  436, 2172,  406, 900,  382, 2224,  434, 872,  434, 2172,  384, 2222,  408, 898,  408, 2196,  410, 898,  434, 2172,  408, 2198,  408, 2198,  382, 2224,  410, 896,  408, 898,  382, 924,  382, 924,  434, 2172,  434, 2172,  384, 924,  434, 872,  410, 2196,  410, 898,  408, 2196,  410, 896,  382, 924,  408, 2198,  462, 846,  408, 2200,  382, 924,  436, 2170,  436, 872,  382, 922,  408, 898,  408, 898,  410, 898,  382, 924,  408, 898,  434, 872,  410, 898,  406, 898,  434, 872,  408, 898,  408, 898,  408, 900,  408, 898,  410, 896,  436, 872,  408, 896,  408, 898,  384, 922,  410, 896,  406, 900,  382, 924,  410, 898,  408, 898,  384, 922,  384, 922,  436, 870,  412, 896,  382, 924,  384, 922,  410, 898,  408, 898,  408, 898,  408, 898,  384, 922,  408, 898,  408, 898,  408, 898,  410, 898,  434, 872,  408, 898,  384, 922,  410, 896,  434, 874,  384, 922,  420, 882,  410, 2196,  436, 872,  382, 2224,  384, 922,  408, 2196,  410, 2196,  410, 2198,  410, 2196,  408, 898,  408, 898,  410, 896,  408, 898,  384, 922,  384, 924,  434};  // UNKNOWN 3896ED4E


Timestamp : 000040.059
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0xCBB50C6E (97 Bits)
uint16_t rawData[193] = {6404, 3300,  436, 872,  382, 924,  408, 2198,  408, 2198,  434, 874,  408, 2198,  408, 898,  382, 2224,  434, 2172,  434, 874,  406, 2200,  408, 898,  432, 2172,  434, 2172,  436, 2172,  434, 2174,  408, 898,  382, 922,  436, 872,  408, 898,  408, 2196,  408, 2198,  408, 898,  436, 872,  382, 2222,  410, 896,  408, 2198,  410, 898,  434, 872,  434, 2170,  408, 898,  406, 2200,  434, 872,  432, 2172,  408, 900,  408, 896,  434, 872,  408, 898,  382, 924,  408, 898,  410, 898,  408, 898,  382, 922,  434, 872,  410, 898,  424, 884,  434, 872,  410, 898,  406, 898,  408, 898,  434, 874,  384, 922,  408, 898,  408, 898,  410, 898,  410, 898,  408, 898,  382, 922,  410, 898,  384, 922,  384, 922,  384, 922,  410, 898,  434, 874,  382, 924,  410, 896,  434, 872,  384, 924,  406, 898,  384, 922,  434, 874,  408, 898,  384, 922,  408, 898,  434, 874,  408, 898,  384, 922,  382, 2222,  410, 898,  410, 896,  410, 896,  406, 2200,  410, 898,  408, 2198,  408, 898,  408, 2198,  382, 2222,  410, 898,  384, 922,  384, 2222,  384, 922,  410, 896,  410, 896,  408, 896,  410, 898,  408};  // UNKNOWN CBB50C6E


Timestamp : 000045.224
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0x3896ED4E (97 Bits)
uint16_t rawData[193] = {6380, 3322,  408, 898,  408, 900,  432, 2172,  410, 2196,  434, 872,  408, 2196,  382, 926,  406, 2198,  436, 2172,  408, 898,  408, 2198,  408, 898,  434, 2172,  436, 2172,  410, 2196,  408, 2198,  408, 900,  428, 880,  408, 898,  382, 924,  434, 2172,  408, 2198,  406, 900,  408, 898,  436, 2172,  434, 874,  408, 2198,  408, 898,  434, 872,  434, 2172,  436, 872,  384, 2224,  408, 898,  408, 2198,  436, 872,  408, 898,  382, 924,  408, 898,  408, 898,  408, 900,  408, 898,  410, 896,  410, 898,  382, 922,  408, 898,  434, 872,  408, 898,  408, 898,  410, 896,  410, 898,  410, 896,  410, 896,  384, 922,  384, 922,  410, 896,  408, 898,  382, 924,  410, 896,  410, 898,  382, 922,  384, 922,  410, 896,  410, 898,  408, 898,  408, 898,  410, 898,  410, 896,  408, 898,  408, 898,  408, 898,  384, 922,  384, 924,  408, 898,  408, 898,  410, 896,  408, 898,  384, 922,  408, 898,  410, 898,  382, 924,  382, 924,  410, 2196,  434, 872,  384, 2222,  384, 922,  384, 2222,  410, 2198,  410, 2198,  408, 2198,  410, 898,  408, 898,  408, 898,  384, 922,  408, 898,  408, 898,  412};  // UNKNOWN 3896ED4E


Timestamp : 000047.676
Library   : v2.7.9

Protocol  : TOSHIBA_AC
Code      : 0xF20D03FC0120040025 (72 Bits)
Mesg Desc.: Temp: 19C, Power: On, Mode: 4 (Fan), Fan: 0 (Auto), Turbo: Off, Econo: Off
uint16_t rawData[527] = {4430, 4272,  542, 1646,  542, 1644,  540, 1646,  542, 1646,  568, 508,  542, 534,  566, 1620,  568, 514,  566, 510,  568, 508,  592, 484,  568, 510,  566, 1618,  568, 1618,  566, 510,  568, 1620,  568, 508,  566, 510,  568, 510,  568, 508,  568, 508,  568, 510,  568, 1618,  568, 1620,  542, 1644,  566, 1618,  542, 1646,  542, 1642,  568, 1620,  540, 1646,  542, 536,  542, 536,  568, 508,  568, 508,  568, 510,  566, 510,  568, 508,  568, 510,  566, 510,  568, 1618,  566, 510,  566, 510,  568, 1618,  568, 508,  566, 510,  570, 506,  568, 508,  568, 512,  566, 508,  568, 508,  568, 508,  566, 510,  566, 510,  568, 1618,  568, 508,  566, 512,  568, 508,  568, 508,  568, 510,  542, 534,  594, 482,  568, 510,  568, 508,  568, 510,  568, 508,  568, 510,  566, 1618,  542, 534,  568, 510,  568, 1618,  540, 536,  568, 1618,  566, 7418,  4428, 4280,  568, 1618,  542, 1642,  568, 1620,  568, 1618,  568, 508,  566, 510,  568, 1618,  568, 510,  568, 510,  566, 510,  568, 508,  568, 510,  566, 1618,  542, 1644,  566, 510,  568, 1618,  568, 508,  566, 510,  542, 534,  568, 508,  568, 510,  568, 510,  568, 1618,  568, 1620,  568, 1620,  542, 1644,  568, 1620,  568, 1618,  566, 1620,  542, 1644,  568, 508,  566, 512,  566, 510,  566, 508,  568, 510,  566, 510,  568, 508,  568, 508,  568, 508,  566, 1620,  566, 512,  566, 510,  568, 1620,  566, 510,  568, 508,  566, 510,  566, 510,  566, 512,  566, 510,  566, 510,  568, 508,  568, 508,  568, 510,  568, 1618,  568, 510,  566, 510,  568, 508,  568, 510,  566, 508,  568, 508,  566, 510,  566, 510,  566, 510,  566, 512,  566, 510,  568, 508,  568, 1618,  566, 510,  566, 510,  566, 1620,  566, 510,  568, 1618,  568, 7432,  4404, 4306,  568, 1620,  568, 1618,  566, 1620,  568, 1620,  568, 510,  566, 510,  566, 1618,  544, 534,  566, 510,  566, 512,  566, 508,  566, 510,  566, 1618,  568, 1618,  568, 510,  568, 1618,  568, 510,  568, 510,  566, 510,  566, 510,  566, 510,  566, 510,  566, 510,  564, 1622,  568, 1618,  568, 1618,  568, 1618,  568, 1620,  566, 1620,  566, 1620,  566, 1618,  568, 512,  566, 510,  566, 508,  566, 1620,  566, 512,  566, 510,  566, 512,  566, 510,  566, 1620,  566, 510,  566, 510,  566, 510,  564, 512,  566, 512,  566, 512,  564, 1620,  566, 512,  564, 510,  566, 512,  566, 1618,  568, 510,  564, 512,  566, 510,  566, 1620,  568, 1620,  568, 7418,  4402, 4308,  568, 1620,  568, 1618,  568, 1620,  566, 1620,  566, 510,  566, 510,  566, 1620,  566, 512,  566, 512,  566, 510,  566, 512,  566, 512,  564, 1620,  566, 1620,  566, 512,  566, 1622,  566, 512,  564, 512,  566, 510,  564, 514,  564, 512,  564, 514,  564, 512,  564, 1620,  566, 1620,  566, 1620,  566, 1620,  566, 1620,  566, 1620,  566, 1620,  568, 1618,  566, 514,  564, 512,  564, 512,  564, 1622,  566, 512,  564, 510,  564, 514,  562, 514,  562, 1622,  566, 512,  564, 512,  564, 514,  538, 538,  562, 514,  562, 538,  540, 1620,  566, 512,  564, 514,  562, 514,  562, 1622,  564, 514,  562, 514,  562, 514,  562, 1622,  564, 1620,  566};  // TOSHIBA_AC
uint8_t state[9] = {0xF2, 0x0D, 0x03, 0xFC, 0x01, 0x20, 0x04, 0x00, 0x25};


Timestamp : 000053.104
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0x19A12C55 (265 Bits)
uint16_t rawData[529] = {96, 7892,  4416, 4284,  540, 1648,  542, 1644,  518, 1668,  542, 1644,  542, 534,  540, 536,  566, 1620,  566, 514,  566, 512,  568, 508,  568, 508,  568, 508,  568, 1618,  542, 1644,  566, 510,  568, 1618,  568, 510,  566, 510,  568, 508,  568, 508,  568, 508,  568, 508,  568, 1618,  568, 1620,  568, 1618,  542, 1646,  542, 1646,  566, 1618,  566, 1620,  542, 1646,  542, 534,  566, 510,  542, 534,  568, 508,  568, 510,  566, 510,  568, 510,  568, 508,  568, 508,  568, 1618,  542, 536,  568, 508,  568, 1620,  542, 534,  568, 508,  566, 510,  566, 510,  566, 512,  568, 510,  566, 510,  568, 508,  568, 510,  568, 506,  568, 1618,  568, 508,  568, 508,  568, 508,  568, 508,  570, 506,  568, 510,  566, 510,  568, 510,  566, 510,  568, 514,  564, 508,  568, 508,  568, 1618,  568, 508,  568, 510,  568, 1618,  568, 508,  568, 1618,  568, 7418,  4428, 4282,  566, 1620,  568, 1618,  542, 1646,  566, 1620,  568, 508,  542, 534,  568, 1618,  566, 512,  566, 510,  566, 510,  568, 510,  568, 510,  568, 1618,  568, 1618,  568, 510,  566, 1620,  542, 534,  564, 512,  568, 508,  566, 510,  568, 508,  568, 508,  568, 1618,  568, 1620,  568, 1616,  544, 1644,  568, 1618,  566, 1620,  566, 1620,  568, 1618,  600, 474,  566, 512,  568, 508,  566, 510,  568, 510,  568, 508,  566, 510,  566, 510,  566, 510,  566, 1620,  568, 508,  568, 508,  566, 1620,  568, 508,  568, 508,  568, 508,  568, 508,  568, 510,  566, 512,  566, 510,  568, 510,  566, 510,  568, 508,  566, 1620,  566, 510,  568, 510,  566, 510,  566, 510,  566, 508,  566, 512,  566, 510,  566, 508,  568, 510,  566, 510,  566, 510,  566, 510,  582, 1606,  568, 510,  568, 508,  568, 1618,  568, 510,  568, 1618,  568, 7432,  4402, 4306,  568, 1620,  566, 1620,  568, 1618,  542, 1644,  568, 508,  566, 510,  566, 1620,  568, 510,  568, 510,  566, 510,  566, 510,  566, 510,  566, 1618,  568, 1618,  568, 508,  568, 1620,  568, 510,  566, 510,  568, 510,  566, 510,  566, 510,  566, 512,  566, 510,  566, 1620,  568, 1618,  568, 1618,  566, 1620,  568, 1620,  568, 1618,  568, 1620,  566, 1620,  566, 512,  566, 510,  566, 512,  566, 1618,  566, 510,  566, 512,  566, 510,  566, 512,  566, 1618,  570, 510,  566, 512,  540, 536,  566, 510,  566, 512,  564, 512,  564, 1620,  566, 512,  566, 512,  566, 510,  566, 1620,  566, 512,  566, 512,  564, 512,  566, 1618,  566, 1622,  566, 7418,  4400, 4308,  568, 1620,  566, 1620,  568, 1618,  566, 1620,  566, 512,  566, 512,  566, 1620,  566, 512,  566, 510,  566, 512,  564, 512,  564, 512,  564, 1620,  568, 1618,  568, 510,  576, 1614,  580, 502,  564, 510,  566, 512,  564, 512,  566, 510,  578, 502,  568, 508,  564, 1622,  566, 1620,  566, 1620,  566, 1620,  566, 1622,  578, 1610,  566, 1620,  566, 1620,  566, 512,  576, 504,  578, 502,  564, 1618,  574, 506,  564, 514,  564, 514,  564, 574,  516, 1612,  566, 512,  564, 514,  562, 514,  562, 514,  564, 574,  514, 504,  568, 1616,  566, 514,  564, 512,  570, 508,  562, 1622,  572, 506,  562, 514,  562, 538,  538, 1622,  564, 1622,  566};  // UNKNOWN 19A12C55


Timestamp : 000058.226
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0x9635DE89 (76 Bits)
uint16_t rawData[151] = {278, 22184,  5962, 7360,  638, 550,  636, 1520,  636, 552,  636, 552,  636, 1520,  638, 552,  610, 576,  636, 552,  610, 578,  610, 578,  636, 1520,  636, 552,  610, 1544,  636, 1520,  636, 552,  634, 554,  610, 1546,  610, 1544,  636, 552,  636, 1520,  610, 576,  634, 1522,  636, 552,  636, 554,  610, 1544,  612, 578,  610, 578,  636, 554,  634, 552,  634, 554,  634, 552,  610, 578,  634, 554,  610, 578,  610, 578,  608, 580,  610, 578,  608, 580,  610, 580,  610, 578,  610, 578,  610, 578,  610, 578,  634, 554,  608, 578,  610, 580,  608, 578,  610, 578,  634, 554,  608, 580,  610, 578,  610, 578,  610, 578,  610, 578,  610, 580,  608, 580,  608, 580,  610, 578,  608, 580,  608, 580,  584, 604,  608, 580,  608, 578,  610, 580,  608, 580,  608, 580,  608, 1546,  612, 1546,  610, 580,  610, 1546,  610, 580,  610, 578,  608, 6172,  612};  // UNKNOWN 9635DE89


Timestamp : 000063.032
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0x70326F0B (6 Bits)
uint16_t rawData[11] = {856, 1390,  850, 1570,  98, 19680,  314, 438,  206, 32956,  98};  // UNKNOWN 70326F0B


Timestamp : 000063.345
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0x97D5CBAC (77 Bits)
uint16_t rawData[153] = {100, 852,  98, 22664,  5958, 7362,  638, 550,  636, 1520,  638, 550,  636, 552,  636, 1520,  660, 528,  610, 578,  634, 554,  610, 578,  634, 554,  634, 1520,  636, 552,  636, 1520,  636, 1520,  636, 552,  610, 578,  610, 1544,  612, 1544,  636, 552,  636, 552,  636, 552,  610, 1546,  610, 578,  610, 578,  636, 1520,  634, 554,  636, 552,  610, 578,  634, 554,  610, 578,  634, 554,  610, 580,  634, 552,  610, 578,  634, 554,  634, 554,  610, 578,  634, 554,  610, 578,  610, 580,  610, 578,  610, 578,  608, 578,  610, 578,  610, 578,  610, 578,  608, 580,  584, 606,  582, 606,  608, 578,  610, 578,  608, 578,  610, 580,  608, 580,  608, 580,  610, 578,  608, 580,  608, 580,  608, 580,  608, 580,  610, 578,  608, 580,  610, 578,  608, 580,  608, 580,  608, 578,  610, 1546,  616, 576,  610, 578,  608, 1548,  610, 578,  610, 578,  610, 6170,  610};  // UNKNOWN 97D5CBAC


Timestamp : 000068.512
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0xCBB50C6E (97 Bits)
uint16_t rawData[193] = {6420, 3284,  408, 898,  434, 872,  408, 2196,  408, 2198,  408, 898,  434, 2172,  410, 898,  406, 2200,  408, 2196,  408, 898,  410, 2196,  410, 898,  406, 2198,  408, 2198,  408, 2198,  410, 2198,  410, 898,  408, 898,  406, 898,  434, 872,  410, 2196,  408, 2198,  408, 898,  408, 900,  410, 2196,  408, 900,  408, 2198,  384, 922,  436, 872,  434, 2172,  408, 898,  406, 2200,  434, 872,  434, 2172,  408, 898,  408, 898,  410, 896,  408, 898,  434, 872,  408, 898,  384, 922,  434, 874,  408, 896,  384, 922,  384, 922,  434, 872,  434, 872,  382, 924,  408, 898,  410, 898,  382, 922,  384, 922,  408, 898,  410, 898,  406, 898,  424, 884,  410, 896,  382, 922,  408, 898,  408, 898,  434, 872,  410, 896,  384, 922,  408, 900,  410, 898,  386, 918,  408, 898,  408, 898,  410, 898,  410, 896,  408, 898,  408, 898,  410, 898,  384, 922,  384, 924,  382, 924,  410, 896,  408, 2198,  384, 922,  408, 898,  410, 898,  382, 2222,  408, 898,  384, 2222,  410, 898,  410, 2196,  384, 2222,  408, 898,  410, 898,  434, 2172,  410, 898,  382, 924,  382, 924,  408, 896,  410, 898,  382};  // UNKNOWN CBB50C6E


Timestamp : 000073.678
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0x3896ED4E (97 Bits)
uint16_t rawData[193] = {6404, 3298,  408, 898,  408, 898,  408, 2196,  436, 2172,  410, 898,  408, 2198,  408, 898,  408, 2198,  410, 2196,  408, 898,  408, 2198,  408, 898,  434, 2174,  434, 2172,  408, 2198,  408, 2198,  408, 898,  410, 896,  410, 898,  406, 898,  408, 2198,  408, 2198,  436, 872,  410, 898,  382, 2224,  384, 922,  434, 2172,  410, 898,  408, 898,  384, 2222,  408, 898,  410, 2198,  408, 898,  408, 2198,  408, 900,  410, 898,  406, 898,  408, 898,  408, 898,  410, 896,  384, 922,  408, 898,  410, 898,  408, 898,  408, 898,  408, 898,  408, 898,  410, 898,  408, 898,  408, 898,  410, 896,  410, 898,  382, 922,  408, 898,  408, 898,  410, 898,  408, 898,  408, 898,  408, 898,  410, 898,  408, 898,  408, 898,  408, 898,  410, 898,  408, 898,  382, 922,  410, 898,  410, 896,  410, 898,  382, 922,  406, 900,  410, 898,  408, 898,  408, 898,  408, 898,  434, 872,  384, 922,  382, 922,  408, 898,  410, 898,  384, 922,  384, 2222,  410, 898,  384, 2222,  434, 872,  384, 2222,  384, 2222,  384, 2222,  410, 2198,  384, 924,  382, 924,  408, 898,  410, 898,  384, 922,  408, 898,  408};  // UNKNOWN 3896ED4E


Timestamp : 000078.843
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0xCBB50C6E (97 Bits)
uint16_t rawData[193] = {6404, 3298,  410, 898,  408, 898,  424, 2182,  408, 2198,  408, 898,  434, 2172,  412, 896,  408, 2200,  432, 2174,  434, 872,  436, 2172,  408, 898,  408, 2198,  384, 2222,  410, 2196,  436, 2172,  408, 898,  408, 898,  408, 898,  410, 896,  384, 2222,  408, 2198,  408, 898,  434, 872,  384, 2222,  408, 898,  408, 2198,  434, 874,  410, 896,  408, 2198,  408, 898,  408, 2198,  434, 872,  408, 2198,  408, 898,  384, 922,  436, 872,  410, 898,  408, 898,  408, 898,  434, 872,  408, 898,  408, 898,  408, 898,  410, 898,  410, 896,  408, 898,  406, 900,  432, 874,  408, 896,  408, 898,  382, 924,  408, 896,  410, 896,  384, 922,  408, 900,  410, 896,  408, 898,  384, 922,  410, 898,  410, 896,  408, 898,  384, 922,  384, 922,  410, 898,  408, 898,  384, 922,  410, 896,  410, 898,  406, 898,  408, 898,  384, 924,  408, 898,  384, 922,  408, 898,  434, 874,  408, 898,  406, 2198,  408, 898,  382, 924,  410, 896,  408, 2198,  384, 922,  384, 2222,  408, 898,  410, 2196,  384, 2222,  384, 924,  434, 872,  410, 2198,  408, 898,  408, 898,  406, 900,  410, 896,  436, 872,  408};  // UNKNOWN CBB50C6E


Timestamp : 000084.009
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0x3896ED4E (97 Bits)
uint16_t rawData[193] = {6402, 3302,  434, 872,  408, 898,  408, 2198,  382, 2222,  434, 874,  434, 2172,  408, 898,  408, 2198,  460, 2146,  434, 872,  408, 2198,  410, 898,  408, 2198,  410, 2196,  434, 2172,  434, 2174,  408, 898,  408, 898,  410, 896,  434, 874,  384, 2222,  410, 2196,  408, 898,  408, 898,  408, 2196,  408, 898,  406, 2198,  434, 872,  434, 872,  408, 2198,  406, 900,  434, 2172,  434, 872,  384, 2222,  408, 898,  408, 898,  434, 874,  406, 898,  384, 922,  408, 900,  410, 896,  408, 898,  384, 922,  408, 898,  410, 896,  408, 898,  408, 898,  382, 924,  434, 872,  408, 898,  384, 922,  410, 898,  434, 872,  384, 922,  384, 922,  408, 898,  408, 898,  382, 924,  408, 898,  432, 874,  432, 874,  384, 922,  384, 922,  410, 898,  384, 922,  408, 898,  408, 898,  410, 898,  410, 898,  408, 898,  408, 898,  410, 898,  408, 898,  384, 922,  384, 922,  410, 896,  408, 898,  384, 922,  408, 898,  410, 898,  408, 898,  384, 2220,  384, 922,  410, 2196,  410, 896,  382, 2222,  408, 2198,  408, 2198,  410, 2198,  382, 922,  408, 898,  406, 900,  408, 898,  410, 898,  408, 898,  408};  // UNKNOWN 3896ED4E


Timestamp : 000086.461
Library   : v2.7.9

Protocol  : TOSHIBA_AC
Code      : 0xF20D03FC0120040025 (72 Bits)
Mesg Desc.: Temp: 19C, Power: On, Mode: 4 (Fan), Fan: 0 (Auto), Turbo: Off, Econo: Off
uint16_t rawData[527] = {4458, 4246,  542, 1646,  568, 1618,  540, 1646,  542, 1646,  542, 534,  542, 536,  568, 1618,  568, 514,  542, 534,  568, 510,  568, 506,  566, 510,  568, 1616,  568, 1618,  542, 536,  568, 1618,  566, 508,  544, 534,  566, 510,  568, 508,  592, 484,  568, 508,  568, 1616,  568, 1622,  568, 1618,  566, 1620,  566, 1620,  542, 1644,  542, 1646,  542, 1644,  568, 508,  568, 510,  566, 510,  568, 508,  568, 510,  568, 508,  568, 508,  568, 510,  568, 508,  568, 1620,  542, 534,  568, 510,  568, 1618,  568, 510,  568, 508,  568, 510,  568, 510,  568, 510,  568, 508,  568, 508,  568, 508,  592, 484,  568, 508,  566, 1620,  568, 510,  568, 508,  568, 508,  568, 508,  568, 508,  568, 508,  566, 510,  568, 508,  568, 508,  568, 512,  592, 484,  566, 510,  568, 1618,  568, 510,  566, 510,  568, 1618,  570, 508,  566, 1620,  542, 7444,  4428, 4280,  544, 1644,  568, 1618,  542, 1644,  568, 1618,  568, 508,  566, 510,  566, 1620,  568, 512,  566, 510,  568, 510,  568, 510,  566, 510,  568, 1618,  568, 1620,  568, 508,  568, 1618,  542, 534,  580, 500,  568, 508,  568, 510,  568, 510,  568, 508,  568, 1618,  568, 1620,  568, 1618,  566, 1620,  568, 1618,  568, 1618,  568, 1620,  568, 1620,  568, 508,  566, 512,  566, 510,  568, 508,  542, 534,  566, 510,  566, 508,  566, 510,  568, 508,  568, 1620,  568, 510,  566, 510,  568, 1618,  568, 510,  568, 508,  568, 510,  566, 510,  566, 510,  566, 510,  566, 510,  568, 508,  568, 510,  568, 508,  566, 1618,  566, 510,  566, 510,  568, 508,  568, 508,  568, 510,  568, 508,  566, 510,  566, 510,  566, 510,  566, 512,  566, 508,  568, 510,  566, 1618,  568, 510,  566, 510,  566, 1620,  568, 508,  566, 1618,  568, 7432,  4426, 4282,  544, 1644,  568, 1618,  566, 1620,  568, 1620,  568, 508,  568, 510,  576, 1612,  566, 512,  568, 510,  568, 508,  566, 510,  566, 510,  566, 1620,  566, 1620,  568, 510,  566, 1622,  566, 510,  566, 510,  566, 510,  566, 512,  566, 510,  566, 512,  564, 512,  566, 1620,  568, 1618,  568, 1618,  568, 1618,  566, 1620,  566, 1620,  568, 1618,  568, 1618,  542, 536,  566, 510,  566, 510,  566, 1620,  568, 510,  566, 510,  566, 512,  566, 510,  566, 1622,  566, 510,  566, 512,  566, 510,  566, 512,  566, 510,  566, 512,  564, 1620,  568, 510,  566, 512,  566, 512,  566, 1618,  568, 510,  566, 512,  566, 512,  564, 1620,  568, 1618,  566, 7418,  4400, 4310,  568, 1618,  568, 1620,  566, 1620,  566, 1618,  566, 512,  566, 512,  566, 1618,  568, 512,  564, 512,  566, 510,  566, 512,  564, 512,  564, 1620,  566, 1620,  566, 510,  566, 1620,  566, 510,  566, 510,  566, 510,  564, 512,  564, 514,  564, 514,  562, 514,  564, 1620,  566, 1618,  566, 1620,  566, 1620,  566, 1618,  566, 1620,  566, 1620,  566, 1620,  542, 536,  566, 512,  566, 510,  564, 1620,  566, 512,  564, 512,  564, 514,  562, 514,  562, 1622,  566, 512,  564, 512,  564, 514,  562, 514,  562, 514,  562, 516,  562, 1620,  566, 514,  564, 514,  562, 538,  540, 1620,  566, 514,  562, 514,  564, 514,  562, 1622,  566, 1620,  564};  // TOSHIBA_AC
uint8_t state[9] = {0xF2, 0x0D, 0x03, 0xFC, 0x01, 0x20, 0x04, 0x00, 0x25};


Timestamp : 000091.902
Library   : v2.7.9

Protocol  : TOSHIBA_AC
Code      : 0xF20D03FC0120040025 (72 Bits)
Mesg Desc.: Temp: 19C, Power: On, Mode: 4 (Fan), Fan: 0 (Auto), Turbo: Off, Econo: Off
uint16_t rawData[527] = {4412, 4284,  520, 1668,  540, 1646,  542, 1644,  566, 1620,  542, 536,  568, 508,  542, 1644,  568, 512,  568, 508,  568, 508,  568, 508,  568, 510,  568, 1618,  566, 1620,  568, 508,  566, 1620,  568, 508,  542, 534,  568, 510,  568, 508,  568, 508,  568, 508,  568, 1618,  542, 1646,  566, 1618,  568, 1618,  568, 1620,  542, 1642,  542, 1644,  540, 1646,  566, 510,  568, 512,  566, 510,  568, 508,  568, 508,  568, 510,  568, 508,  568, 510,  568, 510,  568, 1618,  566, 510,  542, 534,  568, 1618,  568, 508,  566, 512,  568, 508,  568, 508,  568, 512,  566, 510,  568, 508,  568, 508,  568, 510,  566, 510,  568, 1618,  542, 534,  566, 510,  568, 510,  568, 506,  568, 508,  566, 510,  568, 508,  566, 510,  592, 484,  568, 510,  568, 508,  568, 508,  568, 1616,  568, 510,  566, 510,  568, 1618,  542, 534,  568, 1622,  542, 7442,  4404, 4306,  568, 1618,  542, 1644,  542, 1644,  568, 1618,  542, 534,  568, 510,  568, 1618,  566, 512,  568, 510,  568, 508,  568, 510,  568, 510,  568, 1618,  568, 1618,  570, 508,  566, 1620,  568, 510,  542, 534,  566, 510,  568, 510,  568, 508,  566, 510,  568, 1618,  568, 1620,  568, 1620,  566, 1620,  568, 1618,  568, 1620,  542, 1644,  566, 1618,  566, 510,  566, 510,  568, 508,  568, 510,  566, 510,  566, 508,  566, 510,  566, 510,  566, 510,  566, 1620,  566, 510,  566, 510,  568, 1618,  568, 508,  566, 510,  568, 508,  568, 508,  566, 512,  566, 510,  566, 508,  568, 510,  568, 508,  566, 508,  566, 1620,  568, 508,  568, 510,  566, 510,  566, 510,  566, 510,  568, 508,  568, 510,  566, 510,  566, 510,  566, 510,  566, 510,  566, 510,  566, 1620,  566, 508,  568, 510,  566, 1618,  566, 512,  566, 1620,  568, 7432,  4402, 4308,  568, 1618,  568, 1618,  542, 1644,  568, 1618,  568, 510,  568, 510,  566, 1618,  566, 510,  566, 512,  566, 510,  568, 508,  566, 510,  566, 1618,  566, 1618,  568, 510,  568, 1618,  568, 510,  566, 510,  566, 510,  566, 510,  566, 510,  566, 510,  568, 510,  566, 1620,  568, 1620,  566, 1620,  568, 1618,  568, 1618,  544, 1644,  568, 1618,  568, 1618,  568, 512,  566, 510,  566, 510,  566, 1620,  566, 512,  566, 510,  566, 512,  566, 510,  566, 1620,  568, 510,  564, 512,  564, 512,  566, 510,  566, 510,  566, 512,  566, 1620,  566, 512,  566, 510,  566, 512,  566, 1618,  568, 510,  566, 512,  566, 510,  564, 1620,  566, 1622,  566, 7418,  4400, 4308,  568, 1620,  566, 1620,  566, 1620,  568, 1620,  568, 510,  566, 512,  566, 1618,  568, 512,  566, 512,  566, 512,  566, 512,  566, 510,  564, 1620,  566, 1622,  566, 510,  566, 1620,  566, 512,  564, 512,  566, 510,  564, 512,  564, 512,  564, 512,  564, 512,  564, 1620,  566, 1618,  566, 1620,  566, 1618,  566, 1620,  566, 1620,  566, 1620,  566, 1620,  566, 514,  566, 512,  564, 512,  564, 1622,  566, 512,  566, 510,  564, 514,  562, 512,  564, 1624,  564, 512,  564, 512,  574, 504,  574, 504,  560, 516,  562, 514,  562, 1620,  544, 536,  564, 512,  564, 514,  562, 1622,  564, 514,  564, 514,  562, 514,  562, 1620,  566, 1622,  566};  // TOSHIBA_AC
uint8_t state[9] = {0xF2, 0x0D, 0x03, 0xFC, 0x01, 0x20, 0x04, 0x00, 0x25};


Timestamp : 000097.011
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0xBEF512DF (75 Bits)
uint16_t rawData[149] = {6002, 7318,  612, 576,  636, 1518,  636, 552,  636, 552,  636, 1520,  610, 578,  636, 552,  610, 578,  650, 542,  610, 578,  608, 1546,  636, 552,  610, 1546,  610, 1546,  636, 552,  610, 580,  634, 1520,  612, 1546,  634, 552,  610, 1546,  610, 578,  634, 1522,  636, 552,  636, 554,  608, 1546,  612, 576,  612, 578,  634, 552,  634, 554,  636, 552,  610, 578,  610, 578,  634, 554,  634, 554,  634, 554,  610, 578,  634, 554,  608, 578,  634, 554,  608, 580,  610, 578,  608, 580,  610, 578,  610, 578,  610, 580,  608, 580,  608, 580,  610, 580,  610, 578,  610, 578,  608, 580,  610, 578,  608, 578,  608, 580,  610, 580,  608, 580,  610, 578,  610, 578,  608, 580,  608, 578,  610, 578,  608, 580,  608, 580,  610, 580,  608, 580,  608, 580,  608, 1548,  610, 1546,  610, 580,  608, 1546,  612, 578,  608, 584,  608, 6170,  612};  // UNKNOWN BEF512DF


Timestamp : 000102.130
Library   : v2.7.9

Protocol  : UNKNOWN
Code      : 0x32041315 (75 Bits)
uint16_t rawData[149] = {5978, 7340,  636, 552,  612, 1544,  636, 552,  634, 554,  610, 1546,  634, 552,  636, 552,  614, 580,  610, 578,  636, 552,  610, 1546,  636, 552,  610, 1546,  634, 1520,  636, 552,  610, 578,  636, 1520,  612, 1544,  610, 578,  610, 578,  634, 554,  610, 1544,  610, 578,  634, 554,  636, 1520,  638, 552,  610, 578,  610, 578,  610, 578,  610, 578,  636, 552,  610, 578,  634, 554,  608, 580,  610, 578,  610, 578,  608, 580,  610, 578,  610, 578,  610, 580,  608, 580,  634, 554,  608, 580,  610, 578,  608, 580,  608, 578,  610, 580,  608, 582,  610, 578,  610, 578,  610, 578,  608, 578,  610, 580,  608, 578,  608, 580,  608, 580,  584, 604,  608, 580,  610, 578,  608, 580,  608, 580,  608, 580,  608, 580,  608, 582,  608, 578,  608, 580,  608, 1546,  610, 580,  608, 580,  608, 1548,  610, 580,  608, 584,  610, 6170,  612};  // UNKNOWN 32041315


that is the messages readed from the code stated in the issue only adding delay(5000); after each //------------------ line.

Hmmm. Toshiba has an odd-ball power on/off style. Will need to look into your code and how the library reacts further to see what may be going on.

Will it's not my code it's yours i guess :), as i said in these errors i used the default CommonAcControl

Will need to look into these separately. Possibly separate issues are warranted for each protocol.

Will i may not really need all these other protocols so what mainly i would be pleased if you helped me with is the TOSHIBA one and that 5 second delay problem , as of that 5 second delay problem i may be too afraid that i can't rely on the way that the example uses in my main code.

@Shalabyer
Copy link
Author

Shalabyer commented Aug 26, 2020

Um ... for a lot of these IRac::strToBlah()s you can just do:
ac.next.mode = stdAc::opmode_t::kFan;

Will i was trying the strTo**** functions because i will be mainly use it , i don't think it will really affect the output as they already worked with some protocols that i already tested with the same code like SHARP_AC, FUJITSU_AC, SAMSUNG_AC and COOLIX .

@Shalabyer
Copy link
Author

Can you please supply some raw captures from the actual remote?

I have a KT-3888 Universal AC Remote which has about 700 AC protocols
Here are the supported ACs names, if you know any of these that uses any thing that you need i can try to help you with it's raw of data.

@crankyoldgit
Copy link
Owner

that is the messages readed from the code stated in the issue only adding delay(5000); after each //------------------ line.

Okay. If you look at the raw data you've provided, you'll see a lot of values that are sub-200 uSeconds. That's a very strong indicator that either a) your IR receiver hardware module is not very good, or b) there is significant IR noise in your environment.

See https://github.com/crankyoldgit/IRremoteESP8266/wiki/Frequently-Asked-Questions#Help_Im_getting_very_inconsistent_results_when_capturing_an_IR_message_using_a_VS1838b_IR_demodulator
&
#1173 (comment)

e.g. A sample from your data.

uint16_t rawData[529] = {96, 7892,  4416, 4284,  540, 1648,  542, 1644,  518, 1668,  542, 1644,  542, 534,  540, 536,  566, 1620,  566, 514,  566, 512,  568, 508,  568, 508,  568, 508,  568, 1618,  542, 1644,  566, 510,  568, 1618,  568, 510,  566, 510,  568, 508,  568, 508,  568, 508,  568, 508,  568, 1618,  568, 1620,  568, 1618,  542, 1646,  542, 1646,  566, 1618,  566, 1620,  542, 1646,  542, 534,  566, 510,  542, 534,  568, 508,  568, 510,  566, 510,  568, 510,  568, 508,  568, 508,  568, 1618,  542, 536,  568, 508,  568, 1620,  542, 534,  568, 508,  566, 510,  566, 510,  566, 512,  568, 510,  566, 510,  568, 508,  568, 510,  568, 506,  568, 1618,  568, 508,  568, 508,  568, 508,  568, 508,  570, 506,  568, 510,  566, 510,  568, 510,  566, 510,  568, 514,  564, 508,  568, 508,  568, 1618,  568, 508,  568, 510,  568, 1618,  568, 508,  568, 1618,  568, 7418,  4428, 4282,  566, 1620,  568, 1618,  542, 1646,  566, 1620,  568, 508,  542, 534,  568, 1618,  566, 512,  566, 510,  566, 510,  568, 510,  568, 510,  568, 1618,  568, 1618,  568, 510,  566, 1620,  542, 534,  564, 512,  568, 508,  566, 510,  568, 508,  568, 508,  568, 1618,  568, 1620,  568, 1616,  544, 1644,  568, 1618,  566, 1620,  566, 1620,  568, 1618,  600, 474,  566, 512,  568, 508,  566, 510,  568, 510,  568, 508,  566, 510,  566, 510,  566, 510,  566, 1620,  568, 508,  568, 508,  566, 1620,  568, 508,  568, 508,  568, 508,  568, 508,  568, 510,  566, 512,  566, 510,  568, 510,  566, 510,  568, 508,  566, 1620,  566, 510,  568, 510,  566, 510,  566, 510,  566, 508,  566, 512,  566, 510,  566, 508,  568, 510,  566, 510,  566, 510,  566, 510,  582, 1606,  568, 510,  568, 508,  568, 1618,  568, 510,  568, 1618,  568, 7432,  4402, 4306,  568, 1620,  566, 1620,  568, 1618,  542, 1644,  568, 508,  566, 510,  566, 1620,  568, 510,  568, 510,  566, 510,  566, 510,  566, 510,  566, 1618,  568, 1618,  568, 508,  568, 1620,  568, 510,  566, 510,  568, 510,  566, 510,  566, 510,  566, 512,  566, 510,  566, 1620,  568, 1618,  568, 1618,  566, 1620,  568, 1620,  568, 1618,  568, 1620,  566, 1620,  566, 512,  566, 510,  566, 512,  566, 1618,  566, 510,  566, 512,  566, 510,  566, 512,  566, 1618,  570, 510,  566, 512,  540, 536,  566, 510,  566, 512,  564, 512,  564, 1620,  566, 512,  566, 512,  566, 510,  566, 1620,  566, 512,  566, 512,  564, 512,  566, 1618,  566, 1622,  566, 7418,  4400, 4308,  568, 1620,  566, 1620,  568, 1618,  566, 1620,  566, 512,  566, 512,  566, 1620,  566, 512,  566, 510,  566, 512,  564, 512,  564, 512,  564, 1620,  568, 1618,  568, 510,  576, 1614,  580, 502,  564, 510,  566, 512,  564, 512,  566, 510,  578, 502,  568, 508,  564, 1622,  566, 1620,  566, 1620,  566, 1620,  566, 1622,  578, 1610,  566, 1620,  566, 1620,  566, 512,  576, 504,  578, 502,  564, 1618,  574, 506,  564, 514,  564, 514,  564, 574,  516, 1612,  566, 512,  564, 514,  562, 514,  562, 514,  564, 574,  514, 504,  568, 1616,  566, 514,  564, 512,  570, 508,  562, 1622,  572, 506,  562, 514,  562, 538,  538, 1622,  564, 1622,  566};  // UNKNOWN 19A12C55

Note the 96 value at the start. That's IR noise the sensor is picking up. It's arriving before the start of the message (i.e. the 4416, 4284, values.) This is confusing the decoder(s).

Two ways to fix a lot of the problems you are having with your sensor/environmental issues is to set max_skip to 2-4 etc.

Or adjust the kTimeout parameter down to closer to the 15 mSecond value

#if DECODE_AC
// Some A/C units have gaps in their protocols of ~40ms. e.g. Kelvinator
// A value this large may swallow repeats of some protocols
const uint8_t kTimeout = 50;
#else // DECODE_AC
// Suits most messages, while not swallowing many repeats.
const uint8_t kTimeout = 15;
#endif // DECODE_AC

See also https://github.com/crankyoldgit/IRremoteESP8266/wiki/Troubleshooting-Guide#receiving-an-ir-signal

Due to how the micro controllers work on normal IR devices, a sent signal from the library will probably be understood better than the super-generic-try-to-do-everything IRrecv methods used by this library. In short, a normal device is looking for only one protocol, it can be more robust at decoding that one protocol. This library needs to be less rigorous and more flexible thus by design, can perform sub-optimally compared to real-world dedicated hardware and environments.

I have a KT-3888 Universal AC Remote which has about 700 AC protocols
Here are the supported ACs names, if you know any of these that uses any thing that you need i can try to help you with it's raw of data.

Thanks for the offer. We prefer data from OEM remotes so we know we are not re-implementing/reverse-engineering someone else's potentially dodgy implementation.

@Shalabyer
Copy link
Author

I'am Really thankful for all your time and answers that's very kind of you , but one last thing I'am sorry i tried and i need your help in it
in such a code how can i toggle power to turn off the AC,

 ac.next.protocol = strToDecodeType("AIRWELL");  // Change the protocol used.
      ac.next.power = true;  // We want to turn on the A/C unit.
  ac.next.mode =IRac::strToOpmode("Fan", stdAc::opmode_t::kFan);  // Run in cool mode initially.
  ac.next.degrees = 19;  
  ac.next.model = IRac::strToModel("",1);
  ac.next.fanspeed = IRac::strToFanspeed("Auto",stdAc::fanspeed_t::kAuto);
      Serial.println("Sending a message to turn ON the A/C unit.");
      ac.sendAc();  // Have the IRac class create and send a message.
      delay(5000);  // Wait 5 seconds.
      //ac.next.power = IRac::strToBool("Off",false);  
      Serial.println("Send a message to turn OFF the A/C unit.");
      ac.handleToggles();  //how can i deal it in here the right way
      //ac.sendAc();  // Send the message.
      delay(5000);

Also the problem i did stated about the TOSHIBA Protocol , keeping in mind that I'am using the default example and the power is not shifting.

@crankyoldgit crankyoldgit self-assigned this Aug 26, 2020
@crankyoldgit
Copy link
Owner

in such a code how can i toggle power to turn off the AC,

You don't need to do anything special other than change the value of ac.next.power between sending via .sendAc(); calls.
The IRac class should & was doing it all for you.
I think what you're not understanding is that, for A/Cs that use a "toggle" setting, such as Power on AIRWELLs is that the on and the off IR message are exactly the same.
e.g. An AIRWELL A/C that is off, when receiving the message 0x250500002 will then turn on, ... and subsequently, if it gets another 0x250500002 message, it will change from on to off, and vice versa. Thus the same message you saw repeated is exactly what the IRac class should be producing to do as you originally requested.

ac.next.protocol = AIRWELL;
ac.next.power = true;  // on
ac.sendAc();  // Will send 0x250500002. i.e. Toggle the power on the A/C unit. Hopefully Off to On.
ac.next.power = false;  // off
ac.sendAc();  // Will send 0x250500002. i.e. Toggle the power on the A/C unit. Hopefully On to Off.

The Hopefully comment is because there is no way the library can know the initial/actual power state of the Airwell A/C. You'd need to get them in sync.

@crankyoldgit
Copy link
Owner

Also the problem i did stated about the TOSHIBA Protocol , keeping in mind that I'am using the default example and the power is not shifting.

I haven't forgotten. I'm looking into that now.

crankyoldgit added a commit that referenced this issue Aug 27, 2020
* setPower() needs to happen after other functions that can change the operation mode.
* Unit tests added to help debug/confirm the issue has been fixed successfully.

Fixes #1250
@crankyoldgit
Copy link
Owner

I found the bug with Toshiba a/c, it will be fixed with PR #1251

crankyoldgit added a commit that referenced this issue Aug 27, 2020
* setPower() needs to happen after other functions that can change the operation mode.
* Unit tests added to help debug/confirm the issue has been fixed successfully.

Fixes #1250
@Shalabyer
Copy link
Author

e.g. An AIRWELL A/C that is off, when receiving the message 0x250500002 will then turn on, ... and subsequently, if it gets another 0x250500002 message, it will change from on to off, and vice versa. Thus the same message you saw repeated is exactly what the IRac class should be producing to do as you originally requested.

Oh i get it, Thanks for your great help and this great library, hope you get the bug fixed easily :)

@crankyoldgit
Copy link
Owner

hope you get the bug fixed easily

Already fixed in the master branch.

crankyoldgit added a commit that referenced this issue Aug 31, 2020
_v2.7.10 (20200831)_

**[BREAKING CHANGES]**
- move SPIFFS to LittleFS for ESP8266 (#1182 #1226)
- Daikin176: Change & increase operating mode values. (#1233 #1235)

**[Bug Fixes]**
- TOSHIBA_AC: not turning off when using `IRac` class. (#1250 #1251)
- Haier: change position of Fan speed bits. (#1246 #1247)

**[Features]**
- Voltas: Add detailed support for Voltas A/Cs (#1238 #1248)
- Add support for Metz protocol. (#1241 #1242)
- Basic support for Voltas A/C protocol (#1238 #1243)
- Add low level bit formatting sanity checks. (#1232)

**[Misc]**
- Rewrite Airwell by using bit fields (#1254)
- Rewrite Haier YRW02 using bit fields (#1253)
- rewrite Haier HSU07-HEA03 (#1246 #1247)
- rewrite ir_Gree & ir_Midea by using bit field (#1240)
- Incorrect usage of `assert()` (#1244 #1245 #1232)
- rewrite Gree (#1210)
crankyoldgit added a commit that referenced this issue Aug 31, 2020
## v2.7.10 release
_v2.7.10 (20200831)_

**[BREAKING CHANGES]**
- move SPIFFS to LittleFS for ESP8266 (#1182 #1226)
- Daikin176: Change & increase operating mode values. (#1233 #1235)

**[Bug Fixes]**
- TOSHIBA_AC: not turning off when using `IRac` class. (#1250 #1251)
- Haier: change position of Fan speed bits. (#1246 #1247)

**[Features]**
- Voltas: Add detailed support for Voltas A/Cs (#1238 #1248)
- Add support for Metz protocol. (#1241 #1242)
- Basic support for Voltas A/C protocol (#1238 #1243)
- Add low level bit formatting sanity checks. (#1232)

**[Misc]**
- Rewrite Airwell by using bit fields (#1254)
- Rewrite Haier YRW02 using bit fields (#1253)
- rewrite Haier HSU07-HEA03 (#1246 #1247)
- rewrite ir_Gree & ir_Midea by using bit field (#1240)
- Incorrect usage of `assert()` (#1244 #1245 #1232)
- rewrite Gree (#1210)
@crankyoldgit
Copy link
Owner

The code changes (Toshiba) mention have now been included in the newly released v2.7.10 of the library.

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

Successfully merging a pull request may close this issue.

2 participants