Skip to content

Samsung AC - send "clean" on power off #1484

@bogd

Description

@bogd

Describe the bug

"Clean" flag should be honored and sent during power off - right now, the code only sends a "standard" power off message, and ignores anything else when powering off the unit.

For my type of unit, "clean" simply means that it keeps the fan running for about 15 minutes after power off, to dry the inside of the system. As far as I can tell, this flag is sent by the original remote as part of the "off" sequence (this might be wrong - I am attaching captures from the original remote below, if it would help troubleshooting).

To Reproduce

Originally discovered this while troubleshooting a different issue with Tasmota ( see here ).

Example code used

Include all relevant code snippets or links to the actual code files. Tip: How to quote your code so it is still readable in the report.

Expected behaviour

The "clean" flag should be sent as part of the power off sequence - however, as far as I can tell, it is not.

Output of raw data from [IRrecvDumpV2.ino]

Sequence from the original remote :

[ Powered on unit, 26 degrees C, cool mode ]

Protocol : UNKNOWN
Code : 0x8165DDF8 (178 Bits)
uint16_t rawData[355] = {70, 49496, 74, 3862, 70, 29350, 614, 16654, 3000, 8900, 530, 462, 530, 1454, 530, 464, 526, 464, 528, 464, 526, 466, 500, 512, 504, 488, 458, 532, 488, 1494, 496, 498, 524, 466, 526, 1454, 530, 462, 504, 486, 532, 1450, 532, 1454, 530, 1452, 504, 1480, 502, 1504, 504, 488, 458, 532, 460, 530, 490, 502, 494, 496, 498, 492, 502, 490, 530, 460, 504, 488, 504, 486, 532, 460, 528, 464, 528, 462, 528, 464, 528, 466, 524, 466, 526, 464, 526, 488, 502, 490, 434, 556, 486, 506, 462, 528, 492, 498, 496, 494, 528, 464, 528, 462, 528, 464, 530, 460, 528, 462, 530, 462, 528, 464, 528, 466, 528, 1454, 528, 1454, 528, 1478, 436, 1546, 532, 2928, 3000, 8924, 498, 1486, 534, 458, 532, 460, 530, 460, 530, 460, 532, 460, 530, 460, 530, 462, 530, 462, 528, 1452, 530, 464, 528, 486, 502, 1478, 460, 530, 488, 1494, 496, 1486, 530, 1452, 532, 1452, 530, 1452, 532, 1450, 530, 464, 528, 464, 524, 466, 526, 466, 526, 486, 506, 484, 502, 488, 460, 532, 486, 504, 490, 502, 496, 496, 524, 466, 530, 460, 530, 462, 530, 460, 532, 458, 530, 462, 532, 460, 530, 464, 528, 462, 528, 464, 526, 466, 528, 486, 504, 488, 460, 530, 460, 532, 462, 530, 490, 500, 498, 494, 528, 462, 530, 460, 530, 460, 528, 464, 502, 488, 530, 460, 502, 490, 530, 2952, 2998, 8904, 500, 1482, 530, 466, 526, 486, 502, 490, 458, 532, 484, 508, 462, 528, 520, 470, 524, 466, 530, 1452, 530, 462, 502, 488, 530, 1452, 530, 462, 526, 1458, 528, 1454, 526, 468, 526, 1478, 502, 1482, 486, 1496, 492, 1492, 526, 1458, 532, 1450, 532, 1452, 530, 1454, 530, 464, 524, 466, 526, 464, 524, 1458, 526, 1480, 462, 1520, 462, 530, 462, 528, 492, 500, 522, 468, 500, 490, 526, 464, 528, 1454, 526, 466, 528, 1454, 528, 1456, 500, 496, 496, 492, 522, 470, 520, 1484, 458, 532, 460, 532, 462, 530, 492, 500, 494, 496, 528, 464, 528, 462, 500, 1482, 526, 1456, 526, 1458, 526, 1458, 484}; // UNKNOWN 8165DDF8

[ Pressed the "clean" button to activate the feature ]

Timestamp : 000160.168
Library : v2.7.18

