Irremoteesp8266: Samsung AR12KSFPEWQNET works but not good

Created on 7 Jun 2019  路  41Comments  路  Source: crankyoldgit/IRremoteESP8266

Hi,
I'm using this example for my Samsung AR12KSFPEWQNET

https://github.com/markszabo/IRremoteESP8266/blob/master/examples/ControlSamsungAC/ControlSamsungAC.ino

It works but not good.
Wings can be set on and off when fan is in
ac.setFan(kSamsungAcFanHigh);
Every other states has no effect on wings.

Power mode and quiet mode does not work at all.
I tried ac.setPower(true) and ac.setQuiet(true) with no luck.

Quiet mode is pretty important to me, any idea on how to fix those problems?

Thanks

Edit:
ac.off() does not work like in the example I mentioned, I need to use ac.sendOff() to power off the AC.

enhancement help wanted

All 41 comments

The on/off issue is/was a know bug & problem. It has been fixed after the 2.6.0 release. See https://github.com/markszabo/IRremoteESP8266/pull/695 , so either grab the master branch, or wait for the next release.

The swing issue is an unresolved analysis issue. See https://github.com/markszabo/IRremoteESP8266/issues/505#issuecomment-428023616
e.g. I pointed out there is more to the swing bits than @Hollako said there was.

See also https://github.com/markszabo/IRremoteESP8266/blob/master/src/ir_Samsung.cpp#L541 & https://github.com/markszabo/IRremoteESP8266/blob/master/src/ir_Samsung.cpp#L547

More data and analysis is needed. If you want to do that, that'd be great. I'm happy to fix/improve the code but I don't have a Samsung A/C and remote so I can't do it myself.

If you can capture some data (with IRrecvDumpV2) with Quiet on and off I can try to fix what ever problem that may be.

Here some raw readings I used that works ok while sending raw.

This is my working
QUIET MODE ON:
624,17360,3076,8902,520,476,520,1472,520,476,520,474,520,476,520,476,520,474,522,476,520,478,518,1476,516,500,494,502,548,448,546,450,544,452,522,1468,520,1474,520,1472,520,1472,520,1472,520,476,520,476,518,478,516,480,516,500,496,500,494,502,550,446,546,450,544,452,524,472,522,474,518,476,520,476,520,474,522,474,520,474,520,476,520,474,520,476,518,478,518,480,516,480,516,502,494,502,548,1444,524,472,522,472,520,474,518,478,518,476,520,476,520,1472,520,1470,520,1472,520,1474,516,2980,2998,8980,498,1498,548,448,526,470,544,452,524,472,520,474,520,476,520,476,520,476,520,1472,520,474,520,476,520,1474,518,1476,516,1496,496,1498,548,446,546,1446,524,1468,518,1474,520,1472,520,1472,520,1472,520,1474,518,1476,518,480,516,500,496,528,520,1446,544,1446,524,1470,518,476,520,476,520,474,520,476,520,474,520,476,520,474,520,476,520,476,518,1476,516,482,514,502,548,448,548,1442,544,452,522,474,518,476,518,476,520,476,520,474,520,476,520,1472,520,1470,522,1474,518,1476,536

QUIET MODE ON, SWING OFF
624,17808,2998,8962,518,478,518,1474,518,500,496,500,494,502,548,448,546,450,524,472,522,474,520,1472,520,476,522,474,520,476,520,474,522,474,520,1472,520,1474,518,1478,514,1498,494,1498,546,450,544,452,522,474,520,476,520,476,520,476,520,476,520,476,520,476,520,474,522,474,520,476,520,478,518,480,516,482,514,502,494,502,548,448,546,450,544,452,522,474,520,476,518,476,520,476,520,476,520,1472,520,476,520,474,522,476,520,478,518,478,518,480,514,1498,494,1498,546,1446,524,1468,522,2976,3058,8906,520,1472,522,476,520,474,520,476,522,474,520,478,520,478,518,480,516,500,494,1498,496,502,548,448,544,1448,522,1472,518,1474,520,1472,520,476,520,1472,522,1472,520,1476,518,1478,514,1498,550,1444,546,1448,522,1470,518,476,520,476,520,476,520,1472,520,1472,520,1472,520,478,518,478,518,480,516,502,494,502,494,502,548,448,544,452,522,472,520,1472,518,478,520,476,520,476,520,1472,520,476,520,476,520,476,520,478,518,480,516,480,514,502,494,1498,548,1444,524,1468,520,1472,522

QUIET MODE ON, SWING ON
624,17788,3078,8908,516,476,518,1474,520,476,520,476,522,474,520,476,520,476,520,476,518,478,518,1478,514,502,494,502,550,446,546,450,544,452,524,1468,520,1472,520,1472,522,1472,520,1472,520,476,520,476,520,478,516,480,518,500,496,500,494,502,550,448,546,450,544,452,522,474,518,476,518,478,520,476,520,474,522,474,520,476,520,474,522,476,520,478,518,478,518,480,516,500,496,502,546,450,548,1444,530,466,522,474,520,476,518,476,520,476,520,476,520,1472,520,1472,520,1474,520,1474,516,2984,2996,8984,498,1498,550,446,546,450,544,452,522,474,518,478,518,478,520,476,520,476,520,1470,522,476,520,474,522,1474,518,478,516,480,516,500,496,1498,550,1444,544,1448,522,1470,518,478,520,1472,522,476,520,1472,520,1472,520,476,520,478,518,480,516,1498,550,1444,546,1448,544,452,522,472,520,476,518,476,520,476,520,474,520,476,522,474,520,476,520,1472,520,478,518,480,516,480,516,1498,550,446,548,448,546,450,524,472,520,476,518,476,520,476,522,1472,520,1472,520,1470,522,1472,520

POWER MODE:
624,17376,3058,8904,538,454,520,1472,520,476,520,474,520,476,520,476,520,476,520,478,518,478,518,1496,496,502,550,446,548,1442,540,456,524,470,520,1472,518,1474,520,1472,520,1472,520,1472,520,476,520,476,518,480,516,480,514,502,550,448,548,448,544,450,544,450,522,474,520,474,520,476,520,476,522,474,520,476,520,476,520,476,520,476,520,476,520,478,518,478,516,480,516,502,514,480,550,446,548,448,544,452,524,472,520,478,516,478,518,474,522,476,520,1470,522,1472,520,1472,520,1474,516,2984,3046,8928,498,1498,550,446,546,450,524,470,522,474,518,476,518,478,520,476,520,476,520,1472,520,476,520,476,520,476,518,1474,518,482,514,1496,496,502,548,1444,524,1468,522,1468,520,1472,520,1472,520,1472,520,1470,520,1474,518,1474,516,1496,550,446,548,1444,544,1446,524,1470,518,476,520,476,520,474,520,474,520,476,520,474,520,474,520,476,520,478,518,1494,498,1498,550,1442,548,1446,522,1470,520,474,520,478,520,476,520,474,520,476,520,476,520,474,520,1472,520,1476,516,1494,498,1498,518

POWER MODE ON, SWING OFF
624,17786,3078,8904,520,476,518,1474,520,476,520,476,520,476,520,476,520,476,520,476,520,478,516,1478,516,502,494,502,548,1444,544,452,524,472,520,1470,520,1474,520,1472,520,1470,522,1472,520,476,520,478,518,480,516,480,516,502,494,502,548,448,546,450,544,452,522,474,520,476,518,476,520,476,520,476,520,476,520,476,520,474,520,476,520,476,520,478,518,480,516,500,496,502,494,502,548,448,546,450,526,470,524,472,520,476,518,476,520,476,520,476,520,1472,520,1472,520,1472,520,1474,516,2984,2996,8984,498,1498,550,446,546,450,544,450,524,472,518,478,518,478,520,476,520,476,520,1472,520,476,520,476,520,478,518,1496,498,480,516,1496,552,446,550,1444,544,1448,522,1472,518,1474,522,1472,520,1472,522,1470,522,1474,518,1476,516,1498,494,502,550,1444,544,1450,520,1402,588,478,520,476,520,476,520,476,520,476,520,476,520,474,520,476,520,478,516,1478,514,1498,494,1498,548,1446,524,1470,518,478,518,476,520,476,520,476,520,476,520,476,520,476,520,1474,518,1476,516,1496,496,1500,518

POWER MODE ON, SWING ON
624,17802,2996,8962,518,476,520,1476,516,482,514,502,494,502,548,448,546,450,534,462,522,474,518,1474,518,478,520,474,520,1472,522,474,520,476,520,1474,520,1476,516,1496,496,1498,550,1444,540,456,524,472,520,476,518,478,520,476,520,476,520,474,520,476,520,474,520,476,520,478,518,478,518,478,516,480,516,502,494,502,548,448,546,450,544,452,524,472,520,474,518,478,520,476,520,476,520,476,520,476,520,476,520,476,520,476,520,476,520,480,516,480,516,1498,550,1442,548,1446,524,1470,520,2976,3058,8906,520,1472,520,476,520,476,520,476,520,476,520,476,518,478,518,480,516,500,494,1498,496,502,546,450,544,452,524,472,520,1472,518,1474,520,476,520,1472,520,1472,520,1472,520,478,518,1476,516,502,494,1500,548,1444,524,1470,520,1472,520,476,520,1474,518,1474,520,1472,520,476,522,476,520,478,518,480,514,502,494,502,494,502,548,448,544,452,540,1452,520,1472,518,1474,520,1470,522,1472,522,474,520,476,518,478,518,480,516,482,514,502,494,502,550,1444,544,1448,522,1468,520,1474,520

some other readings if it can help

FAN LOW, SWING OFF
624,17788,3076,8930,494,478,518,1474,522,474,520,476,520,474,522,474,520,476,520,476,520,478,518,1478,514,502,494,502,548,1442,546,452,524,472,522,1470,518,1474,520,1472,520,1472,520,1472,522,476,520,478,518,478,518,480,516,502,494,502,548,446,546,450,534,462,522,472,520,476,518,476,520,476,520,476,520,474,522,474,520,476,520,474,520,476,520,478,518,478,518,480,516,502,492,502,550,446,546,450,540,454,522,474,520,474,518,478,520,476,520,474,522,1472,520,1472,520,1472,520,1476,516,2984,2996,8984,498,1500,548,446,546,450,544,452,524,472,520,476,518,478,520,476,520,476,520,1472,520,476,520,476,522,476,518,1476,516,1478,514,1498,550,446,546,1448,524,1468,518,1474,520,1472,520,1472,520,1472,520,1472,520,1476,518,480,516,482,516,500,494,1498,546,1446,524,1468,520,476,518,478,520,474,520,476,520,474,520,476,520,476,520,476,520,478,518,1476,516,482,514,1498,494,502,550,1442,524,472,522,474,520,476,518,478,520,476,522,474,520,476,520,1472,520,1472,520,1474,518,1498,516

FAN LOW, SWING ON
608,17790,3078,8928,494,476,520,1472,520,476,520,474,522,476,520,476,520,476,520,478,518,478,516,1498,496,502,548,448,548,1444,544,452,524,472,520,1472,518,1474,522,1470,520,1472,520,1472,522,476,518,478,518,480,516,500,496,500,550,448,548,446,546,450,526,470,522,474,520,476,520,478,520,476,520,476,520,476,520,474,522,474,520,476,522,478,518,478,518,480,516,500,494,502,548,448,548,448,546,450,524,472,522,474,520,476,518,478,520,476,520,476,520,1470,522,1472,520,1474,520,1476,528,2968,2998,8984,498,1498,550,446,544,452,524,470,522,474,518,476,520,476,520,476,520,476,520,1470,522,474,522,476,520,476,520,478,518,480,516,482,514,1498,550,1442,546,1448,522,1470,518,478,520,1472,522,474,522,1470,522,1472,520,476,520,478,518,478,516,1498,494,1498,550,1444,544,450,524,472,520,476,518,478,518,476,520,476,520,476,520,474,520,476,520,1472,520,478,518,1476,516,502,494,1498,548,448,546,450,546,450,522,474,520,474,518,476,520,476,522,1472,520,1472,520,1472,520,1474,518

AC ON
624,17840,2996,8962,518,480,536,1474,518,462,532,482,548,448,546,448,526,470,522,474,520,476,518,1474,520,474,542,454,528,1466,540,454,522,476,540,1454,538,1474,518,1462,512,1498,546,1444,544,454,542,454,520,476,524,472,540,454,542,454,542,454,522,474,522,474,542,454,540,456,538,460,516,500,516,482,494,500,550,446,526,470,526,468,524,472,542,454,542,454,520,474,542,454,542,454,528,468,542,454,542,454,542,456,518,478,538,460,520,496,518,478,494,1500,572,1420,546,1446,520,1474,540,2954,3060,8906,538,1452,520,476,542,454,542,456,540,456,540,458,518,480,516,482,534,462,512,1498,546,448,528,468,522,1472,518,476,520,1474,520,1474,538,1452,524,1466,542,1474,552,1440,498,500,516,462,534,480,546,450,548,448,522,474,574,422,518,478,518,476,542,454,542,454,544,452,542,454,542,454,542,454,540,458,538,458,538,460,536,480,516,480,570,426,548,448,550,444,524,472,520,474,542,454,520,476,542,454,542,454,542,454,542,452,542,454,542,454,540,456,540,458,536,462,534,2962,2996,8988,572,1420,546,448,526,470,522,472,520,476,542,454,542,454,542,454,542,454,542,1452,540,452,542,454,542,456,540,1474,520,1472,518,1480,542,452,546,1448,518,1474,538,1452,540,1474,518,1450,542,1450,542,1454,538,1474,520,478,518,480,516,480,548,1446,548,1444,540,1452,516,476,542,454,542,454,542,452,542,454,544,454,542,454,542,454,540,456,540,1472,522,478,516,1500,526,446,560,1434,520,474,520,476,542,454,544,452,542,452,544,454,542,452,542,1454,538,1454,540,1470,520,1472,564"

AC OFF
626,17858,3002,8962,516,476,518,1474,520,476,520,476,520,476,520,476,520,476,520,478,518,480,518,1476,514,502,494,502,548,1444,544,1448,522,474,518,1472,520,1474,520,1472,520,1472,542,1452,518,478,518,480,516,482,514,502,494,502,494,502,548,448,532,464,522,472,520,476,518,478,518,478,518,476,520,476,520,476,520,476,520,476,520,476,518,478,518,480,516,480,516,502,494,502,518,478,548,448,544,452,522,472,522,474,518,478,518,476,520,476,520,476,520,476,520,476,520,1472,518,1476,516,3004,3030,8928,498,1498,494,502,548,448,544,452,522,472,522,474,520,476,520,476,520,476,520,1472,520,476,520,476,520,1472,520,478,518,1496,496,1498,494,1500,544,1448,524,1470,518,1472,520,478,520,476,520,476,520,474,520,476,520,476,520,478,518,478,518,480,514,502,494,500,494,502,548,448,544,452,542,452,524,472,520,478,518,478,518,478,520,476,520,474,520,476,520,474,522,476,520,478,518,478,516,480,516,482,514,502,494,502,548,448,544,452,544,450,522,474,520,476,518,478,520,2976,3056,8908,572,1418,518,476,520,476,520,476,518,478,518,478,516,480,516,500,496,502,494,1498,546,452,542,452,522,474,518,478,518,476,520,476,520,1472,520,1472,520,1472,520,1474,518,1478,514,1496,496,1500,544,1448,522,1468,520,476,518,478,520,476,520,1472,520,1472,520,1474,518,478,518,480,516,480,516,500,494,500,496,502,548,448,544,452,528,468,522,1472,518,478,518,1474,520,476,520,1472,520,476,520,476,520,476,520,478,518,482,514,482,514,500,496,502,548,448,544,1448,522,1470,520"

AUTO MODE:
586,15134,2996,8960,520,474,520,1472,520,478,518,480,518,478,516,500,494,502,548,446,550,446,526,1466,542,452,520,476,520,1472,520,476,520,476,520,1472,522,1472,520,1472,520,1476,516,1494,552,446,550,446,524,470,546,450,522,474,518,476,518,478,520,476,520,474,520,476,520,474,520,474,522,476,520,476,518,478,518,480,516,502,494,502,494,502,548,446,548,448,548,448,522,472,518,476,518,478,520,476,520,476,520,476,522,474,520,474,522,476,520,476,518,1476,516,1496,496,1498,550,1444,520,2956,3074,8906,520,1470,520,474,522,476,520,474,522,474,520,474,522,474,520,476,520,476,520,1474,516,502,494,502,520,1472,546,1446,524,1468,520,1474,520,476,520,1472,522,1470,522,1472,520,1474,518,1476,516,1496,496,1498,550,1444,524,472,522,474,520,476,518,1474,520,1472,522,1470,522,474,520,476,520,476,518,478,518,478,516,500,496,502,494,502,550,446,544,1446,524,472,520,476,518,476,520,1472,522,474,520,476,520,474,520,476,520,476,520,476,518,480,516,1496,496,1498,548,1444,546,1446,520

Hope it can help. please let me know if you find out how to solve the Quier, Power and swing mode.
@crankyoldgit

Can you give me the equivalent of "QUIET MODE ON" with just the QUIET mode off?
i.e. Where only that setting has changed so I can compare the two.

As stated before, the power on/off should be solved if you use the master branch. It was fixed in PR #695

Can you give me the equivalent of "QUIET MODE ON" with just the QUIET mode off?
i.e. Where only that setting has changed so I can compare the two.

As stated before, the power on/off should be solved if you use the master branch. It was fixed in PR #695

I'm at work now, I will give you that in 8 hours more or less.
Do you need something else even for swing and power mode?

Thanks

To be clear, I need two captures from you to fix Quiet:
1) The remote set to: On, Cool, 16C, Fan Auto, Swing Off, Beep Off Clean Off, & Quiet Off
2) The remote set to: On, Cool, 16C, Fan Auto, Swing Off, Beep Off Clean Off, & Quiet On
That is so we can have the situation that we can see what bits change for Quiet mode.
i.e. Exactly the same except for the quiet setting being changed.

Power on/off is already fixed. So no data as yet is needed for the moment.

If you want Swing to work, you are going to have to do the analysis yourself to workout and explain what bits are involved. i.e. you have to explain/work out which bits change when the swing setting is changed for ALL modes etc of the Samsung remote. Seriously, read through #505.

I suggest we tackle Quiet mode first. That should be easy.

PS. I don't need the raw data. Just the uint8_t state[14] ={ ... }; lines with a description of what you set the remote to should be fine.

ok this evening I will give you the infos. thanks

I don't understood why the same button creates different raw data every time.
every raw data works as expected even if it is different.

Read this: https://github.com/markszabo/IRremoteESP8266/wiki/Frequently-Asked-Questions#the-libraryexample-code-doesnt-understand-my-air-conditioner-remote-

Simple IR device protocols use a 12-48 bit value mapping a single button press. A/C remotes however tend to send the entire state of the remote to the device with each button press. e.g. Desired Temp., Operating Mode, Fan Speed, Fan Direction(s), Economy Mode(s), Sleep Modes, Time & Timer Modes, etc, plus a checksum. In short, imagine it sending every button on the remote for each button press. This can produce a message of around 128 bits of data, ...

it does not answer my question because same button, in the same state procudes different raw data on my remote.
in the same state
remote set to: On, Cool, 16C, Fan Auto, Swing Off, Beep Off Clean Off, & Quiet Off
I can have different raw readings.

I have tried different readings for the same state and it works ok but can't understand why.
probably there is somethings related to current time?

Raw messages are a representation of an analogue message. i.e. If I taped someone Italian saying "Buon giorno", and played it back to you. You'd think I spoke Italian. But the same person who I recorded could say it again, and it would be slightly different. That's what sendRaw() does, it's like a .wav recording.

The next level the library has, if the base protocol is supported is to effectively convert the sounds to text. i.e. .wav to .txt. Much smaller. Similarly, the library essentially converts the "raw" format into a short "state[]" format. It can then also covert the text to speech, if we follow the same analogie. However, it's now digital, so it will always produce the same output to the speaker.
It doesn't understand the message, it just know how to covert sounds to letters, and vice versa.

The final level, if supported, is to understand what the text means. eg. grammar, and how to construct a sentence, to be fluent. That is, to covert the state[] into various AirCon settings, and vice versa.

Does that make sense?

Raw messages are a representation of an analogue message. i.e. If I taped someone Italian saying "Buon giorno", and played it back to you. You'd think I spoke Italian. But the same person who I recorded could say it again, and it would be slightly different. That's what sendRaw() does, it's like a .wav recording.

The next level the library has, if the base protocol is supported is to effectively convert the sounds to text. i.e. .wav to .txt. Much smaller. Similarly, the library essentially converts the "raw" format into a short "state[]" format. It can then also covert the text to speech, if we follow the same analogie. However, it's now digital, so it will always produce the same output to the speaker.
It doesn't understand the message, it just know how to covert sounds to letters, and vice versa.

The final level, if supported, is to understand what the text means. eg. grammar, and how to construct a sentence, to be fluent. That is, to covert the state[] into various AirCon settings, and vice versa.

Does that make sense?

wow. I really appreciate this explanations. you made my day. never understood before.
thanks! see you later for the ir codes :)

Congrats. You have just inspired an FAQ entry. https://github.com/markszabo/IRremoteESP8266/wiki/Frequently-Asked-Questions#why-is-the-raw-data-for-a-button-or-ac-state-always-different-for-each-capture

@crankyoldgit the output I'm going to attach is:
The remote set to: On, Cool, 16C, Fan Auto, Swing Off, Beep Off Clean Off, & Quiet On
The remote set to: On, Cool, 16C, Fan Auto, Swing Off, Beep Off Clean Off, & Quiet Off

repeated 2 times.
hope that helped

Timestamp : 000079.217
Encoding : SAMSUNG_AC
Code : 02820F000020F001F2FE710011F0 (112 bits)
Mesg Desc.: Power: On, Mode: 1 (COOL), Temp: 16C, Fan: 0 (AUTO), Swing: Off, Beep: Off, Clean: Off, Quiet: Off
Library : v2.6.0

Raw Timing[233]:

  • 632, - 17340, + 3076, - 8906, + 518, - 478, + 516, - 1476,
  • 520, - 476, + 520, - 476, + 520, - 476, + 520, - 476,
  • 520, - 476, + 520, - 476, + 518, - 478, + 518, - 1476,
  • 516, - 502, + 494, - 502, + 494, - 502, + 550, - 446,
  • 546, - 450, + 546, - 1446, + 520, - 1474, + 518, - 1474,
  • 520, - 1472, + 520, - 1474, + 518, - 476, + 520, - 476,
  • 520, - 478, + 518, - 480, + 516, - 482, + 514, - 502,
  • 494, - 502, + 548, - 446, + 546, - 448, + 546, - 450,
  • 544, - 452, + 520, - 476, + 518, - 478, + 520, - 476,
  • 520, - 476, + 520, - 474, + 522, - 476, + 520, - 476,
  • 520, - 476, + 520, - 476, + 518, - 478, + 518, - 480,
  • 516, - 480, + 516, - 502, + 494, - 502, + 550, - 1444,
  • 546, - 450, + 534, - 462, + 520, - 476, + 518, - 478,
  • 518, - 476, + 520, - 476, + 520, - 1472, + 522, - 1472,
  • 520, - 1472, + 522, - 1474, + 518, - 2984, + 2996, - 8984,
  • 498, - 1498, + 550, - 446, + 546, - 450, + 546, - 450,
  • 528, - 470, + 518, - 476, + 518, - 478, + 518, - 476,
  • 520, - 476, + 520, - 1472, + 520, - 476, + 520, - 476,
  • 520, - 1474, + 518, - 1476, + 518, - 1498, + 494, - 1500,
  • 550, - 446, + 546, - 1444, + 524, - 1470, + 518, - 1474,
  • 520, - 1472, + 520, - 1472, + 522, - 1472, + 520, - 1474,
  • 518, - 1476, + 516, - 482, + 516, - 500, + 494, - 502,
  • 550, - 1442, + 548, - 1444, + 544, - 1448, + 520, - 476,
  • 518, - 478, + 520, - 476, + 520, - 474, + 520, - 476,
  • 520, - 476, + 520, - 476, + 520, - 476, + 520, - 478,
  • 518, - 1476, + 516, - 482, + 514, - 502, + 550, - 446,
  • 550, - 1442, + 546, - 450, + 524, - 472, + 522, - 474,
  • 518, - 478, + 520, - 476, + 520, - 476, + 520, - 476,
  • 520, - 1472, + 520, - 1474, + 520, - 1476, + 516, - 1478,
  • 536

uint16_t rawData[233] = {632, 17340, 3076, 8906, 518, 478, 516, 1476, 520, 476, 520, 476, 520, 476, 520, 476, 520, 476, 520, 476, 518, 478, 518, 1476, 516, 502, 494, 502, 494, 502, 550, 446, 546, 450, 546, 1446, 520, 1474, 518, 1474, 520, 1472, 520, 1474, 518, 476, 520, 476, 520, 478, 518, 480, 516, 482, 514, 502, 494, 502, 548, 446, 546, 448, 546, 450, 544, 452, 520, 476, 518, 478, 520, 476, 520, 476, 520, 474, 522, 476, 520, 476, 520, 476, 520, 476, 518, 478, 518, 480, 516, 480, 516, 502, 494, 502, 550, 1444, 546, 450, 534, 462, 520, 476, 518, 478, 518, 476, 520, 476, 520, 1472, 522, 1472, 520, 1472, 522, 1474, 518, 2984, 2996, 8984, 498, 1498, 550, 446, 546, 450, 546, 450, 528, 470, 518, 476, 518, 478, 518, 476, 520, 476, 520, 1472, 520, 476, 520, 476, 520, 1474, 518, 1476, 518, 1498, 494, 1500, 550, 446, 546, 1444, 524, 1470, 518, 1474, 520, 1472, 520, 1472, 522, 1472, 520, 1474, 518, 1476, 516, 482, 516, 500, 494, 502, 550, 1442, 548, 1444, 544, 1448, 520, 476, 518, 478, 520, 476, 520, 474, 520, 476, 520, 476, 520, 476, 520, 476, 520, 478, 518, 1476, 516, 482, 514, 502, 550, 446, 550, 1442, 546, 450, 524, 472, 522, 474, 518, 478, 520, 476, 520, 476, 520, 476, 520, 1472, 520, 1474, 520, 1476, 516, 1478, 536}; // SAMSUNG_AC
uint8_t state[14] = {0x02, 0x82, 0x0F, 0x00, 0x00, 0x20, 0xF0, 0x01, 0xF2, 0xFE, 0x71, 0x00, 0x11, 0xF0};

Timestamp : 000107.067
Encoding : SAMSUNG_AC
Code : 02920F000000F001F2FE710011F0 (112 bits)
Mesg Desc.: Power: On, Mode: 1 (COOL), Temp: 16C, Fan: 0 (AUTO), Swing: Off, Beep: Off, Clean: Off, Quiet: Off
Library : v2.6.0

Raw Timing[233]:

  • 608, - 17368, + 3078, - 8904, + 520, - 478, + 516, - 1476,
  • 520, - 476, + 520, - 476, + 520, - 476, + 520, - 476,
  • 520, - 476, + 520, - 478, + 518, - 478, + 518, - 1476,
  • 516, - 500, + 494, - 502, + 550, - 1442, + 546, - 452,
  • 544, - 450, + 522, - 1470, + 520, - 1472, + 522, - 1472,
  • 520, - 1474, + 520, - 1472, + 520, - 476, + 518, - 478,
  • 518, - 478, + 516, - 480, + 516, - 482, + 514, - 502,
  • 548, - 448, + 548, - 448, + 544, - 452, + 536, - 460,
  • 520, - 474, + 520, - 478, + 518, - 476, + 522, - 476,
  • 518, - 476, + 520, - 476, + 520, - 476, + 520, - 476,
  • 520, - 476, + 518, - 478, + 518, - 478, + 518, - 480,
  • 514, - 502, + 494, - 504, + 550, - 446, + 546, - 450,
  • 544, - 450, + 546, - 452, + 520, - 476, + 520, - 476,
  • 520, - 478, + 520, - 476, + 518, - 1472, + 522, - 1474,
  • 518, - 1474, + 518, - 1474, + 518, - 2984, + 2996, - 8984,
  • 498, - 1500, + 550, - 446, + 568, - 428, + 544, - 450,
  • 530, - 466, + 520, - 474, + 520, - 478, + 518, - 478,
  • 520, - 476, + 520, - 1474, + 518, - 474, + 520, - 476,
  • 522, - 1474, + 516, - 1478, + 516, - 1496, + 554, - 1442,
  • 550, - 446, + 546, - 1446, + 544, - 1450, + 518, - 1474,
  • 520, - 1474, + 520, - 1472, + 520, - 1472, + 520, - 1474,
  • 518, - 1476, + 516, - 480, + 516, - 500, + 496, - 502,
  • 550, - 1442, + 546, - 1446, + 524, - 1470, + 518, - 478,
  • 518, - 478, + 520, - 476, + 520, - 476, + 520, - 476,
  • 520, - 476, + 520, - 474, + 522, - 474, + 520, - 478,
  • 516, - 1478, + 516, - 482, + 514, - 502, + 494, - 504,
  • 550, - 1444, + 544, - 450, + 544, - 452, + 518, - 478,
  • 518, - 478, + 518, - 476, + 520, - 476, + 520, - 476,
  • 520, - 1472, + 520, - 1474, + 520, - 1474, + 518, - 1496,
  • 516

uint16_t rawData[233] = {608, 17368, 3078, 8904, 520, 478, 516, 1476, 520, 476, 520, 476, 520, 476, 520, 476, 520, 476, 520, 478, 518, 478, 518, 1476, 516, 500, 494, 502, 550, 1442, 546, 452, 544, 450, 522, 1470, 520, 1472, 522, 1472, 520, 1474, 520, 1472, 520, 476, 518, 478, 518, 478, 516, 480, 516, 482, 514, 502, 548, 448, 548, 448, 544, 452, 536, 460, 520, 474, 520, 478, 518, 476, 522, 476, 518, 476, 520, 476, 520, 476, 520, 476, 520, 476, 518, 478, 518, 478, 518, 480, 514, 502, 494, 504, 550, 446, 546, 450, 544, 450, 546, 452, 520, 476, 520, 476, 520, 478, 520, 476, 518, 1472, 522, 1474, 518, 1474, 518, 1474, 518, 2984, 2996, 8984, 498, 1500, 550, 446, 568, 428, 544, 450, 530, 466, 520, 474, 520, 478, 518, 478, 520, 476, 520, 1474, 518, 474, 520, 476, 522, 1474, 516, 1478, 516, 1496, 554, 1442, 550, 446, 546, 1446, 544, 1450, 518, 1474, 520, 1474, 520, 1472, 520, 1472, 520, 1474, 518, 1476, 516, 480, 516, 500, 496, 502, 550, 1442, 546, 1446, 524, 1470, 518, 478, 518, 478, 520, 476, 520, 476, 520, 476, 520, 476, 520, 474, 522, 474, 520, 478, 516, 1478, 516, 482, 514, 502, 494, 504, 550, 1444, 544, 450, 544, 452, 518, 478, 518, 478, 518, 476, 520, 476, 520, 476, 520, 1472, 520, 1474, 520, 1474, 518, 1496, 516}; // SAMSUNG_AC
uint8_t state[14] = {0x02, 0x92, 0x0F, 0x00, 0x00, 0x00, 0xF0, 0x01, 0xF2, 0xFE, 0x71, 0x00, 0x11, 0xF0};

Timestamp : 000142.003
Encoding : SAMSUNG_AC
Code : 02820F000020F001F2FE710011F0 (112 bits)
Mesg Desc.: Power: On, Mode: 1 (COOL), Temp: 16C, Fan: 0 (AUTO), Swing: Off, Beep: Off, Clean: Off, Quiet: Off
Library : v2.6.0

Raw Timing[233]:

  • 628, - 17396, + 3080, - 8906, + 518, - 476, + 518, - 1464,
  • 530, - 476, + 520, - 474, + 522, - 474, + 522, - 474,
  • 520, - 476, + 520, - 478, + 520, - 476, + 518, - 1476,
  • 518, - 500, + 496, - 502, + 516, - 480, + 550, - 446,
  • 548, - 448, + 546, - 1446, + 518, - 1474, + 518, - 1474,
  • 520, - 1474, + 520, - 1472, + 520, - 476, + 520, - 476,
  • 520, - 476, + 518, - 478, + 518, - 482, + 514, - 500,
  • 494, - 502, + 530, - 466, + 550, - 446, + 548, - 448,
  • 524, - 470, + 544, - 452, + 518, - 476, + 520, - 476,
  • 520, - 474, + 520, - 476, + 520, - 474, + 542, - 456,
  • 520, - 476, + 522, - 476, + 520, - 478, + 518, - 478,
  • 516, - 480, + 516, - 500, + 496, - 500, + 552, - 1442,
  • 526, - 470, + 546, - 450, + 524, - 472, + 544, - 452,
  • 520, - 476, + 520, - 476, + 520, - 1472, + 520, - 1474,
  • 518, - 1474, + 520, - 1494, + 498, - 2984, + 2998, - 8982,
  • 498, - 1496, + 496, - 502, + 548, - 448, + 550, - 444,
  • 526, - 470, + 542, - 454, + 540, - 456, + 520, - 476,
  • 540, - 456, + 540, - 1452, + 520, - 474, + 520, - 476,
  • 540, - 1454, + 518, - 1476, + 516, - 1494, + 500, - 1498,
  • 548, - 446, + 548, - 1446, + 524, - 1468, + 540, - 1450,
  • 520, - 1472, + 520, - 1472, + 520, - 1474, + 520, - 1474,
  • 518, - 1476, + 538, - 458, + 536, - 460, + 514, - 502,
  • 552, - 1444, + 544, - 1450, + 522, - 1470, + 516, - 476,
  • 518, - 478, + 520, - 476, + 542, - 454, + 542, - 454,
  • 542, - 454, + 520, - 476, + 542, - 454, + 520, - 478,
  • 540, - 1474, + 520, - 480, + 494, - 502, + 550, - 446,
  • 552, - 1442, + 550, - 444, + 526, - 470, + 544, - 452,
  • 518, - 476, + 520, - 476, + 542, - 454, + 520, - 476,
  • 542, - 1452, + 520, - 1474, + 540, - 1454, + 518, - 1476,
  • 536

uint16_t rawData[233] = {628, 17396, 3080, 8906, 518, 476, 518, 1464, 530, 476, 520, 474, 522, 474, 522, 474, 520, 476, 520, 478, 520, 476, 518, 1476, 518, 500, 496, 502, 516, 480, 550, 446, 548, 448, 546, 1446, 518, 1474, 518, 1474, 520, 1474, 520, 1472, 520, 476, 520, 476, 520, 476, 518, 478, 518, 482, 514, 500, 494, 502, 530, 466, 550, 446, 548, 448, 524, 470, 544, 452, 518, 476, 520, 476, 520, 474, 520, 476, 520, 474, 542, 456, 520, 476, 522, 476, 520, 478, 518, 478, 516, 480, 516, 500, 496, 500, 552, 1442, 526, 470, 546, 450, 524, 472, 544, 452, 520, 476, 520, 476, 520, 1472, 520, 1474, 518, 1474, 520, 1494, 498, 2984, 2998, 8982, 498, 1496, 496, 502, 548, 448, 550, 444, 526, 470, 542, 454, 540, 456, 520, 476, 540, 456, 540, 1452, 520, 474, 520, 476, 540, 1454, 518, 1476, 516, 1494, 500, 1498, 548, 446, 548, 1446, 524, 1468, 540, 1450, 520, 1472, 520, 1472, 520, 1474, 520, 1474, 518, 1476, 538, 458, 536, 460, 514, 502, 552, 1444, 544, 1450, 522, 1470, 516, 476, 518, 478, 520, 476, 542, 454, 542, 454, 542, 454, 520, 476, 542, 454, 520, 478, 540, 1474, 520, 480, 494, 502, 550, 446, 552, 1442, 550, 444, 526, 470, 544, 452, 518, 476, 520, 476, 542, 454, 520, 476, 542, 1452, 520, 1474, 540, 1454, 518, 1476, 536}; // SAMSUNG_AC
uint8_t state[14] = {0x02, 0x82, 0x0F, 0x00, 0x00, 0x20, 0xF0, 0x01, 0xF2, 0xFE, 0x71, 0x00, 0x11, 0xF0};

Timestamp : 000169.957
Encoding : SAMSUNG_AC
Code : 02920F000000F001F2FE710011F0 (112 bits)
Mesg Desc.: Power: On, Mode: 1 (COOL), Temp: 16C, Fan: 0 (AUTO), Swing: Off, Beep: Off, Clean: Off, Quiet: Off
Library : v2.6.0

Raw Timing[233]:

  • 624, - 17402, + 3018, - 8968, + 544, - 450, + 546, - 1446,
  • 520, - 476, + 518, - 476, + 520, - 476, + 520, - 476,
  • 520, - 476, + 520, - 476, + 522, - 474, + 520, - 1474,
  • 518, - 478, + 518, - 478, + 518, - 1478, + 514, - 502,
  • 492, - 504, + 550, - 1444, + 546, - 1448, + 522, - 1470,
  • 518, - 1474, + 520, - 1472, + 522, - 474, + 520, - 476,
  • 520, - 476, + 520, - 476, + 520, - 478, + 518, - 478,
  • 518, - 480, + 514, - 502, + 494, - 504, + 522, - 474,
  • 550, - 446, + 546, - 448, + 546, - 450, + 522, - 472,
  • 518, - 478, + 518, - 476, + 522, - 476, + 520, - 476,
  • 520, - 476, + 520, - 476, + 520, - 476, + 520, - 476,
  • 520, - 478, + 518, - 480, + 516, - 480, + 516, - 502,
  • 496, - 502, + 550, - 446, + 550, - 446, + 546, - 448,
  • 546, - 450, + 522, - 474, + 520, - 1472, + 520, - 1472,
  • 520, - 1472, + 520, - 1472, + 520, - 2984, + 2996, - 8966,
  • 516, - 1476, + 516, - 482, + 514, - 502, + 494, - 502,
  • 550, - 446, + 550, - 446, + 544, - 452, + 544, - 452,
  • 520, - 474, + 520, - 1474, + 520, - 476, + 520, - 474,
  • 520, - 1472, + 520, - 1472, + 520, - 1474, + 518, - 1476,
  • 516, - 480, + 516, - 1500, + 550, - 1444, + 546, - 1446,
  • 522, - 1470, + 518, - 1472, + 522, - 1472, + 520, - 1472,
  • 520, - 1472, + 522, - 474, + 520, - 478, + 518, - 478,
  • 518, - 1478, + 514, - 1498, + 550, - 1444, + 546, - 450,
  • 544, - 450, + 522, - 474, + 520, - 476, + 518, - 478,
  • 520, - 476, + 520, - 474, + 522, - 474, + 520, - 476,
  • 520, - 1472, + 522, - 476, + 520, - 478, + 518, - 480,
  • 516, - 1498, + 494, - 502, + 550, - 446, + 548, - 448,
  • 546, - 450, + 546, - 450, + 520, - 476, + 518, - 476,
  • 520, - 1474, + 520, - 1472, + 520, - 1472, + 520, - 1474,
  • 518

uint16_t rawData[233] = {624, 17402, 3018, 8968, 544, 450, 546, 1446, 520, 476, 518, 476, 520, 476, 520, 476, 520, 476, 520, 476, 522, 474, 520, 1474, 518, 478, 518, 478, 518, 1478, 514, 502, 492, 504, 550, 1444, 546, 1448, 522, 1470, 518, 1474, 520, 1472, 522, 474, 520, 476, 520, 476, 520, 476, 520, 478, 518, 478, 518, 480, 514, 502, 494, 504, 522, 474, 550, 446, 546, 448, 546, 450, 522, 472, 518, 478, 518, 476, 522, 476, 520, 476, 520, 476, 520, 476, 520, 476, 520, 476, 520, 478, 518, 480, 516, 480, 516, 502, 496, 502, 550, 446, 550, 446, 546, 448, 546, 450, 522, 474, 520, 1472, 520, 1472, 520, 1472, 520, 1472, 520, 2984, 2996, 8966, 516, 1476, 516, 482, 514, 502, 494, 502, 550, 446, 550, 446, 544, 452, 544, 452, 520, 474, 520, 1474, 520, 476, 520, 474, 520, 1472, 520, 1472, 520, 1474, 518, 1476, 516, 480, 516, 1500, 550, 1444, 546, 1446, 522, 1470, 518, 1472, 522, 1472, 520, 1472, 520, 1472, 522, 474, 520, 478, 518, 478, 518, 1478, 514, 1498, 550, 1444, 546, 450, 544, 450, 522, 474, 520, 476, 518, 478, 520, 476, 520, 474, 522, 474, 520, 476, 520, 1472, 522, 476, 520, 478, 518, 480, 516, 1498, 494, 502, 550, 446, 548, 448, 546, 450, 546, 450, 520, 476, 518, 476, 520, 1474, 520, 1472, 520, 1472, 520, 1474, 518}; // SAMSUNG_AC
uint8_t state[14] = {0x02, 0x92, 0x0F, 0x00, 0x00, 0x00, 0xF0, 0x01, 0xF2, 0xFE, 0x71, 0x00, 0x11, 0xF0};

Quiet on: uint8_t state[14] = {0x02, 0x82, 0x0F, 0x00, 0x00, 0x20, 0xF0, 0x01, 0xF2, 0xFE, 0x71, 0x00, 0x11, 0xF0};
Quiet off: uint8_t state[14] = {0x02, 0x92, 0x0F, 0x00, 0x00, 0x00, 0xF0, 0x01, 0xF2, 0xFE, 0x71, 0x00, 0x11, 0xF0};

The differences are in state[1] & state[5]

Quiet on: uint8_t state[14] = {0x02, 0x82, 0x0F, 0x00, 0x00, 0x20, 0xF0, 0x01, 0xF2, 0xFE, 0x71, 0x00, 0x11, 0xF0};
Quiet off: uint8_t state[14] = {0x02, 0x92, 0x0F, 0x00, 0x00, 0x00, 0xF0, 0x01, 0xF2, 0xFE, 0x71, 0x00, 0x11, 0xF0};

The differences are in state[1] & state[5]

so how can we fix the problem?

See PR #736 for the changes.

You can use the code in the Issue734 branch here: https://github.com/markszabo/IRremoteESP8266/tree/Issue734

Please test it out and let me know how it goes. It should work based on the data you've supplied.

@crankyoldgit
included the lib this way:
lib_deps = https://github.com/markszabo/IRremoteESP8266.git#Issue734

      acir.setQuiet(true);
      acir.send();

it doesn't work. quiet is not enabled, AC is noisy

any help appreciated

If you take a look at: https://github.com/markszabo/IRremoteESP8266/commit/bfcc92ffb0a506039d0bc122d55060901cae31cd

You will see I can/have (re)constructed the original state/message you reported as working when using the latest fix (the one you should be/are trying to use).

My guess is either a) you are not using the class/library correctly, or b) it isn't using the updated code/branch. i.e. It's probably still using the plain 2.6.0 release., or c) there is something else we don't understand about the Quiet setting.

If c), What is the state you have the acir class object in? To get a partial idea, what does the following output (untested & uncompiled example psuedo code):

acir.setQuiet(true);
Serial.print("Samsung AC is in the following state: ");
Serial.println(acir.toString);
acir.send();

or better still

acir.setQuiet(true);
Serial.print("Samsung AC is in the following state: ");
Serial.println(acir.toString);
uint8_t state[kSamsungAcStateLength] = acir.getRaw();
for (int i = 0; i < kSamsungAcStateLength; i++) {
  Serial.printf("%d: %02x\n", i, state[i]);
}
acir.send();

@crankyoldgit
ok it works, I was wrong because I forgot to set the
acir.setQuiet(false);
when I want to exit the quiet state and switching from quiet to low produced no audible effect :)

now the only things that remains uncovered is the powerful state.

do you think that it will be easy to fix like the quiet mode?

If you want to do the same for the powerful/turbo state, sure. i.e. capture a similar pair of messages that should help isolate the bits.

@crankyoldgit

If you want to do the same for the powerful/turbo state, sure. i.e. capture a similar pair of messages that should help isolate the bits.

The remote set to: On, Cool, 16C, Fan Auto, Swing Off, Beep Off Clean Off, & Quiet Off POWER ON
The remote set to: On, Cool, 16C, Fan Auto, Swing Off, Beep Off Clean Off, & Quiet Off POWER OFF

repeated 2 times.

Timestamp : 000012.630
Encoding : SAMSUNG_AC
Code : 02920F000000F001A2FE77001FF0 (112 bits)
Mesg Desc.: Power: On, Mode: 1 (COOL), Temp: 16C, Fan: 7 (TURBO), Swing: Off, Beep: Off, Clean: Off, Quiet: Off
Library : v2.6.0

Raw Timing[233]:

  • 624, - 17366, + 3074, - 8912, + 522, - 474, + 518, - 1472,
  • 520, - 476, + 520, - 476, + 520, - 476, + 520, - 476,
  • 520, - 476, + 520, - 476, + 520, - 476, + 518, - 1478,
  • 516, - 500, + 496, - 502, + 494, - 1500, + 546, - 450,
  • 546, - 450, + 544, - 1448, + 520, - 1474, + 518, - 1474,
  • 518, - 1474, + 520, - 1472, + 520, - 476, + 520, - 476,
  • 518, - 478, + 518, - 480, + 516, - 480, + 516, - 502,
  • 494, - 502, + 550, - 446, + 548, - 448, + 544, - 452,
  • 522, - 474, + 520, - 476, + 518, - 478, + 518, - 478,
  • 520, - 476, + 520, - 474, + 520, - 476, + 520, - 476,
  • 520, - 476, + 520, - 476, + 518, - 478, + 518, - 480,
  • 516, - 480, + 516, - 502, + 494, - 502, + 550, - 446,
  • 546, - 450, + 546, - 450, + 544, - 452, + 520, - 478,
  • 518, - 478, + 520, - 476, + 520, - 1472, + 520, - 1472,
  • 520, - 1472, + 522, - 1474, + 518, - 2982, + 2998, - 8986,
  • 496, - 1498, + 550, - 446, + 550, - 446, + 546, - 450,
  • 546, - 450, + 522, - 474, + 518, - 478, + 518, - 478,
  • 520, - 476, + 520, - 1474, + 520, - 476, + 520, - 476,
  • 520, - 476, + 520, - 1474, + 518, - 480, + 516, - 1498,
  • 496, - 502, + 494, - 1500, + 548, - 1444, + 546, - 1446,
  • 518, - 1474, + 520, - 1474, + 520, - 1472, + 520, - 1472,
  • 520, - 1474, + 518, - 1476, + 518, - 1496, + 496, - 502,
  • 494, - 1498, + 550, - 1442, + 546, - 1448, + 520, - 476,
  • 518, - 476, + 520, - 476, + 520, - 476, + 520, - 476,
  • 520, - 476, + 520, - 476, + 520, - 476, + 518, - 478,
  • 520, - 1476, + 516, - 1498, + 496, - 1500, + 548, - 1444,
  • 546, - 1448, + 522, - 472, + 520, - 476, + 518, - 478,
  • 520, - 476, + 520, - 476, + 520, - 476, + 520, - 476,
  • 520, - 1474, + 518, - 1476, + 518, - 1476, + 516, - 1496,
  • 542

uint16_t rawData[233] = {624, 17366, 3074, 8912, 522, 474, 518, 1472, 520, 476, 520, 476, 520, 476, 520, 476, 520, 476, 520, 476, 520, 476, 518, 1478, 516, 500, 496, 502, 494, 1500, 546, 450, 546, 450, 544, 1448, 520, 1474, 518, 1474, 518, 1474, 520, 1472, 520, 476, 520, 476, 518, 478, 518, 480, 516, 480, 516, 502, 494, 502, 550, 446, 548, 448, 544, 452, 522, 474, 520, 476, 518, 478, 518, 478, 520, 476, 520, 474, 520, 476, 520, 476, 520, 476, 520, 476, 518, 478, 518, 480, 516, 480, 516, 502, 494, 502, 550, 446, 546, 450, 546, 450, 544, 452, 520, 478, 518, 478, 520, 476, 520, 1472, 520, 1472, 520, 1472, 522, 1474, 518, 2982, 2998, 8986, 496, 1498, 550, 446, 550, 446, 546, 450, 546, 450, 522, 474, 518, 478, 518, 478, 520, 476, 520, 1474, 520, 476, 520, 476, 520, 476, 520, 1474, 518, 480, 516, 1498, 496, 502, 494, 1500, 548, 1444, 546, 1446, 518, 1474, 520, 1474, 520, 1472, 520, 1472, 520, 1474, 518, 1476, 518, 1496, 496, 502, 494, 1498, 550, 1442, 546, 1448, 520, 476, 518, 476, 520, 476, 520, 476, 520, 476, 520, 476, 520, 476, 520, 476, 518, 478, 520, 1476, 516, 1498, 496, 1500, 548, 1444, 546, 1448, 522, 472, 520, 476, 518, 478, 520, 476, 520, 476, 520, 476, 520, 476, 520, 1474, 518, 1476, 518, 1476, 516, 1496, 542}; // SAMSUNG_AC
uint8_t state[14] = {0x02, 0x92, 0x0F, 0x00, 0x00, 0x00, 0xF0, 0x01, 0xA2, 0xFE, 0x77, 0x00, 0x1F, 0xF0};

Timestamp : 000018.647
Encoding : UNKNOWN
Code : 7B551B62 (117 bits)
Library : v2.6.0

Raw Timing[233]:

  • 652, - 17336, + 3078, - 8910, + 562, - 456, + 546, - 1448,
  • 550, - 446, + 552, - 444, + 552, - 444, + 550, - 446,
  • 550, - 446, + 552, - 446, + 550, - 446, + 552, - 1440,
  • 550, - 446, + 550, - 446, + 550, - 1470, + 478, - 518,
  • 502, - 492, + 536, - 1458, + 542, - 1450, + 552, - 1440,
  • 552, - 1442, + 552, - 1442, + 550, - 446, + 550, - 446,
  • 550, - 446, + 552, - 444, + 550, - 446, + 550, - 446,
  • 550, - 472, + 524, - 472, + 480, - 516, + 510, - 488,
  • 538, - 458, + 542, - 452, + 548, - 448, + 550, - 446,
  • 550, - 446, + 550, - 444, + 552, - 444, + 552, - 444,
  • 552, - 444, + 552, - 444, + 552, - 444, + 552, - 444,
  • 550, - 446, + 550, - 446, + 550, - 472, + 524, - 472,
  • 482, - 514, + 510, - 486, + 536, - 460, + 542, - 454,
  • 546, - 450, + 550, - 446, + 552, - 1442, + 552, - 1442,
  • 550, - 1442, + 552, - 1440, + 508, - 2994, + 3030, - 8932,
  • 552, - 1638, + 356, - 470, + 526, - 470, + 506, - 492,
  • 510, - 486, + 542, - 454, + 544, - 450, + 550, - 446,
  • 554, - 444, + 550, - 1442, + 550, - 444, + 550, - 446,
  • 550, - 1442, + 552, - 1440, + 550, - 1442, + 550, - 1470,
  • 524, - 470, + 480, - 1512, + 512, - 1480, + 546, - 1448,
  • 550, - 1442, + 552, - 1442, + 552, - 1442, + 550, - 1440,
  • 552, - 1440, + 552, - 446, + 550, - 444, + 552, - 444,
  • 550, - 1468, + 484, - 1510, + 512, - 1482, + 544, - 452,
  • 550, - 446, + 552, - 442, + 554, - 444, + 552, - 444,
  • 554, - 442, + 554, - 442, + 552, - 444, + 554, - 442,
  • 554, - 1440, + 552, - 444, + 554, - 442, + 554, - 468,
  • 528, - 1466, + 508, - 488, + 512, - 484, + 544, - 450,
  • 550, - 446, + 554, - 442, + 556, - 442, + 554, - 442,
  • 554, - 1438, + 554, - 1438, + 554, - 1438, + 554, - 1438,
  • 562

uint16_t rawData[233] = {652, 17336, 3078, 8910, 562, 456, 546, 1448, 550, 446, 552, 444, 552, 444, 550, 446, 550, 446, 552, 446, 550, 446, 552, 1440, 550, 446, 550, 446, 550, 1470, 478, 518, 502, 492, 536, 1458, 542, 1450, 552, 1440, 552, 1442, 552, 1442, 550, 446, 550, 446, 550, 446, 552, 444, 550, 446, 550, 446, 550, 472, 524, 472, 480, 516, 510, 488, 538, 458, 542, 452, 548, 448, 550, 446, 550, 446, 550, 444, 552, 444, 552, 444, 552, 444, 552, 444, 552, 444, 552, 444, 550, 446, 550, 446, 550, 472, 524, 472, 482, 514, 510, 486, 536, 460, 542, 454, 546, 450, 550, 446, 552, 1442, 552, 1442, 550, 1442, 552, 1440, 508, 2994, 3030, 8932, 552, 1638, 356, 470, 526, 470, 506, 492, 510, 486, 542, 454, 544, 450, 550, 446, 554, 444, 550, 1442, 550, 444, 550, 446, 550, 1442, 552, 1440, 550, 1442, 550, 1470, 524, 470, 480, 1512, 512, 1480, 546, 1448, 550, 1442, 552, 1442, 552, 1442, 550, 1440, 552, 1440, 552, 446, 550, 444, 552, 444, 550, 1468, 484, 1510, 512, 1482, 544, 452, 550, 446, 552, 442, 554, 444, 552, 444, 554, 442, 554, 442, 552, 444, 554, 442, 554, 1440, 552, 444, 554, 442, 554, 468, 528, 1466, 508, 488, 512, 484, 544, 450, 550, 446, 554, 442, 556, 442, 554, 442, 554, 1438, 554, 1438, 554, 1438, 554, 1438, 562}; // UNKNOWN 7B551B62

second time

Timestamp : 000111.818
Encoding : SAMSUNG_AC
Code : 02920F000000F001A2FE77001FF0 (112 bits)
Mesg Desc.: Power: On, Mode: 1 (COOL), Temp: 16C, Fan: 7 (TURBO), Swing: Off, Beep: Off, Clean: Off, Quiet: Off
Library : v2.6.0

Raw Timing[233]:

  • 636, - 17358, + 3056, - 8912, + 560, - 456, + 546, - 1446,
  • 552, - 444, + 552, - 444, + 552, - 444, + 552, - 446,
  • 550, - 444, + 552, - 446, + 550, - 446, + 552, - 1442,
  • 550, - 446, + 550, - 446, + 550, - 1468, + 480, - 514,
  • 506, - 490, + 536, - 1458, + 544, - 1448, + 550, - 1444,
  • 550, - 1442, + 552, - 1442, + 552, - 444, + 550, - 444,
  • 552, - 446, + 552, - 444, + 550, - 444, + 552, - 446,
  • 550, - 472, + 524, - 472, + 480, - 516, + 508, - 488,
  • 536, - 460, + 544, - 452, + 546, - 450, + 552, - 444,
  • 552, - 444, + 550, - 444, + 552, - 444, + 550, - 446,
  • 550, - 444, + 552, - 444, + 552, - 444, + 550, - 446,
  • 550, - 446, + 550, - 446, + 550, - 472, + 524, - 472,
  • 482, - 514, + 506, - 488, + 540, - 458, + 542, - 454,
  • 548, - 448, + 550, - 444, + 552, - 1440, + 552, - 1440,
  • 552, - 1442, + 552, - 1440, + 510, - 2970, + 3054, - 8930,
  • 554, - 1442, + 552, - 470, + 528, - 468, + 484, - 510,
  • 514, - 484, + 544, - 452, + 548, - 448, + 554, - 444,
  • 554, - 442, + 554, - 1438, + 554, - 442, + 554, - 442,
  • 554, - 442, + 554, - 1438, + 554, - 442, + 554, - 1438,
  • 554, - 444, + 554, - 1466, + 484, - 1508, + 512, - 1480,
  • 550, - 1442, + 556, - 1436, + 556, - 1438, + 556, - 1438,
  • 556, - 1438, + 556, - 1436, + 556, - 1438, + 556, - 440,
  • 556, - 1464, + 482, - 1512, + 510, - 1482, + 546, - 450,
  • 552, - 442, + 556, - 440, + 558, - 438, + 556, - 440,
  • 556, - 440, + 556, - 440, + 556, - 440, + 556, - 440,
  • 556, - 1436, + 556, - 1436, + 556, - 1462, + 530, - 1462,
  • 488, - 1506, + 538, - 458, + 550, - 448, + 552, - 444,
  • 556, - 440, + 556, - 440, + 556, - 440, + 556, - 440,
  • 558, - 1434, + 558, - 1436, + 556, - 1436, + 556, - 1438,
  • 578

uint16_t rawData[233] = {636, 17358, 3056, 8912, 560, 456, 546, 1446, 552, 444, 552, 444, 552, 444, 552, 446, 550, 444, 552, 446, 550, 446, 552, 1442, 550, 446, 550, 446, 550, 1468, 480, 514, 506, 490, 536, 1458, 544, 1448, 550, 1444, 550, 1442, 552, 1442, 552, 444, 550, 444, 552, 446, 552, 444, 550, 444, 552, 446, 550, 472, 524, 472, 480, 516, 508, 488, 536, 460, 544, 452, 546, 450, 552, 444, 552, 444, 550, 444, 552, 444, 550, 446, 550, 444, 552, 444, 552, 444, 550, 446, 550, 446, 550, 446, 550, 472, 524, 472, 482, 514, 506, 488, 540, 458, 542, 454, 548, 448, 550, 444, 552, 1440, 552, 1440, 552, 1442, 552, 1440, 510, 2970, 3054, 8930, 554, 1442, 552, 470, 528, 468, 484, 510, 514, 484, 544, 452, 548, 448, 554, 444, 554, 442, 554, 1438, 554, 442, 554, 442, 554, 442, 554, 1438, 554, 442, 554, 1438, 554, 444, 554, 1466, 484, 1508, 512, 1480, 550, 1442, 556, 1436, 556, 1438, 556, 1438, 556, 1438, 556, 1436, 556, 1438, 556, 440, 556, 1464, 482, 1512, 510, 1482, 546, 450, 552, 442, 556, 440, 558, 438, 556, 440, 556, 440, 556, 440, 556, 440, 556, 440, 556, 1436, 556, 1436, 556, 1462, 530, 1462, 488, 1506, 538, 458, 550, 448, 552, 444, 556, 440, 556, 440, 556, 440, 556, 440, 558, 1434, 558, 1436, 556, 1436, 556, 1438, 578}; // SAMSUNG_AC
uint8_t state[14] = {0x02, 0x92, 0x0F, 0x00, 0x00, 0x00, 0xF0, 0x01, 0xA2, 0xFE, 0x77, 0x00, 0x1F, 0xF0};

Timestamp : 000120.168
Encoding : UNKNOWN
Code : 3F824381 (117 bits)
Library : v2.6.0

Raw Timing[234]:

  • 638, - 17290, + 3080, - 8908, + 566, - 452, + 548, - 1444,
  • 554, - 442, + 554, - 442, + 554, - 440, + 554, - 442,
  • 554, - 440, + 556, - 440, + 556, - 440, + 556, - 1438,
  • 554, - 442, + 554, - 442, + 554, - 1464, + 528, - 468,
  • 486, - 510, + 510, - 1484, + 548, - 1446, + 552, - 1442,
  • 554, - 1438, + 554, - 1438, + 554, - 442, + 556, - 440,
  • 556, - 442, + 554, - 440, + 556, - 442, + 554, - 442,
  • 556, - 468, + 528, - 466, + 528, - 468, + 484, - 510,
  • 512, - 484, + 546, - 450, + 550, - 446, + 554, - 442,
  • 554, - 442, + 556, - 440, + 554, - 442, + 554, - 442,
  • 554, - 442, + 554, - 442, + 554, - 442, + 554, - 442,
  • 554, - 442, + 554, - 442, + 554, - 442, + 554, - 468,
  • 528, - 468, + 506, - 490, + 514, - 482, + 542, - 452,
  • 552, - 446, + 552, - 444, + 554, - 1438, + 554, - 1440,
  • 554, - 1440, + 552, - 1440, + 552, - 2926, + 3056, - 8930,
  • 552, - 1442, + 550, - 470, + 526, - 470, + 482, - 514,
  • 506, - 488, + 536, - 460, + 546, - 450, + 550, - 446,
  • 552, - 444, + 552, - 1440, + 554, - 442, + 554, - 442,
  • 554, - 1440, + 552, - 1440, + 552, - 1442, + 552, - 1638,
  • 356, - 470, + 526, - 1466, + 510, - 1484, + 542, - 1450,
  • 550, - 1442, + 552, - 1442, + 552, - 1440, + 552, - 1440,
  • 552, - 1440, + 552, - 444, + 550, - 444, + 552, - 444,
  • 196, - 356, + 1466, - 526, + 1466, - 510, + 1484, - 544,
  • 452, - 548, + 448, - 552, + 444, - 552, + 444, - 552,
  • 442, - 554, + 442, - 552, + 444, - 554, + 442, - 554,
  • 444, - 552, + 1440, - 552, + 444, - 552, + 444, - 552,
  • 444, - 552, + 1466, - 482, + 514, - 508, + 488, - 536,
  • 460, - 548, + 448, - 550, + 446, - 552, + 444, - 552,
  • 444, - 552, + 1440, - 552, + 1440, - 552, + 1440, - 552,
  • 1440, - 532

uint16_t rawData[234] = {638, 17290, 3080, 8908, 566, 452, 548, 1444, 554, 442, 554, 442, 554, 440, 554, 442, 554, 440, 556, 440, 556, 440, 556, 1438, 554, 442, 554, 442, 554, 1464, 528, 468, 486, 510, 510, 1484, 548, 1446, 552, 1442, 554, 1438, 554, 1438, 554, 442, 556, 440, 556, 442, 554, 440, 556, 442, 554, 442, 556, 468, 528, 466, 528, 468, 484, 510, 512, 484, 546, 450, 550, 446, 554, 442, 554, 442, 556, 440, 554, 442, 554, 442, 554, 442, 554, 442, 554, 442, 554, 442, 554, 442, 554, 442, 554, 442, 554, 468, 528, 468, 506, 490, 514, 482, 542, 452, 552, 446, 552, 444, 554, 1438, 554, 1440, 554, 1440, 552, 1440, 552, 2926, 3056, 8930, 552, 1442, 550, 470, 526, 470, 482, 514, 506, 488, 536, 460, 546, 450, 550, 446, 552, 444, 552, 1440, 554, 442, 554, 442, 554, 1440, 552, 1440, 552, 1442, 552, 1638, 356, 470, 526, 1466, 510, 1484, 542, 1450, 550, 1442, 552, 1442, 552, 1440, 552, 1440, 552, 1440, 552, 444, 550, 444, 552, 444, 196, 356, 1466, 526, 1466, 510, 1484, 544, 452, 548, 448, 552, 444, 552, 444, 552, 442, 554, 442, 552, 444, 554, 442, 554, 444, 552, 1440, 552, 444, 552, 444, 552, 444, 552, 1466, 482, 514, 508, 488, 536, 460, 548, 448, 550, 446, 552, 444, 552, 444, 552, 1440, 552, 1440, 552, 1440, 552, 1440, 532 }; // UNKNOWN 3F824381

For what ever reason, the two "Powerful Off" messages have poor quality data in them that stops them from being detected as valid Samsung AC messages.
I hacked the bad value to make it parse, and it results in:

Mesg Desc.: Power: On, Mode: 1 (COOL), Temp: 16C, Fan: 0 (AUTO), Swing: Off, Beep: Off, Clean: Off, Quiet: Off
uint8_t state[14] = {0x02, 0x92, 0x0F, 0x00, 0x00, 0x00, 0xF0, 0x01, 0xF2, 0xFE, 0x71, 0x00, 0x11, 0xF0};

The "Powerful On" state is:

Mesg Desc.: Power: On, Mode: 1 (COOL), Temp: 16C, Fan: 7 (TURBO), Swing: Off, Beep: Off, Clean: Off, Quiet: Off
uint8_t state[14] = {0x02, 0x92, 0x0F, 0x00, 0x00, 0x00, 0xF0, 0x01, 0xA2, 0xFE, 0x77, 0x00, 0x1F, 0xF0};

So it looks like "powerful" is controlled by state[8], state[10], & state[12]. As they are the only ones that differ.
state[10] is also used by Clean mode.
state[12] is used by Mode and Fan speed. Bits 0b01110000 for mode, & 0b00001110 for the Fan

The bits that change in state[12] are just the fan bits (seems likely)

So that leaves [8] & [10].

I'll code something up shortly.

Question: Can the powerful and quiet settings be on at the same time? Or does one turn off the other?

@sblantipodi FYI the Issue734 branch has been updated to include "Powerful" support for Samsung.

Please test and let me know.

@crankyoldgit
even If I write acir.setPower(true) before send it print
Power: On, Mode: 1 (COOL), Temp: 25C, Fan: 2 (LOW), Swing: Off, Beep: Off, Clean: Off, Quiet: Off, Powerful: Off

why? it does not work for now... am I wrong in something?

PS: tested ESP at 160MHz it works as before now, thanks!

setPower() controls if the A/C is operating or not. true is A/C On, false is A/C Off.
setPowerful() controls if the A/C is in powerful (aka Turbo) mode. true is Turbo on, false is Turbo Off.

It depends what you are trying to do. Can you try explaining it a different way?

I'll also ask this again:

Question: Can the powerful and quiet settings be on at the same time? Or does one turn off the other?

@crankyoldgit
ok with setPowerful() it works like a charm.

there is no reason to turn both on, power and quet, I haven't got any automation to try this, I'm sorry.
can't wait to see this branch merged on the master branch...
is publishing to the official arduino repo automatic when you push on the master branch?

how do you push src to the official repo?

thanks.

if you need some other try I'm here.
thanks for the help and the excellent work man

ok with setPowerful() it works like a charm.

Excellent.

there is no reason to turn both on, power and quet, I haven't got any automation to try this, I'm sorry.

Yes, you do. The remote should show you. i.e. What happens when you hit the "quiet" button on the remote when the remote is in "powerful" mode? and vice versa.

Do they turn the other mode/setting off?

can't wait to see this branch merged on the master branch...
is publishing to the official arduino repo automatic when you push on the master branch?

No. It only happens when we make a release. I tend to make releases from the master branch every month or two.

However, you now know how to track the master branch in platformio. So you can keep up with the latest fixes and improvements if you want. The changes in PR #736 should get merged into master within 6 or so days, assuming no problems.

if you need some other try I'm here.

I believe the only thing not working as expected is setSwing() and getSwing(), as I noted in #505 there are some odd bits that change that still need explaining. If you can try and work out what those bits do, that would be a great help.

Unfortunately I don't know how to work with that bits
I can do some tests for you but really no idea on how to solve the swing problem

At the moment I workarounded the problem by setting fan to high while moving swings and then back to the previous setting. In this way I can move the swing without any problem.

Then capturing the state[] lines for what the remote 's message is for the _correct_ setting, when using the equivalent setBlah() steps don't work as expected, and reporting them here is a good place to start. i.e. Not using an work-a-rounds by setting the fan to high etc.

FYI, The changes mentioned above have been include in v2.6.1 of this library, which has just been released.

If I hit the quiet button on the remote when powerful is on it power off the powerful mode and starts the quiet one. And viceversa.

The hard things of the wings is that it remembers the position of the wings for every mode, cool, hot, auto, quiet, powerful.

Can't wait to upgrade to 2.6.1 doing it as soon as I can :)

Good work man

If I hit the quiet button on the remote when powerful is on it power off the powerful mode and starts the quiet one. And viceversa.

I figured it would. I'll add code to emulate that shortly. It's not a vital bit of emulation at this point. ;-)

The hard things of the wings is that it remembers the position of the wings for every mode, cool, hot, auto, quiet, powerful.

Ah. That's a problem. Not sure we can easily emulate that given the common use patterns.

Can't wait to upgrade to 2.6.1 doing it as soon as I can :)

The Arduino Library Manager should pick up the new version with in 24-ish hours.

hi @crankyoldgit in the changelog of the platformio library manager I can see this
Correct set/getQuiet for Samsung A/C (#736)
but there is no mention for the setPowerful...

does 2.6.1 contains even the setPowerful fix?

yes.

First line of [Features]:
Add set/getPowerful for Samsung A/C (#736)

If everything is now working well enough for you, I'd like to close out this issue. If there is something broken or wrong with the newly changed code, we can create a new issue for it.

Sure thanks. It works well. Tested it in all the new features and it works well.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

NewUser9 picture NewUser9  路  6Comments

the-mentor picture the-mentor  路  5Comments

leobel96 picture leobel96  路  6Comments

ilyasrois picture ilyasrois  路  3Comments

C0rn3j picture C0rn3j  路  5Comments