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

Need help: Here are some problem about HAIER_AC176. #1804

Closed
luolei69 opened this issue May 14, 2022 · 22 comments
Closed

Need help: Here are some problem about HAIER_AC176. #1804

luolei69 opened this issue May 14, 2022 · 22 comments
Assignees
Labels
enhancement more info Pending Confirmation Waiting for confirmation from user

Comments

@luolei69
Copy link

Version/revision of the library used

v2.8.2

Describe the bug

I have a remote from Haier KFR-26GW/83@UI-Ge that is reporting unknown using IRRecvdumpV2. BUT I can use HAIER_AC176 control my AC (Not all function is ok),There is my test:
Power: all ok
Model: all ok
Temp: all ok
Fan: ok ( have four Fan mode: Auto\Low\Medium\High)
Swing(V): The "Auto" is ok, else is not normal(PS: just have four Swing(V) mode)
Swing(H): don't have this function.
Quiet: don't have this function.
Turbo: all ok
Econo: on is ok, off not ok.
Light: no
Filter: don't have this function.
Clean: don't have this function.
Beep: don't have this function.

There is my RAW data:

Press Power on (Model: cool, Temp: 26, Fan:Low, Swing(V): Auto, Turbo: off, Econo: off, Light: on,.)

Timestamp : 000370.734
Library : v2.8.2

Protocol : UNKNOWN
Code : 0xB6B57D85 (163 Bits)
uint16_t rawData[325] = {3078, 3002, 3058, 4338, 590, 1612, 588, 516, 584, 1588, 586, 542, 560, 540, 560, 1590, 584, 1618, 584, 542, 558, 1592, 584, 542, 582, 1594, 584, 542, 582, 1592, 560, 1642, 560, 516, 558, 544, 558, 542, 558, 542, 582, 518, 558, 542, 558, 516, 558, 542, 558, 542, 582, 520, 558, 542, 558, 542, 564, 510, 608, 492, 558, 542, 582, 520, 558, 542, 558, 544, 582, 492, 608, 1594, 558, 544, 558, 542, 582, 494, 608, 494, 558, 544, 558, 542, 558, 544, 558, 1616, 582, 1620, 560, 542, 558, 542, 582, 494, 558, 542, 558, 542, 558, 544, 556, 542, 582, 520, 580, 494, 582, 520, 582, 520, 558, 542, 558, 542, 582, 520, 582, 492, 608, 1592, 582, 520, 558, 544, 558, 516, 584, 518, 558, 542, 582, 520, 580, 520, 582, 520, 580, 492, 584, 516, 556, 544, 582, 518, 580, 520, 580, 520, 580, 494, 606, 494, 580, 520, 580, 520, 582, 520, 580, 520, 556, 518, 608, 492, 580, 520, 556, 544, 580, 520, 580, 520, 580, 494, 606, 494, 580, 520, 580, 520, 580, 520, 580, 520, 580, 494, 606, 496, 578, 522, 580, 520, 580, 520, 580, 520, 580, 494, 606, 494, 580, 520, 580, 520, 580, 1594, 608, 494, 580, 1620, 580, 522, 580, 520, 580, 494, 578, 1620, 582, 520, 580, 1596, 582, 1620, 582, 1594, 608, 1594, 582, 522, 580, 1594, 582, 1620, 582, 520, 580, 1596, 582, 520, 580, 1620, 582, 494, 606, 496, 580, 522, 580, 522, 580, 520, 580, 520, 580, 496, 604, 496, 580, 520, 580, 1620, 582, 1594, 582, 522, 578, 522, 580, 522, 578, 522, 580, 496, 580, 522, 578, 522, 578, 522, 578, 524, 578, 522, 578, 496, 578, 522, 578, 522, 578, 546, 554, 522, 578, 522, 578, 520, 556, 546, 554, 546, 554, 546, 556, 544, 556, 546, 554, 520, 554, 544, 556, 1620, 582, 544, 556, 1594, 580, 546, 556, 1594, 580}; // UNKNOWN B6B57D85

Model: Dry, Temp: 26, Fan:Low, Swing(V): Auto, Turbo: off, Econo: off, Light: on,.

Timestamp : 000612.706
Library : v2.8.2

Protocol : UNKNOWN
Code : 0x8C9E34DB (163 Bits)
uint16_t rawData[325] = {3074, 3000, 3054, 4338, 588, 1612, 588, 540, 560, 1588, 586, 540, 584, 518, 560, 1590, 608, 1594, 582, 542, 582, 1590, 560, 540, 582, 1618, 584, 516, 584, 1590, 560, 1640, 584, 490, 558, 540, 560, 540, 582, 518, 582, 518, 582, 518, 558, 516, 558, 542, 582, 518, 582, 518, 582, 518, 582, 518, 558, 516, 584, 516, 582, 518, 582, 518, 558, 542, 582, 518, 580, 492, 584, 1614, 558, 542, 582, 518, 580, 492, 608, 492, 582, 518, 558, 542, 558, 542, 580, 1592, 560, 1642, 582, 518, 558, 542, 582, 492, 582, 520, 580, 518, 582, 518, 580, 518, 582, 518, 582, 492, 582, 518, 582, 518, 582, 520, 556, 542, 582, 520, 556, 1616, 582, 518, 582, 518, 580, 518, 558, 516, 608, 492, 580, 518, 582, 518, 582, 520, 580, 518, 582, 492, 606, 492, 580, 518, 582, 518, 582, 518, 580, 520, 580, 492, 608, 492, 582, 518, 582, 518, 582, 518, 580, 520, 580, 492, 608, 492, 580, 518, 582, 518, 580, 520, 580, 520, 582, 492, 606, 494, 580, 520, 580, 518, 580, 520, 582, 520, 580, 494, 606, 492, 582, 518, 580, 520, 580, 518, 580, 520, 580, 494, 606, 492, 580, 520, 580, 520, 580, 1618, 582, 1592, 582, 520, 580, 520, 580, 520, 580, 1592, 582, 1618, 582, 1592, 582, 520, 580, 520, 580, 520, 580, 1592, 582, 520, 580, 1620, 582, 1592, 582, 520, 580, 1618, 582, 494, 580, 1620, 582, 520, 578, 520, 580, 494, 606, 494, 580, 520, 580, 522, 580, 520, 580, 520, 580, 494, 606, 1594, 582, 1618, 582, 494, 580, 520, 580, 520, 580, 520, 580, 520, 580, 520, 580, 494, 580, 520, 580, 520, 580, 520, 580, 522, 578, 520, 580, 494, 580, 520, 580, 520, 580, 520, 580, 520, 580, 520, 580, 494, 580, 520, 580, 520, 580, 520, 580, 522, 578, 520, 580, 1592, 582, 520, 580, 1592, 608, 494, 580, 1620, 582}; // UNKNOWN 8C9E34DB

Model: Fan, Temp: 26, Fan:Low, Swing(V): Auto, Turbo: off, Econo: off, Light: on,.

Timestamp : 000710.484
Library : v2.8.2

Protocol : UNKNOWN
Code : 0xEB5ACABD (163 Bits)
uint16_t rawData[325] = {3074, 2998, 3052, 4336, 588, 1612, 586, 540, 560, 1588, 586, 540, 560, 540, 558, 1590, 584, 1616, 584, 542, 558, 1614, 560, 542, 582, 1618, 558, 542, 558, 1616, 560, 1642, 558, 516, 558, 542, 558, 542, 558, 542, 558, 542, 558, 542, 558, 516, 582, 518, 558, 542, 558, 542, 582, 518, 582, 518, 558, 516, 584, 516, 558, 542, 558, 542, 558, 542, 558, 542, 558, 516, 584, 1616, 558, 542, 580, 518, 558, 516, 606, 492, 580, 518, 582, 518, 558, 542, 556, 1616, 582, 1618, 560, 542, 556, 544, 556, 516, 582, 518, 556, 544, 556, 542, 558, 542, 558, 542, 556, 518, 580, 520, 556, 542, 558, 542, 558, 542, 580, 1592, 558, 1642, 558, 544, 556, 542, 558, 516, 556, 544, 580, 520, 580, 520, 556, 544, 556, 542, 580, 492, 558, 544, 556, 542, 580, 520, 580, 520, 580, 520, 558, 516, 580, 520, 580, 520, 580, 520, 580, 520, 580, 494, 582, 518, 580, 520, 580, 520, 580, 520, 580, 520, 580, 520, 580, 494, 580, 520, 580, 520, 580, 520, 580, 520, 580, 520, 556, 518, 580, 520, 580, 520, 580, 520, 580, 520, 580, 520, 580, 494, 580, 520, 580, 520, 580, 520, 580, 520, 580, 1592, 582, 1618, 582, 520, 580, 1594, 582, 520, 580, 1620, 582, 1592, 582, 1618, 580, 494, 606, 494, 578, 522, 578, 1620, 582, 520, 580, 1592, 582, 1620, 580, 494, 606, 1594, 580, 520, 578, 1592, 582, 520, 580, 520, 578, 522, 580, 520, 578, 520, 578, 496, 578, 520, 578, 520, 580, 520, 580, 1592, 608, 1592, 582, 520, 580, 522, 578, 496, 606, 494, 578, 522, 578, 522, 578, 522, 578, 522, 578, 496, 604, 496, 578, 522, 578, 522, 578, 522, 578, 522, 578, 496, 604, 496, 578, 544, 556, 544, 554, 546, 554, 544, 556, 520, 580, 520, 554, 546, 554, 546, 556, 1620, 580, 518, 554, 1620, 580, 546, 554, 1594, 580}; // UNKNOWN EB5ACABD

Model: Heat, Temp: 26, Fan:Low, Swing(V): Auto, Turbo: off, Econo: off, Light: on,.

Timestamp : 000816.119
Library : v2.8.2

Protocol : UNKNOWN
Code : 0x9A0F1E9F (163 Bits)
uint16_t rawData[325] = {3076, 3000, 3054, 4338, 588, 1614, 588, 538, 562, 1588, 586, 540, 560, 540, 560, 1590, 586, 1616, 608, 518, 582, 1568, 606, 518, 582, 1618, 560, 540, 582, 1590, 560, 1640, 560, 514, 558, 542, 558, 542, 582, 518, 558, 542, 558, 542, 582, 492, 582, 516, 582, 518, 582, 518, 582, 518, 582, 518, 582, 490, 584, 516, 558, 542, 558, 542, 582, 518, 582, 518, 558, 1616, 582, 1618, 582, 518, 582, 492, 580, 518, 582, 518, 580, 520, 558, 540, 582, 518, 582, 1592, 584, 1616, 560, 516, 582, 516, 582, 518, 582, 518, 582, 518, 558, 542, 558, 516, 584, 514, 582, 518, 582, 518, 556, 542, 558, 542, 582, 518, 582, 1590, 560, 542, 582, 518, 582, 518, 582, 492, 582, 518, 582, 518, 582, 518, 582, 518, 582, 518, 582, 492, 582, 518, 582, 518, 580, 520, 580, 518, 582, 518, 558, 516, 582, 518, 582, 518, 580, 518, 582, 520, 556, 516, 608, 492, 580, 518, 582, 520, 580, 518, 582, 518, 580, 520, 580, 492, 580, 520, 580, 520, 580, 518, 580, 520, 580, 518, 580, 494, 580, 520, 580, 518, 580, 520, 580, 520, 580, 520, 580, 492, 580, 520, 580, 518, 580, 520, 580, 518, 580, 1592, 582, 1618, 582, 520, 580, 1592, 582, 1618, 582, 1592, 582, 1618, 582, 1592, 582, 520, 580, 520, 580, 520, 580, 1592, 582, 520, 580, 1618, 582, 1592, 582, 520, 580, 1618, 582, 520, 580, 1592, 582, 520, 580, 520, 580, 520, 580, 494, 580, 520, 578, 520, 580, 520, 580, 520, 578, 520, 580, 1592, 582, 1618, 582, 520, 578, 494, 580, 520, 578, 522, 580, 520, 578, 522, 578, 520, 580, 494, 580, 522, 578, 522, 578, 522, 578, 522, 578, 522, 578, 494, 580, 522, 578, 522, 578, 522, 578, 522, 578, 496, 604, 496, 578, 544, 556, 544, 554, 544, 556, 544, 554, 1592, 580, 546, 554, 1620, 580, 518, 582, 1592, 580}; // UNKNOWN 9A0F1E9F

Model: Auto, Temp: -, Fan:Low, Swing(V): Auto, Turbo: off, Econo: off, Light: on,.

Timestamp : 000982.264
Library : v2.8.2

Protocol : UNKNOWN
Code : 0x756D3EE9 (163 Bits)
uint16_t rawData[325] = {3074, 2998, 3050, 4334, 588, 1610, 588, 514, 584, 1588, 586, 540, 560, 540, 558, 1590, 608, 1592, 584, 542, 558, 1590, 584, 542, 558, 1640, 560, 540, 558, 1614, 558, 1640, 558, 516, 558, 542, 558, 542, 558, 542, 558, 542, 556, 542, 580, 492, 556, 542, 556, 542, 582, 518, 580, 518, 580, 520, 580, 492, 608, 490, 558, 542, 580, 518, 580, 518, 558, 542, 582, 1590, 582, 1618, 580, 520, 580, 492, 582, 518, 558, 542, 558, 542, 580, 518, 580, 518, 582, 1590, 582, 1616, 558, 516, 606, 494, 556, 542, 556, 542, 580, 520, 580, 518, 582, 492, 608, 492, 556, 542, 582, 518, 580, 520, 580, 518, 580, 494, 606, 492, 580, 518, 580, 518, 580, 520, 580, 518, 580, 492, 606, 494, 580, 518, 580, 520, 580, 520, 580, 520, 580, 492, 606, 494, 580, 520, 580, 518, 580, 518, 580, 518, 580, 494, 606, 492, 580, 520, 580, 520, 580, 520, 580, 518, 580, 492, 606, 492, 580, 520, 580, 520, 580, 518, 580, 518, 580, 492, 608, 492, 580, 520, 580, 518, 580, 520, 580, 518, 580, 492, 606, 494, 580, 520, 580, 518, 580, 520, 580, 518, 580, 494, 606, 494, 580, 520, 580, 520, 580, 1618, 582, 1592, 582, 518, 580, 520, 578, 1592, 582, 1618, 582, 1594, 580, 1618, 582, 518, 580, 520, 580, 494, 606, 1592, 580, 520, 580, 1592, 582, 1618, 580, 522, 578, 1592, 580, 520, 580, 1618, 580, 494, 606, 494, 580, 520, 578, 520, 580, 520, 580, 520, 578, 494, 606, 494, 580, 520, 578, 1620, 582, 1592, 580, 520, 580, 520, 580, 520, 578, 522, 578, 494, 578, 520, 578, 522, 580, 520, 578, 522, 578, 522, 578, 494, 580, 522, 578, 520, 578, 522, 578, 522, 578, 520, 580, 494, 578, 522, 578, 522, 578, 520, 578, 522, 578, 520, 578, 496, 578, 522, 578, 1620, 580, 522, 578, 1592, 580, 522, 578, 1594, 580}; // UNKNOWN 756D3EE9

Model: cool, Temp: 26, Fan:Low, Swing(V): Highest, Turbo: off, Econo: off, Light: on,.

Timestamp : 001139.395
Library : v2.8.2

Protocol : UNKNOWN
Code : 0xEE0CB615 (163 Bits)
uint16_t rawData[325] = {3076, 2996, 3054, 4332, 590, 1608, 614, 488, 588, 1584, 612, 514, 560, 540, 560, 1590, 608, 1616, 560, 540, 584, 1590, 560, 540, 584, 1616, 582, 518, 582, 490, 582, 518, 582, 1618, 584, 516, 582, 490, 582, 518, 582, 518, 582, 518, 582, 518, 582, 518, 582, 492, 582, 518, 582, 518, 582, 518, 582, 516, 582, 518, 582, 492, 582, 516, 582, 518, 582, 518, 582, 516, 582, 1592, 582, 518, 582, 518, 582, 518, 558, 542, 582, 490, 582, 516, 582, 518, 582, 1616, 582, 1592, 582, 516, 582, 516, 582, 518, 582, 518, 582, 490, 582, 518, 580, 518, 582, 518, 582, 518, 582, 518, 580, 492, 582, 518, 580, 518, 582, 516, 582, 518, 582, 1590, 582, 518, 582, 518, 582, 518, 580, 518, 582, 490, 582, 518, 580, 518, 582, 516, 582, 518, 580, 518, 580, 492, 582, 518, 582, 518, 582, 518, 582, 518, 582, 518, 580, 492, 582, 518, 582, 518, 580, 518, 582, 518, 580, 520, 580, 492, 582, 518, 582, 518, 582, 518, 580, 518, 580, 518, 580, 492, 582, 518, 580, 518, 582, 518, 580, 518, 580, 518, 582, 492, 582, 518, 582, 518, 582, 518, 580, 518, 580, 518, 582, 492, 580, 518, 580, 518, 580, 1620, 580, 492, 608, 492, 582, 518, 580, 520, 580, 518, 582, 1592, 580, 520, 580, 1618, 580, 520, 580, 1594, 580, 520, 580, 1618, 582, 1592, 582, 520, 580, 1592, 582, 520, 578, 1620, 580, 520, 580, 492, 606, 492, 582, 518, 580, 520, 580, 520, 580, 520, 580, 494, 606, 494, 580, 1622, 580, 1594, 580, 520, 580, 520, 580, 520, 580, 520, 580, 520, 580, 492, 580, 520, 580, 520, 580, 520, 580, 520, 580, 520, 580, 494, 580, 520, 580, 520, 580, 520, 578, 520, 580, 520, 580, 494, 580, 520, 580, 520, 578, 520, 580, 520, 580, 520, 580, 494, 580, 1620, 580, 522, 580, 1594, 580, 520, 580, 1620, 580}; // UNKNOWN EE0CB615

Model: cool, Temp: 26, Fan:Low, Swing(V): High, Turbo: off, Econo: off, Light: on,.

Timestamp : 001212.780
Library : v2.8.2

Protocol : UNKNOWN
Code : 0xC5D79423 (163 Bits)
uint16_t rawData[325] = {3076, 2996, 3056, 4332, 614, 1584, 590, 512, 588, 1584, 612, 516, 560, 540, 584, 1590, 584, 1614, 584, 516, 582, 1590, 582, 516, 582, 1616, 582, 518, 582, 490, 584, 1616, 582, 518, 582, 518, 582, 490, 582, 516, 582, 518, 580, 518, 582, 518, 582, 516, 582, 490, 582, 518, 582, 516, 584, 516, 582, 516, 582, 516, 586, 488, 582, 518, 582, 516, 582, 518, 558, 542, 582, 1590, 582, 516, 582, 516, 582, 516, 582, 518, 582, 492, 580, 518, 582, 516, 582, 1618, 580, 1592, 582, 518, 582, 518, 582, 518, 582, 518, 582, 492, 582, 518, 582, 518, 582, 518, 582, 518, 582, 518, 582, 492, 582, 518, 582, 518, 582, 518, 582, 518, 582, 1590, 582, 518, 582, 518, 582, 518, 582, 518, 582, 490, 582, 518, 580, 518, 580, 518, 580, 518, 580, 518, 580, 492, 582, 518, 582, 518, 582, 518, 582, 518, 582, 518, 582, 490, 582, 518, 582, 518, 582, 518, 582, 518, 582, 518, 582, 490, 582, 518, 580, 518, 580, 518, 580, 518, 580, 518, 582, 492, 580, 518, 582, 518, 580, 518, 580, 518, 582, 518, 582, 490, 582, 518, 580, 518, 580, 520, 580, 518, 582, 518, 582, 492, 580, 518, 580, 518, 582, 1618, 580, 492, 606, 492, 582, 518, 582, 518, 580, 518, 580, 1594, 580, 1618, 582, 518, 580, 518, 582, 1592, 580, 520, 580, 1618, 582, 1592, 580, 520, 580, 1592, 580, 520, 580, 1618, 582, 518, 580, 492, 608, 492, 580, 520, 580, 520, 580, 518, 580, 520, 580, 492, 608, 492, 580, 1618, 580, 1592, 580, 518, 580, 518, 580, 518, 580, 518, 580, 520, 580, 492, 580, 520, 580, 520, 580, 520, 580, 520, 580, 520, 580, 492, 580, 520, 580, 520, 580, 518, 580, 520, 580, 520, 580, 494, 580, 520, 580, 520, 580, 520, 580, 520, 580, 520, 580, 494, 580, 1620, 580, 520, 578, 1594, 580, 520, 580, 1620, 580}; // UNKNOWN C5D79423

Model: cool, Temp: 26, Fan:Low, Swing(V): Middle, Turbo: off, Econo: off, Light: on,.

Timestamp : 001271.942
Library : v2.8.2

Protocol : UNKNOWN
Code : 0xC6038C0B (163 Bits)
uint16_t rawData[325] = {3076, 2996, 3054, 4334, 592, 1608, 614, 486, 612, 1560, 588, 540, 584, 516, 560, 1614, 584, 1614, 582, 518, 584, 1590, 582, 518, 582, 1616, 582, 518, 582, 490, 582, 1616, 584, 1590, 582, 518, 558, 542, 582, 518, 582, 518, 582, 518, 582, 492, 582, 516, 582, 518, 582, 518, 582, 518, 582, 516, 582, 492, 608, 492, 582, 518, 580, 518, 582, 518, 582, 516, 582, 492, 608, 1592, 584, 516, 582, 518, 582, 492, 608, 492, 582, 518, 582, 518, 582, 518, 582, 1592, 582, 1618, 582, 518, 582, 518, 584, 490, 582, 518, 582, 518, 582, 518, 580, 518, 582, 518, 582, 492, 582, 518, 582, 518, 582, 518, 582, 518, 582, 518, 582, 490, 608, 1592, 582, 518, 582, 520, 580, 492, 608, 492, 582, 518, 582, 518, 582, 518, 582, 518, 582, 492, 608, 494, 580, 518, 582, 518, 582, 518, 582, 518, 582, 492, 608, 492, 582, 518, 582, 518, 580, 520, 580, 518, 582, 492, 608, 492, 582, 518, 582, 518, 582, 518, 580, 520, 582, 492, 608, 492, 582, 520, 580, 518, 582, 518, 580, 518, 580, 492, 608, 492, 582, 518, 580, 520, 582, 518, 580, 518, 582, 492, 606, 492, 582, 518, 580, 518, 582, 518, 582, 1592, 582, 518, 580, 518, 580, 518, 580, 520, 580, 518, 580, 1592, 582, 1618, 580, 1594, 580, 518, 580, 1620, 580, 494, 580, 1620, 582, 1592, 606, 492, 582, 1618, 580, 520, 580, 1594, 580, 520, 580, 518, 580, 520, 582, 518, 580, 494, 580, 518, 580, 520, 580, 520, 582, 520, 580, 1594, 580, 1620, 580, 520, 580, 494, 608, 492, 580, 520, 580, 520, 580, 518, 580, 520, 580, 494, 606, 494, 580, 520, 580, 520, 580, 520, 580, 520, 580, 494, 606, 494, 580, 520, 582, 520, 580, 520, 580, 520, 580, 492, 608, 492, 580, 520, 580, 520, 580, 520, 580, 1594, 580, 520, 580, 1620, 580, 520, 580, 1594, 580}; // UNKNOWN C6038C0B

Model: cool, Temp: 26, Fan:Low, Swing(V): Low, Turbo: off, Econo: off, Light: on,.

Timestamp : 001291.308
Library : v2.8.2

Protocol : UNKNOWN
Code : 0xDEDDA7 (163 Bits)
uint16_t rawData[325] = {3076, 2996, 3056, 4334, 590, 1610, 590, 510, 612, 1562, 610, 516, 560, 540, 560, 1588, 608, 1616, 584, 516, 584, 1590, 582, 516, 582, 1618, 582, 518, 582, 1590, 584, 516, 582, 516, 582, 518, 558, 516, 582, 518, 582, 518, 582, 518, 582, 516, 582, 518, 582, 492, 582, 518, 582, 518, 582, 518, 582, 518, 582, 518, 558, 514, 582, 518, 582, 518, 582, 518, 582, 518, 582, 1590, 582, 518, 582, 518, 582, 518, 582, 518, 582, 492, 580, 518, 580, 518, 580, 1616, 582, 1590, 582, 518, 580, 518, 580, 518, 582, 518, 580, 492, 582, 518, 582, 518, 582, 518, 580, 518, 580, 518, 582, 492, 582, 518, 580, 518, 580, 518, 580, 518, 580, 1592, 582, 518, 580, 518, 582, 518, 580, 518, 582, 492, 582, 518, 582, 518, 580, 518, 582, 518, 580, 520, 580, 492, 580, 520, 582, 518, 582, 518, 580, 518, 582, 518, 582, 492, 582, 518, 582, 518, 580, 518, 580, 520, 580, 518, 580, 492, 580, 518, 580, 518, 580, 518, 582, 518, 582, 518, 582, 492, 580, 520, 580, 520, 580, 520, 580, 520, 580, 520, 580, 492, 580, 518, 580, 520, 582, 518, 580, 520, 580, 520, 580, 492, 582, 518, 580, 520, 580, 1618, 582, 492, 606, 492, 580, 520, 580, 520, 580, 1618, 582, 492, 580, 520, 580, 520, 580, 520, 580, 1592, 582, 518, 580, 1620, 580, 1592, 580, 520, 582, 1616, 582, 520, 580, 1592, 582, 520, 580, 520, 580, 518, 580, 494, 580, 520, 580, 520, 580, 520, 580, 520, 580, 520, 580, 1592, 582, 1620, 580, 520, 580, 494, 580, 520, 580, 520, 580, 520, 580, 520, 580, 520, 580, 494, 580, 520, 580, 520, 580, 520, 580, 520, 578, 520, 580, 492, 580, 520, 580, 520, 580, 520, 580, 520, 578, 494, 606, 492, 580, 520, 580, 520, 580, 520, 580, 520, 580, 1592, 580, 520, 578, 1620, 580, 494, 606, 1594, 580}; // UNKNOWN DEDDA7

Model: cool, Temp: 26, Fan:Low, Swing(V): Auto, Turbo: off, Econo: off, Light: on,.

Timestamp : 001345.549
Library : v2.8.2

Protocol : UNKNOWN
Code : 0x8CAAFC9 (163 Bits)
uint16_t rawData[325] = {3076, 2998, 3054, 4336, 588, 1612, 588, 512, 586, 1586, 586, 540, 560, 540, 560, 1590, 584, 1616, 608, 518, 582, 1568, 606, 518, 582, 1618, 582, 518, 582, 1592, 582, 1618, 582, 492, 582, 518, 582, 518, 582, 518, 582, 518, 580, 518, 558, 516, 582, 518, 582, 518, 580, 520, 582, 518, 582, 520, 580, 492, 608, 492, 582, 518, 582, 518, 582, 518, 582, 518, 582, 492, 608, 1592, 582, 518, 582, 518, 582, 492, 608, 492, 582, 518, 582, 518, 582, 518, 582, 1592, 582, 1618, 582, 518, 582, 518, 582, 492, 582, 518, 558, 542, 582, 518, 582, 518, 580, 518, 582, 492, 582, 518, 582, 518, 580, 518, 582, 518, 580, 518, 580, 492, 608, 1592, 582, 518, 582, 518, 582, 492, 608, 492, 582, 518, 582, 518, 582, 518, 582, 518, 580, 494, 606, 492, 582, 518, 580, 518, 582, 520, 580, 518, 582, 492, 608, 492, 580, 518, 580, 518, 582, 518, 582, 518, 580, 492, 606, 492, 582, 518, 582, 518, 580, 518, 582, 518, 580, 494, 606, 492, 580, 520, 580, 520, 580, 518, 582, 518, 580, 492, 608, 492, 582, 518, 580, 520, 580, 520, 580, 520, 580, 492, 608, 492, 580, 520, 580, 520, 580, 518, 582, 1592, 582, 518, 582, 520, 580, 520, 582, 520, 580, 1594, 580, 520, 580, 1620, 582, 492, 580, 520, 580, 1620, 582, 520, 580, 1594, 580, 1620, 580, 520, 580, 1594, 580, 520, 580, 1620, 582, 492, 582, 518, 580, 520, 580, 520, 580, 520, 580, 494, 606, 494, 580, 520, 580, 520, 580, 1620, 580, 1594, 580, 520, 580, 520, 580, 520, 580, 494, 580, 520, 580, 520, 580, 520, 580, 520, 580, 520, 580, 494, 582, 518, 580, 520, 580, 520, 580, 520, 580, 520, 580, 494, 606, 494, 580, 520, 580, 520, 580, 520, 580, 520, 580, 494, 606, 494, 580, 520, 580, 1620, 580, 520, 578, 1594, 580, 520, 580, 1594, 580}; // UNKNOWN 8CAAFC9

Model: cool, Temp: 26, Fan:Low, Swing(V): Auto, Turbo: off, Econo: off, Light: off,.

Timestamp : 001984.229
Library : v2.8.2

Protocol : UNKNOWN
Code : 0x49085FEB (163 Bits)
uint16_t rawData[325] = {3046, 2976, 3072, 4308, 610, 1590, 608, 492, 606, 1566, 606, 492, 606, 492, 606, 1566, 608, 1592, 604, 492, 606, 1566, 606, 492, 608, 1590, 606, 492, 608, 1564, 608, 1592, 606, 466, 606, 494, 606, 492, 606, 492, 604, 518, 582, 492, 608, 466, 606, 492, 608, 494, 604, 494, 606, 490, 606, 492, 606, 466, 632, 490, 582, 494, 604, 492, 606, 492, 608, 492, 606, 468, 630, 1566, 606, 492, 606, 494, 604, 468, 630, 466, 606, 492, 608, 490, 606, 494, 604, 1566, 604, 1616, 582, 492, 604, 516, 582, 490, 582, 492, 606, 516, 582, 516, 582, 516, 582, 516, 556, 518, 580, 516, 582, 494, 604, 494, 604, 518, 582, 494, 604, 492, 608, 1566, 604, 494, 606, 516, 582, 490, 608, 490, 580, 518, 582, 518, 580, 492, 606, 518, 580, 492, 582, 494, 604, 518, 580, 494, 604, 518, 580, 518, 580, 492, 608, 490, 580, 518, 580, 518, 580, 496, 604, 518, 580, 492, 606, 490, 582, 518, 580, 518, 580, 518, 580, 518, 580, 492, 606, 494, 580, 518, 580, 518, 580, 518, 582, 516, 582, 492, 606, 492, 582, 516, 582, 518, 582, 516, 580, 520, 578, 492, 606, 492, 580, 1618, 580, 518, 582, 1592, 580, 518, 582, 1616, 580, 492, 606, 492, 580, 1616, 556, 544, 580, 518, 580, 1590, 580, 1618, 580, 1592, 580, 1618, 580, 518, 582, 1590, 580, 1618, 580, 492, 606, 1592, 580, 518, 580, 1592, 580, 520, 580, 518, 580, 520, 580, 520, 580, 518, 580, 492, 580, 518, 580, 520, 578, 518, 578, 1594, 606, 1592, 580, 520, 580, 520, 580, 492, 604, 494, 580, 520, 580, 518, 580, 520, 580, 520, 580, 492, 606, 494, 578, 520, 580, 520, 580, 520, 580, 520, 578, 494, 606, 494, 580, 520, 580, 520, 578, 520, 580, 518, 580, 494, 604, 496, 578, 520, 580, 520, 578, 1620, 578, 494, 580, 1620, 578, 520, 578, 1594, 578}; // UNKNOWN 49085FEB

Model: cool, Temp: 26, Fan:Low, Swing(V): Auto, Turbo: off, Econo: on, Light: on,.

Timestamp : 002818.648
Library : v2.8.2

Protocol : UNKNOWN
Code : 0x49085FEB (163 Bits)
uint16_t rawData[325] = {3046, 2974, 3072, 4310, 610, 1590, 608, 492, 606, 1566, 608, 492, 606, 496, 606, 1566, 606, 1592, 606, 492, 606, 1566, 582, 518, 606, 1592, 606, 492, 606, 1566, 606, 1592, 606, 466, 606, 516, 582, 518, 582, 518, 582, 492, 606, 492, 606, 466, 606, 516, 582, 492, 606, 494, 606, 494, 604, 518, 558, 492, 632, 468, 606, 494, 604, 492, 606, 494, 606, 516, 582, 490, 608, 1592, 580, 518, 582, 492, 604, 468, 630, 492, 580, 496, 604, 494, 604, 494, 604, 1592, 580, 1594, 604, 494, 606, 494, 604, 490, 582, 516, 580, 518, 582, 494, 606, 516, 582, 516, 582, 490, 582, 518, 580, 518, 580, 518, 580, 518, 582, 516, 582, 492, 606, 1566, 604, 518, 556, 542, 582, 492, 608, 492, 580, 518, 580, 518, 580, 518, 582, 516, 582, 492, 606, 490, 582, 518, 580, 518, 580, 518, 582, 516, 582, 492, 606, 492, 582, 518, 582, 516, 580, 518, 582, 518, 580, 490, 608, 490, 580, 518, 582, 518, 580, 518, 582, 518, 582, 490, 608, 490, 582, 518, 580, 518, 580, 518, 580, 518, 580, 490, 608, 492, 580, 518, 580, 518, 582, 516, 580, 520, 580, 492, 606, 492, 580, 1616, 580, 518, 580, 1590, 580, 518, 580, 1618, 580, 492, 606, 492, 580, 1618, 580, 518, 580, 518, 580, 1592, 580, 1618, 580, 1592, 580, 1618, 580, 518, 580, 1590, 580, 1618, 580, 492, 606, 1592, 578, 520, 580, 1590, 580, 518, 578, 520, 580, 518, 578, 520, 580, 518, 578, 494, 580, 518, 578, 518, 580, 518, 580, 1592, 604, 1592, 578, 520, 580, 518, 580, 492, 606, 494, 578, 518, 580, 520, 580, 518, 580, 518, 580, 492, 606, 492, 578, 520, 578, 520, 578, 520, 578, 520, 578, 494, 604, 494, 578, 520, 578, 520, 578, 520, 580, 518, 580, 492, 606, 492, 578, 520, 580, 520, 578, 1618, 578, 494, 578, 1620, 578, 522, 576, 1594, 578}; // UNKNOWN 49085FEB

Model: cool, Temp: 26, Fan:Low, Swing(V): Auto, Turbo: off, Econo: on, Light: on,.

Timestamp : 002941.078
Library : v2.8.2

Protocol : UNKNOWN
Code : 0xBE022BED (163 Bits)
uint16_t rawData[325] = {3072, 2996, 3052, 4332, 588, 1612, 586, 516, 584, 1586, 586, 540, 558, 540, 558, 1588, 584, 1614, 584, 540, 558, 1590, 582, 540, 558, 1640, 558, 542, 558, 1614, 558, 1640, 582, 492, 558, 540, 558, 540, 558, 542, 580, 518, 558, 540, 558, 514, 558, 542, 558, 542, 556, 542, 580, 518, 558, 542, 558, 516, 582, 516, 582, 516, 558, 542, 556, 1614, 608, 492, 582, 518, 556, 1642, 580, 518, 558, 514, 558, 542, 580, 520, 556, 542, 556, 542, 558, 542, 558, 1614, 558, 1640, 558, 516, 606, 492, 556, 542, 556, 542, 558, 542, 580, 518, 556, 516, 584, 516, 556, 542, 556, 542, 582, 518, 580, 518, 580, 492, 606, 492, 558, 542, 556, 1640, 558, 542, 556, 518, 580, 518, 556, 542, 556, 544, 556, 542, 580, 518, 556, 518, 578, 520, 580, 518, 556, 544, 578, 520, 556, 542, 580, 492, 580, 520, 580, 520, 580, 518, 580, 518, 580, 494, 606, 494, 580, 520, 580, 518, 580, 520, 580, 520, 578, 520, 580, 494, 580, 520, 578, 520, 580, 518, 580, 520, 580, 520, 580, 492, 580, 520, 580, 518, 580, 520, 578, 520, 580, 520, 578, 494, 580, 518, 580, 520, 580, 520, 580, 520, 580, 1590, 582, 1616, 582, 1590, 580, 520, 580, 520, 578, 520, 578, 1592, 580, 1618, 580, 520, 580, 1590, 580, 1618, 580, 1592, 580, 520, 578, 1618, 580, 1592, 580, 520, 578, 1618, 580, 520, 578, 1592, 580, 520, 578, 520, 578, 520, 580, 494, 578, 520, 578, 520, 578, 522, 578, 522, 578, 520, 578, 1592, 580, 1618, 582, 522, 578, 494, 578, 520, 578, 520, 580, 520, 578, 522, 578, 520, 578, 494, 578, 522, 578, 522, 578, 520, 578, 522, 578, 546, 554, 496, 578, 544, 554, 544, 554, 544, 554, 544, 554, 518, 580, 518, 554, 544, 556, 544, 554, 544, 554, 544, 554, 1594, 580, 546, 554, 1618, 580, 520, 580, 1594, 580}; // UNKNOWN BE022BED

Model: cool, Temp: 26, Fan:Low, Swing(V): Auto, Turbo: off, Econo: off, Light: on,.

Timestamp : 002997.360
Library : v2.8.2

Protocol : UNKNOWN
Code : 0x86992933 (163 Bits)
uint16_t rawData[325] = {3070, 2996, 3050, 4334, 588, 1610, 588, 512, 586, 1586, 586, 540, 560, 540, 558, 1588, 584, 1614, 584, 540, 558, 1590, 582, 540, 558, 1616, 582, 542, 582, 1588, 560, 1640, 558, 516, 558, 542, 558, 540, 558, 540, 558, 542, 556, 542, 558, 516, 580, 518, 556, 542, 556, 542, 580, 518, 558, 542, 580, 492, 582, 516, 558, 540, 558, 542, 558, 542, 556, 542, 580, 492, 606, 1590, 558, 542, 556, 542, 556, 516, 606, 492, 556, 542, 556, 542, 580, 518, 556, 1614, 558, 1640, 558, 542, 556, 542, 580, 492, 556, 542, 556, 542, 556, 542, 556, 542, 580, 518, 580, 492, 556, 542, 556, 542, 556, 542, 556, 542, 556, 542, 580, 492, 584, 1614, 582, 518, 580, 518, 558, 516, 582, 516, 556, 542, 556, 542, 580, 518, 580, 520, 580, 492, 582, 516, 582, 518, 580, 518, 556, 542, 580, 518, 556, 516, 606, 492, 580, 518, 580, 518, 580, 518, 580, 518, 580, 492, 582, 516, 556, 542, 580, 520, 556, 542, 580, 520, 580, 492, 606, 494, 580, 520, 556, 542, 580, 518, 580, 520, 580, 492, 606, 492, 580, 520, 580, 520, 580, 520, 578, 520, 580, 492, 606, 494, 578, 520, 580, 520, 578, 1618, 582, 1590, 580, 1618, 580, 494, 606, 492, 580, 520, 580, 1618, 582, 1590, 580, 520, 578, 520, 580, 1590, 608, 1590, 580, 520, 580, 1590, 582, 1618, 580, 520, 580, 1590, 580, 520, 578, 1618, 580, 494, 606, 494, 578, 520, 578, 520, 578, 520, 578, 522, 578, 494, 604, 494, 578, 520, 578, 1616, 580, 1592, 580, 520, 578, 520, 578, 520, 578, 520, 578, 494, 578, 522, 578, 520, 578, 522, 578, 520, 578, 522, 578, 494, 578, 522, 578, 520, 578, 522, 576, 520, 578, 522, 578, 496, 576, 522, 576, 522, 578, 522, 576, 522, 578, 522, 576, 496, 578, 544, 556, 1616, 580, 522, 576, 1592, 580, 544, 554, 1592, 580}; // UNKNOWN 86992933

If you need other data from me, I'll be happy to help.
Thank you again.

@luolei69 luolei69 changed the title Need help: Here are some questions about HAIER_AC176. Need help: Here are some problem about HAIER_AC176. May 14, 2022
@crankyoldgit
Copy link
Owner

@luolei69 I am amazed that HAIER_AC176 is working for you at all. It is certainly not designed to work with your shorter HAIER protocol.
I can't/won't change HAIER_AC176 to work fully for your A/C, but I will work with you to add support for your new variant.
It looks like you've given me enough information to add basic support for it. That is, recognise it & converting it to a state array. No extra support for individual controls etc. However that should be fairly trivial if the 176 version is working for you mostly.

In the mean time, please read & follow: https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-AC-protocol

@crankyoldgit crankyoldgit self-assigned this May 16, 2022
crankyoldgit added a commit that referenced this issue May 16, 2022
* Add `sendHaierAC160()` & `decodeHaierAC160()` routines
* Update supported models.
* Add & update unit tests to cover new code.
* Fix some missing precompiler logic.

For #1804
@crankyoldgit crankyoldgit added more info Pending Confirmation Waiting for confirmation from user labels May 16, 2022
@crankyoldgit
Copy link
Owner

@luolei69 I've created a branch of the library (haier_160 https://github.com/crankyoldgit/IRremoteESP8266/tree/haier_160) & PR #1805 that seems to do basic decoding of this new 160bit Haier protocol.

Please download, compile, & test it. Let me know how it goes etc. If it's working then you're practically at this step in the wiki: https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-AC-protocol#create-a-spreadsheet & https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-AC-protocol#analysing-the-data

As we have plenty of other Haier protocols, I'm fairly sure we've got the bit ordering correct, so you can probably skip that part.
As you say the 176 bit protocols mostly works for you, you can probably use that as a template for your analysis.
i.e.

/// Native representation of a Haier 176 bit A/C message.
union HaierAc176Protocol{
uint8_t raw[kHaierAC176StateLength]; ///< The state in native form
struct {
// Byte 0
uint8_t Model :8;
// Byte 1
uint8_t SwingV :4;
uint8_t Temp :4; // 16C~30C
// Byte 2
uint8_t :5;
uint8_t SwingH :3;
// Byte 3
uint8_t :1;
uint8_t Health :1;
uint8_t :3;
uint8_t TimerMode :3;
// Byte 4
uint8_t :6;
uint8_t Power :1;
uint8_t :1;
// Byte 5
uint8_t OffTimerHrs :5;
uint8_t Fan :3;
// Byte 6
uint8_t OffTimerMins:6;
uint8_t Turbo :1;
uint8_t Quiet :1;
// Byte 7
uint8_t OnTimerHrs :5;
uint8_t Mode :3;
// Byte 8
uint8_t OnTimerMins :6;
uint8_t :1;
uint8_t Sleep :1;
// Byte 9
uint8_t :8;
// Byte 10
uint8_t ExtraDegreeF :1;
uint8_t :4;
uint8_t UseFahrenheit:1;
uint8_t :2;
// Byte 11
uint8_t :8;
// Byte 12
uint8_t Button :5;
uint8_t Lock :1;
uint8_t :2;
// Byte 13
uint8_t Sum :8;
// Byte 14
uint8_t Prefix2 :8;
// Byte 15
uint8_t :8;
// Byte 16
uint8_t :6;
uint8_t Fan2 :2;
// Byte 17
uint8_t :8;
// Byte 18
uint8_t :8;
// Byte 19
uint8_t :8;
// Byte 20
uint8_t :8;
// Byte 21
uint8_t Sum2 :8;
};
};

Except Sum2 is in byte[19].
The ball is now in your court. We are waiting on your confirmation (or not) of it working, and then your analysis of what all they bits/bytes do etc.

@luolei69
Copy link
Author

luolei69 commented May 16, 2022

Thank you again for your help, haier_160 can work smoothly, you can see the table below, which has detailed data information.
https://docs.google.com/spreadsheets/d/1XgmKDOyzqlE6ViQXuiG_PV9ypExinXxJ87-hvkikALk/edit?usp=sharing

Please let me know if you find incorrect information in the sheet.

@crankyoldgit
Copy link
Owner

Spreadsheet looks workable to me. I'll try to get to it soon.
Thanks for confirming the branch works.

crankyoldgit added a commit that referenced this issue May 17, 2022
* Add `sendHaierAC160()` & `decodeHaierAC160()` routines
* Update supported models.
* Add & update unit tests to cover new code.
* Fix some missing precompiler logic.

For #1804
@crankyoldgit
Copy link
Owner

Have you got any collected data for the On Timer?
and in your spreadsheet. "Byte 19" is not Fan3, that entire byte is the checksum.

@luolei69
Copy link
Author

My AC don't have On Timer function, just have Off Timer.

@crankyoldgit
Copy link
Owner

My AC don't have On Timer function, just have Off Timer.

Okay. Noted. But maybe it does, just your remote doesn't. ;-)

@crankyoldgit
Copy link
Owner

Oh and for your spreadsheet. Please include some state[] lines. That's what I use in the tests.

crankyoldgit added a commit that referenced this issue May 17, 2022
* This is basically a cut & paste of the `IRHaierAC176` class.
  - Without some features. e.g. SwingH
  - Modified values for SwingV
* Rough unit test coverage for new code.
  - Needs more real data to confirm etc.
* Add in support required for `IRac` class to work with this protocol.

For #1804
@crankyoldgit
Copy link
Owner

Okay, I've got a new branch (https://github.com/crankyoldgit/IRremoteESP8266/tree/haier160_detailed) for you to play with. It has detailed support for your protocol.
Please indicate (with state[] and the description (yours & IRrecvDumpV2s etc) what is decoded incorrectly.
Hopefully, it should handle your vertical swings correctly too.

Looking forward to your response.

@luolei69
Copy link
Author

I have updated my sheet, please make sure it meets your requirements.
https://docs.google.com/spreadsheets/d/1waNbqAgeGx2TDkzSrG9_2FEG7BXRGjvFZZreg6pJ0_M/edit?usp=sharing

@luolei69
Copy link
Author

Sorry, I found out that when AC is in Heat mode, the SwingV will increase by one position, So I added a new row of data to the sheet. and renamed the previous "Lowest" to "LowLowest”. I think you can completely ignore the "LowLowest" and "HighHighest" data, in fact, which differ very little from "Lowest" and "Highest".

https://docs.google.com/spreadsheets/d/16U5oO9dLzXmwVViP54A1RyolxTRhISpYaiqKmReJ8PA/edit?usp=sharing

There is my test with your new branch “[haier160_detailed]“:

  1. When I use IRMQTTServer control my AC, All command will open the "CLEAN" mode. So I can't do any send test. On my AC, “CLEAN” mode is a cleaning program, so it should be off most of the time.
  2. I use IRrecvDumpV2 accept data, Whether I turn "health" on or off, "Health" in IRrecvDumpV2 always shows off, But IRrecvDumpV2 knew that I pressed the health button.
  3. When I press my remote's "CLEAN", "Light", "Auxiliary heat", The "Button" in IRrecvDumpV2 shows unknown. I noticed that there is no "Auxiliary heat" function in IRMQTTServer, so you can ignore this part, but when switching to Heat mode, please keep the "Auxiliary heat" function turned on.
    ps:I found that in my RAW data, there is no state of “Light”, only the data of the “Light” button, so I think you can set both “Light on” and “Light off” as the data of this button in the code.

@crankyoldgit
Copy link
Owner

  1. When I use IRMQTTServer control my AC, All command will open the "CLEAN" mode. So I can't do any send test. On my AC, “CLEAN” mode is a cleaning program, so it should be off most of the time.

Clearly that is not desired. I'll try to see what is doing that. FYI, in IRMQTTServer, "filter" is what will control your A/C's health function.

2. I use IRrecvDumpV2 accept data, Whether I turn "health" on or off, "Health" in IRrecvDumpV2 always shows off, But IRrecvDumpV2 knew that I pressed the health button.

Please provide the text output from IRrecvDumpV2/etc for both messages. I need the data.

3. When I press my remote's "CLEAN", "Light", "Auxiliary heat", The "Button" in IRrecvDumpV2 shows unknown. I noticed that there is no "Auxiliary heat" function in IRMQTTServer, so you can ignore this part, but when switching to Heat mode, please keep the "Auxiliary heat" function turned on.

Again, I need data as well as descriptions to be able to help you. Please provide the text output from the dump prog.

ps:I found that in my RAW data, there is no state of “Light”, only the data of the “Light” button, so I think you can set both “Light on” and “Light off” as the data of this button in the code.

I'm not sure what you mean here. Can you explain it another way?
Some A/C's send a special "toggle" code to control settings like Light etc. So, it may not be a bit in the state that is sent with every message.

@luolei69
Copy link
Author

Sorry for not giving you detailed data before, I added new RAW data at the bottom of sheet01.
You can see that the data of "light on" and "light off" are exactly the same, so I don't think the light state is judged in the raw data.
https://docs.google.com/spreadsheets/d/1RNJ7esbArS5fy1lmiM-i1PekXSNojCMad4WuuyunsC8/edit?usp=sharing

Thanks again for your help, Best regards.

@luolei69
Copy link
Author

@crankyoldgit
Hi, do I still need to provide some data?

@crankyoldgit
Copy link
Owner

Sorry for not giving you detailed data before, I added new RAW data at the bottom of sheet01. You can see that the data of "light on" and "light off" are exactly the same, so I don't think the light state is judged in the raw data. https://docs.google.com/spreadsheets/d/1RNJ7esbArS5fy1lmiM-i1PekXSNojCMad4WuuyunsC8/edit?usp=sharing

Thanks again for your help, Best regards.

Yes. I concur with your assessment of the Light button. It looks like it's a toggle message only.
I'll try to spend some time again on this protocol now.

crankyoldgit added a commit that referenced this issue May 22, 2022
* Rename setHealth/getHealth to setClean/getClean
* Extend the unit tests to use realworld data for Clean mode.
* Update common inferface (IRac)
* Set clean to be off by default in class object.

For #1804
crankyoldgit added a commit that referenced this issue May 22, 2022
* Report the button press code.
* Make a guess at how the setting works.
  - i.e. The button code toggles the light on and off.
* Adjust `toCommon()` to handle previous state.
* Handle the light toggles appropriately.
* Add a unit test case.

For #1804
crankyoldgit added a commit that referenced this issue May 22, 2022
@crankyoldgit
Copy link
Owner

I've updated the branch with the changes/problems you've pointed out. Hopefully I fixed most of the satisfactorily.

Please download & test, and let me know how it goes.

@luolei69
Copy link
Author

I tested it in IRrecvDumpV2, There are only two small problems here.

  1. You may not have seen this issue I reported earlier.

Sorry, I found out that when AC is in Heat mode, the SwingV will increase by one position, So I added a new row of data to the sheet. and renamed the previous "Lowest" to "LowLowest”. I think you can completely ignore the "LowLowest" and "HighHighest" data, in fact, which differ very little from "Lowest" and "Highest".

  1. In IRrecvDumpV2, and now there is no Health status. In my sheet, the Econo data (bety 30) represents the Health.

@crankyoldgit
Copy link
Owner

2. In IRrecvDumpV2, and now there is no Health status. In my sheet, the Econo data (bety 30) represents the Health.

How was I to know "Econo" meant "Health" in your spreadsheet/issue?

@luolei69
Copy link
Author

  1. In IRrecvDumpV2, and now there is no Health status. In my sheet, the Econo data (bety 30) represents the Health.

How was I to know "Econo" meant "Health" in your spreadsheet/issue?

Sorry, this is my question, I didn't make it clear in the spreadsheet.

@luolei69
Copy link
Author

luolei69 commented Jul 8, 2022

Hi @crankyoldgit , I'm very sorry, I didn't mark it clearly in the spreadsheet before, I remarked it in the spreadsheet, Please help to complete HAIER_AC160.
https://docs.google.com/spreadsheets/d/1CTaIPGhBXbdVwxZhjvJ-vhTJmfE1F0z6EgXF-zlGvNg/edit?usp=sharing
“Health”=“Econo” , "Clean" = "Filter" .

crankyoldgit added a commit that referenced this issue Aug 11, 2022
* This is basically a cut & paste of the `IRHaierAC176` class.
  - Without some features. e.g. SwingH
  - Modified values for SwingV
* Rough unit test coverage for new code.
  - Needs more real data to confirm etc.
* Add in support required for `IRac` class to work with this protocol.

For #1804
crankyoldgit added a commit that referenced this issue Aug 11, 2022
* Rename setHealth/getHealth to setClean/getClean
* Extend the unit tests to use realworld data for Clean mode.
* Update common inferface (IRac)
* Set clean to be off by default in class object.

For #1804
crankyoldgit added a commit that referenced this issue Aug 11, 2022
* Report the button press code.
* Make a guess at how the setting works.
  - i.e. The button code toggles the light on and off.
* Adjust `toCommon()` to handle previous state.
* Handle the light toggles appropriately.
* Add a unit test case.

For #1804
crankyoldgit added a commit that referenced this issue Aug 11, 2022
@crankyoldgit
Copy link
Owner

I've updated the branch. How is it now? Also created PR #1852

crankyoldgit added a commit that referenced this issue Sep 15, 2022
_v2.8.3 (20220915)_

**[Bug Fixes]**
- Fix `#if` for DECODE_COOLIX48 (#1796)
- Add missing `prev`s to `decodeToState()` (#1783)

**[Features]**
- Add `pause()` function to ESP32 when receiving. (#1871)
- ARGO: Argo add `sendSensorTemp()` (#1858 #1859)
- HAIER_AC160: Experimental detail support. (#1852 #1804)
- BOSCH144: Add IRac class support (#1841)
- Mitsubishi_AC: update left vane in `IRac` class (#1837)
- Basic support for Daikin 312bit/39byte A/C protocol. (#1836 #1829)
- Experimental basic support for Sanyo AC 152 bit protocol. (#1828 #1826)
- GREE: Add model support for `YX1FSF`/Soleus Air Windown A/C (#1823 #1821)
- Experimental basic support for Bosch 144bit protocol. (#1822 #1787)
- Experimental basic support for TCL AC 96 bit protocol. (#1820 #1810)
- Add basic support for clima-butler (52bit) RCS-SD43UWI (#1815 #1812)
- TOTO: An experimental _(s)wipe_ at support for Toto Toilets. (#1811 #1806)
- CARRIER_AC128: Experimental Basic support for Carrier AC 128bit protocol. (#1798 #1797)
- HAIER_AC160: Add basic support for Haier 160bit protocol. (#1805 #1804)
- DAIKIN: Add basic support for 200-bit Daikin protocol. (#1803 #1802)
- FUJITSU: Improve handling of 10C Heat mode. (#1788 #1780)
- FUJITSU: Improve handling of short (command only) messages. (#1784 #1780)

**[Misc]**
- Improve the `_IRREMOTEESP8266_VERSION_VAL` macro (#1875 #1870)
- SONY: Update supported devices. (#1872)
- SAMSUNG: Update supported devices (#1873)
- NEC: Update supported devices (#1874)
- Give IRmacros.h smaller scope to avoid impacting projects using IRremoteESP8266 (#1857 #1853 #1851)
- Inhibit protocol names for not-included protocols (#1853 #1851)
- Test out codeql static analysis (#1842)
- Remove pylint disable=no-self-use (#1817)
- Fujitsu General: update supported devices (#1813)
- DAIKIN: Update supported devices (#1808 #1807)
- Fujitsu: Update supported remote info. (#1801 #1794)
- DAIKIN128: Update supported devices (#1754)
- Voltas: Add link to manual for 122LZF A/C. (#1800 #1799 #1238)
- Daikin128: Additional unit test. (#1795 #1754)
- MIDEA: Update supported devices (#1791 #1790)
crankyoldgit added a commit that referenced this issue Sep 16, 2022
**_v2.8.3 (20220915)_**

**[Bug Fixes]**
- Fix `#if` for DECODE_COOLIX48 (#1796)
- Add missing `prev`s to `decodeToState()` (#1783)

**[Features]**
- Add `pause()` function to ESP32 when receiving. (#1871)
- ARGO: Argo add `sendSensorTemp()` (#1858 #1859)
- HAIER_AC160: Experimental detail support. (#1852 #1804)
- BOSCH144: Add IRac class support (#1841)
- Mitsubishi_AC: update left vane in `IRac` class (#1837)
- Basic support for Daikin 312bit/39byte A/C protocol. (#1836 #1829)
- Experimental basic support for Sanyo AC 152 bit protocol. (#1828 #1826)
- GREE: Add model support for `YX1FSF`/Soleus Air Windown A/C (#1823 #1821)
- Experimental basic support for Bosch 144bit protocol. (#1822 #1787)
- Experimental basic support for TCL AC 96 bit protocol. (#1820 #1810)
- Add basic support for clima-butler (52bit) RCS-SD43UWI (#1815 #1812)
- TOTO: An experimental _(s)wipe_ at support for Toto Toilets. (#1811 #1806)
- CARRIER_AC128: Experimental Basic support for Carrier AC 128bit protocol. (#1798 #1797)
- HAIER_AC160: Add basic support for Haier 160bit protocol. (#1805 #1804)
- DAIKIN: Add basic support for 200-bit Daikin protocol. (#1803 #1802)
- FUJITSU: Improve handling of 10C Heat mode. (#1788 #1780)
- FUJITSU: Improve handling of short (command only) messages. (#1784 #1780)

**[Misc]**
- Improve the `_IRREMOTEESP8266_VERSION_VAL` macro (#1875 #1870)
- SONY: Update supported devices. (#1872)
- SAMSUNG: Update supported devices (#1873)
- NEC: Update supported devices (#1874)
- Give IRmacros.h smaller scope to avoid impacting projects using IRremoteESP8266 (#1857 #1853 #1851)
- Inhibit protocol names for not-included protocols (#1853 #1851)
- Test out codeql static analysis (#1842)
- Remove pylint disable=no-self-use (#1817)
- Fujitsu General: update supported devices (#1813)
- DAIKIN: Update supported devices (#1808 #1807)
- Fujitsu: Update supported remote info. (#1801 #1794)
- DAIKIN128: Update supported devices (#1754)
- Voltas: Add link to manual for 122LZF A/C. (#1800 #1799 #1238)
- Daikin128: Additional unit test. (#1795 #1754)
- MIDEA: Update supported devices (#1791 #1790)
@crankyoldgit
Copy link
Owner

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement more info Pending Confirmation Waiting for confirmation from user
Projects
None yet
Development

No branches or pull requests

2 participants