Protocol : UNKNOWN
Code : 0x9EBC58F0 (118 Bits)
uint16_t rawData[235] = {68, 28018, 612, 17422, 3026, 8898, 496, 494, 528, 1454, 532, 460, 530, 462, 528, 462, 532, 462, 528, 460, 530, 462, 526, 466, 526, 1454, 528, 468, 524, 488, 504, 1476, 460, 532, 488, 500, 494, 1488, 528, 1454, 506, 1476, 530, 1454, 532, 1452, 530, 462, 528, 464, 526, 464, 528, 464, 526, 466, 526, 486, 502, 490, 458, 532, 486, 504, 488, 502, 492, 498, 522, 470, 530, 396, 534, 452, 598, 460, 532, 356, 632, 462, 530, 460, 530, 462, 530, 462, 526, 466, 528, 464, 526, 466, 500, 514, 504, 488, 458, 532, 486, 504, 488, 504, 490, 500, 522, 468, 530, 460, 532, 462, 528, 1450, 534, 1448, 532, 1450, 528, 1456, 484, 2996, 2932, 8970, 500, 1506, 504, 488, 458, 532, 486, 506, 490, 502, 496, 494, 526, 466, 532, 460, 532, 460, 532, 1450, 532, 460, 530, 462, 530, 1454, 528, 1454, 528, 464, 528, 1476, 504, 490, 458, 1524, 486, 1496, 496, 1486, 530, 1452, 532, 1456, 526, 1452, 530, 1452, 532, 1452, 530, 464, 500, 490, 526, 466, 526, 1478, 460, 1522, 462, 1520, 494, 1488, 502, 490, 530, 1452, 532, 460, 530, 460, 530, 462, 530, 1454, 528, 464, 530, 1454, 528, 1478, 506, 488, 502, 488, 460, 532, 462, 1520, 494, 498, 524, 468, 530, 462, 502, 488, 530, 462, 530, 460, 528, 462, 676, 1306, 530, 1454, 528, 1456, 528, 1478, 524}; // UNKNOWN 9EBC58F0

[ Powered off unit with "clean" mode on ]

Timestamp : 000161.382
Library : v2.7.18

Protocol : UNKNOWN
Code : 0x4F9DA954 (183 Bits)
uint16_t rawData[365] = {68, 334, 610, 17784, 2958, 8946, 528, 488, 504, 1476, 486, 506, 490, 502, 496, 496, 524, 468, 530, 460, 530, 462, 528, 460, 532, 1450, 530, 462, 530, 462, 530, 1452, 530, 1452, 528, 466, 524, 1478, 438, 1546, 488, 1496, 494, 1488, 506, 1478, 504, 488, 530, 460, 528, 462, 530, 460, 532, 462, 528, 464, 526, 466, 528, 464, 524, 466, 500, 492, 524, 488, 502, 490, 458, 532, 488, 504, 488, 502, 524, 468, 500, 490, 530, 462, 528, 462, 532, 460, 528, 460, 530, 462, 528, 462, 530, 462, 528, 464, 526, 464, 526, 464, 528, 466, 526, 488, 460, 530, 460, 530, 462, 530, 488, 502, 524, 468, 526, 1456, 532, 1450, 528, 2954, 3000, 4432, 66, 4402, 530, 1454, 528, 466, 524, 466, 526, 464, 526, 466, 498, 494, 524, 488, 502, 488, 460, 530, 460, 1520, 496, 496, 498, 494, 530, 1452, 530, 462, 526, 1456, 528, 1456, 530, 1454, 500, 1482, 524, 1458, 524, 1480, 460, 532, 460, 530, 486, 506, 492, 500, 494, 498, 526, 466, 526, 466, 526, 464, 526, 464, 526, 466, 528, 464, 528, 464, 526, 466, 522, 470, 524, 466, 524, 468, 524, 490, 472, 518, 458, 532, 462, 530, 486, 504, 490, 502, 492, 498, 498, 492, 526, 464, 526, 464, 526, 466, 526, 464, 500, 490, 526, 466, 522, 470, 524, 466, 524, 468, 522, 468, 522, 492, 498, 492, 498, 2958, 2992, 8934, 462, 1520, 496, 498, 496, 494, 524, 466, 500, 492, 524, 466, 524, 466, 526, 466, 500, 492, 500, 1482, 524, 472, 494, 498, 520, 1482, 500, 1482, 460, 1522, 464, 1518, 496, 496, 496, 1484, 502, 1482, 524, 1458, 526, 1458, 500, 1484, 498, 1484, 498, 1486, 496, 1510, 460, 532, 460, 530, 490, 502, 492, 1490, 498, 1484, 502, 1482, 500, 492, 524, 466, 498, 492, 498, 496, 496, 496, 494, 496, 496, 1486, 498, 518, 470, 1510, 460, 1522, 464, 528, 490, 500, 494, 496, 496, 1484, 502, 492, 498, 492, 524, 466, 498, 494, 496, 496, 496, 496, 496, 496, 494, 498, 494, 496, 494, 1510, 502, 1480, 500, 14606, 68, 20020, 66, 19912, 62, 7344, 108, 14804, 68, 18518, 110}; // UNKNOWN 4F9DA954

Note: Output from Tasmota is not acceptable. We can't easily use their raw format.

What brand/model IR demodulator are you using?

N/A . Captures above are from a Lolin IR shield, but for sending the signals I am using tasmota on a variety of devices (mainly YTF/Eachen IR ones).

Circuit diagram and hardware used (if applicable)

N/A

Link to an image of the circuit diagram used. Part number of the IR receiver module etc. ESP8266 or ESP32 board type.

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

No

Other useful information

As mentioned above, I believe (but please do not take my word on it, my understanding of the full IR protocol for the unit is quite limited!) that the "clean" flag is also sent as part of the "off" sequence. In which case, the library code should do the same, and honor that flag when sending a power off command.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions