Midea IR Based Casette AC not Operating
Version/revision of the library used
Library Version: 2.8.6
Describe the bug
Trying to Operate IR Based Midea Cassette AC using the Library, but AC is not responding while transmitting the IR signals. While decoding the remote pings protocol observed was Coolix. But while using the Same Protocol for Transmission, AC was not operating. Tried with Both 38Khz and 40Khz Frequencies
Remote Model : RG70Y1/BGEF
Example code used
Protocols tried coolix and Midea using the class
Output of raw data from [IRrecvDumpV2.ino]
IR Transmitter:TSHG8200
Circuit diagram and hardware used
Have you verified that your ir transmiier works? You dont have any transistor to your LED?
Have you verified that your ir transmiier works? You dont have any transistor to your LED?
Transistor is present, please check the below images . The Hardware is verified and tested with almost 50+ AC Brands
Per the issue templete you partially ignored: https://github.com/crankyoldgit/IRremoteESP8266/blob/master/.github/ISSUE_TEMPLATE/problem-report.md#output-of-raw-data-from-irrecvdumpv2ino-or-v3-if-applicable
Output of raw data from IRrecvDumpV2.ino or V3 (if applicable)
Include some serial text of the raw dumps of what the device saw.
Note: Output from Tasmota is not acceptable. We can't easily use their raw format.
Please capture in TEXT the output of your real remote and what the ESP chip is producing using the IRrecvDumpV2 or V3 program from the examples directory.
No one is going to enter-by-hand the numbers from your screenshot.
Remote Pings
Protocol : COOLIX Code : 0xB2BFD0 (24 Bits) Mesg Desc.: Power: On, Mode: 0 (Cool), Fan: 5 (Auto), Temp: 26C, Zone Follow: Off, Sensor Temp: Off uint16_t rawData[199] = {4424, 4330, 576, 1560, 580, 490, 578, 1560, 576, 1564, 578, 492, 576, 492, 576, 1562, 576, 492, 576, 492, 580, 1562, 578, 492, 578, 492, 574, 1566, 578, 1560, 576, 494, 576, 1562, 578, 1562, 576, 492, 576, 1562, 576, 1564, 576, 1560, 580, 1560, 574, 1564, 576, 1560, 582, 488, 582, 1560, 576, 494, 576, 492, 580, 490, 578, 494, 576, 492, 576, 494, 578, 1564, 574, 1564, 578, 492, 578, 1562, 576, 494, 576, 494, 576, 494, 580, 490, 582, 494, 574, 494, 582, 1558, 580, 492, 578, 1564, 574, 1564, 576, 1560, 580, 1560, 576, 5136, 4418, 4330, 576, 1562, 576, 490, 580, 1560, 574, 1564, 578, 492, 578, 494, 576, 1564, 576, 492, 576, 494, 576, 1564, 580, 492, 578, 494, 574, 1562, 576, 1564, 578, 494, 576, 1562, 576, 1558, 580, 488, 582, 1558, 580, 1560, 576, 1562, 576, 1560, 582, 1560, 576, 1562, 576, 488, 580, 1558, 580, 490, 580, 488, 580, 492, 578, 492, 580, 488, 580, 492, 576, 1564, 582, 1560, 580, 490, 578, 1560, 580, 494, 576, 494, 576, 492, 582, 492, 576, 492, 576, 494, 580, 1560, 580, 496, 576, 1562, 576, 1562, 576, 1560, 580, 1558, 582}; // COOLIX B2BFD0 uint64_t data = 0xB2BFD0;
Timestamp : 000125.600 Library : v2.8.6
Protocol : COOLIX Code : 0xB27BE0 (24 Bits) Mesg Desc.: Power: Off uint16_t rawData[199] = {4420, 4334, 576, 1560, 576, 494, 576, 1562, 578, 1564, 576, 492, 576, 494, 578, 1560, 576, 494, 576, 494, 580, 1560, 580, 490, 580, 494, 576, 1564, 580, 1560, 580, 490, 580, 1558, 580, 488, 580, 1564, 576, 1560, 580, 1560, 580, 1560, 576, 494, 576, 1564, 576, 1564, 576, 1560, 580, 490, 580, 490, 580, 494, 576, 494, 576, 1564, 580, 490, 580, 494, 576, 1564, 576, 1562, 576, 1564, 576, 494, 576, 494, 576, 494, 580, 490, 580, 494, 576, 494, 580, 494, 576, 492, 576, 1564, 580, 1564, 576, 1558, 580, 1560, 576, 1564, 576, 5132, 4424, 4328, 576, 1560, 582, 492, 576, 1560, 580, 1560, 580, 490, 580, 494, 576, 1564, 576, 494, 576, 494, 576, 1564, 576, 494, 580, 490, 580, 1564, 576, 1560, 580, 490, 580, 1560, 580, 490, 578, 1564, 576, 1558, 582, 1558, 576, 1564, 574, 492, 576, 1564, 574, 1566, 574, 1560, 582, 492, 578, 488, 582, 492, 574, 494, 576, 1564, 580, 488, 580, 492, 578, 1564, 574, 1564, 576, 1566, 574, 490, 578, 490, 580, 494, 576, 494, 576, 492, 580, 494, 574, 496, 578, 496, 574, 1564, 576, 1562, 576, 1564, 576, 1564, 578, 1560, 574}; // COOLIX B27BE0 uint64_t data = 0xB27BE0;
Timestamp : 000126.325 Library : v2.8.6
Protocol : COOLIX Code : 0xB2BFD0 (24 Bits) Mesg Desc.: Power: On, Mode: 0 (Cool), Fan: 5 (Auto), Temp: 26C, Zone Follow: Off, Sensor Temp: Off uint16_t rawData[199] = {4424, 4330, 576, 1562, 580, 490, 576, 1562, 576, 1564, 576, 492, 576, 494, 576, 1564, 574, 494, 574, 494, 574, 1564, 576, 494, 576, 494, 578, 1560, 580, 1560, 580, 490, 578, 1560, 576, 1564, 578, 492, 576, 1564, 576, 1560, 580, 1560, 576, 1566, 574, 1562, 578, 1560, 578, 490, 578, 1564, 574, 494, 574, 494, 578, 492, 578, 494, 580, 490, 580, 492, 576, 1562, 576, 1564, 574, 496, 574, 1564, 578, 490, 578, 492, 580, 490, 578, 494, 576, 492, 576, 494, 582, 1562, 576, 494, 576, 1562, 578, 1564, 574, 1560, 582, 1558, 576, 5132, 4420, 4334, 576, 1558, 576, 492, 576, 1564, 576, 1566, 574, 490, 580, 494, 576, 1562, 576, 492, 576, 494, 576, 1564, 580, 488, 580, 490, 580, 1564, 576, 1566, 576, 494, 576, 1560, 578, 1560, 580, 490, 580, 1560, 574, 1564, 576, 1560, 580, 1560, 576, 1564, 574, 1560, 580, 490, 580, 1558, 580, 490, 580, 490, 580, 490, 578, 494, 576, 494, 582, 488, 580, 1562, 576, 1564, 578, 492, 578, 1564, 576, 494, 576, 492, 574, 494, 578, 492, 582, 492, 576, 496, 574, 1562, 582, 490, 580, 1564, 576, 1558, 580, 1560, 576, 1566, 574}; // COOLIX B2BFD0 uint64_t data = 0xB2BFD0;
Timestamp : 000128.747 Library : v2.8.6
Protocol : COOLIX Code : 0xB2BF90 (24 Bits) Mesg Desc.: Power: On, Mode: 0 (Cool), Fan: 5 (Auto), Temp: 27C, Zone Follow: Off, Sensor Temp: Off uint16_t rawData[199] = {4414, 4338, 572, 1562, 572, 498, 576, 1564, 572, 1566, 572, 492, 576, 496, 598, 1542, 572, 522, 546, 496, 600, 1540, 602, 492, 578, 494, 550, 1564, 578, 1564, 600, 474, 570, 1588, 576, 1538, 576, 494, 576, 1562, 576, 1588, 550, 1564, 572, 1566, 572, 1562, 576, 1562, 576, 492, 600, 1564, 550, 494, 600, 468, 576, 518, 576, 474, 598, 494, 552, 494, 576, 1568, 602, 466, 600, 474, 596, 1542, 572, 524, 546, 498, 572, 504, 572, 518, 550, 498, 572, 1592, 550, 1564, 576, 494, 574, 1564, 602, 1538, 576, 1562, 574, 1592, 546, 5134, 4444, 4310, 600, 1538, 596, 470, 624, 1520, 570, 1562, 576, 498, 572, 498, 572, 1570, 572, 520, 548, 496, 570, 1568, 600, 470, 576, 518, 552, 1592, 546, 1588, 550, 500, 570, 1566, 574, 1568, 598, 494, 550, 1562, 600, 1540, 576, 1564, 572, 1568, 570, 1566, 598, 1540, 572, 498, 572, 1566, 572, 522, 596, 446, 574, 520, 552, 520, 548, 498, 570, 522, 552, 1568, 594, 500, 574, 474, 572, 1592, 546, 498, 572, 524, 546, 522, 550, 498, 598, 496, 548, 1596, 546, 1588, 552, 496, 572, 1566, 572, 1564, 574, 1588, 548, 1568, 570}; // COOLIX B2BF90 uint64_t data = 0xB2BF90;
Protocol : COOLIX Code : 0xB2BF40 (24 Bits) Mesg Desc.: Power: On, Mode: 0 (Cool), Fan: 5 (Auto), Temp: 24C, Zone Follow: Off, Sensor Temp: Off uint16_t rawData[199] = {4424, 4330, 576, 1562, 576, 490, 578, 1560, 576, 1564, 578, 492, 578, 492, 576, 1568, 568, 494, 576, 494, 576, 1566, 576, 494, 576, 492, 578, 1562, 576, 1562, 576, 492, 576, 1564, 574, 1560, 580, 490, 582, 1560, 576, 1564, 574, 1560, 580, 1560, 576, 1558, 580, 1560, 574, 494, 576, 1564, 574, 494, 574, 494, 578, 492, 578, 492, 580, 494, 576, 494, 576, 494, 578, 1560, 582, 492, 576, 494, 574, 494, 574, 494, 580, 494, 578, 492, 578, 1562, 580, 490, 582, 1558, 582, 1560, 574, 1564, 574, 1560, 580, 1560, 576, 1560, 580, 5132, 4420, 4330, 576, 1562, 576, 490, 582, 1558, 576, 1564, 576, 494, 576, 492, 576, 1564, 576, 494, 574, 494, 576, 1562, 576, 494, 574, 494, 580, 1560, 580, 1560, 574, 494, 574, 1564, 578, 1564, 574, 494, 574, 1560, 578, 1560, 576, 1566, 576, 1564, 574, 1560, 576, 1562, 578, 492, 578, 1558, 582, 488, 580, 490, 580, 496, 574, 496, 574, 494, 574, 496, 580, 490, 580, 1564, 576, 494, 576, 494, 578, 492, 580, 494, 574, 496, 574, 496, 578, 1558, 582, 490, 578, 1562, 576, 1564, 574, 1560, 582, 1560, 574, 1564, 576, 1560, 576}; // COOLIX B2BF40 uint64_t data = 0xB2BF40;
Timestamp : 000111.116 Library : v2.8.6
Protocol : COOLIX Code : 0xB2BF50 (24 Bits) Mesg Desc.: Power: On, Mode: 0 (Cool), Fan: 5 (Auto), Temp: 23C, Zone Follow: Off, Sensor Temp: Off uint16_t rawData[199] = {4420, 4330, 576, 1558, 582, 488, 582, 1558, 576, 1564, 576, 494, 576, 494, 574, 1564, 576, 494, 572, 494, 576, 1562, 576, 494, 578, 492, 578, 1562, 580, 1560, 574, 494, 574, 1564, 576, 1564, 576, 492, 576, 1558, 580, 1560, 576, 1564, 574, 1558, 582, 1560, 576, 1564, 574, 490, 580, 1558, 582, 488, 580, 490, 580, 492, 578, 492, 576, 494, 580, 488, 580, 494, 576, 1564, 576, 492, 580, 1558, 580, 490, 580, 490, 580, 494, 576, 494, 580, 1560, 578, 492, 578, 1562, 578, 492, 576, 1564, 578, 1560, 578, 1560, 576, 1564, 574, 5132, 4420, 4332, 574, 1560, 580, 490, 582, 1558, 576, 1562, 576, 492, 576, 492, 576, 1562, 576, 492, 576, 494, 580, 1558, 582, 488, 580, 494, 574, 1564, 576, 1558, 578, 490, 580, 1558, 580, 1558, 580, 490, 578, 1560, 576, 1562, 576, 1560, 580, 1560, 580, 1560, 574, 1560, 578, 488, 580, 1558, 580, 490, 580, 490, 580, 490, 580, 494, 574, 494, 580, 490, 580, 494, 576, 1564, 578, 492, 580, 1560, 580, 490, 580, 492, 580, 490, 578, 494, 578, 1560, 578, 490, 578, 1560, 582, 492, 578, 1558, 580, 1562, 574, 1564, 578, 1562, 578}; // COOLIX B2BF50 uint64_t data = 0xB2BF50;
Timestamp : 000112.307 Library : v2.8.6
Protocol : COOLIX Code : 0xB2BF70 (24 Bits) Mesg Desc.: Power: On, Mode: 0 (Cool), Fan: 5 (Auto), Temp: 22C, Zone Follow: Off, Sensor Temp: Off uint16_t rawData[199] = {4448, 4302, 604, 1534, 604, 464, 604, 1534, 602, 1534, 604, 466, 604, 466, 604, 1534, 604, 466, 604, 466, 604, 1540, 598, 470, 598, 470, 604, 1534, 604, 1534, 606, 462, 604, 1534, 608, 1534, 600, 466, 576, 1564, 600, 1534, 604, 1536, 604, 1532, 604, 1534, 606, 1534, 604, 462, 606, 1534, 606, 464, 604, 464, 606, 464, 604, 470, 604, 464, 582, 488, 606, 470, 604, 1536, 604, 1534, 604, 1532, 608, 464, 604, 464, 604, 464, 604, 464, 604, 1536, 580, 490, 606, 468, 598, 470, 576, 1562, 606, 1534, 574, 1564, 576, 1562, 602, 5104, 4448, 4306, 574, 1564, 602, 468, 578, 1556, 608, 1532, 606, 464, 602, 468, 602, 1538, 600, 468, 576, 494, 576, 1564, 604, 466, 574, 498, 578, 1564, 574, 1562, 576, 490, 606, 1538, 600, 1534, 578, 492, 574, 1564, 576, 1564, 576, 1560, 578, 1568, 594, 1534, 576, 1564, 600, 476, 572, 1562, 600, 470, 576, 494, 574, 494, 600, 472, 572, 496, 626, 444, 602, 468, 606, 1538, 600, 1538, 600, 1540, 572, 494, 574, 498, 574, 494, 600, 468, 576, 1564, 576, 498, 570, 522, 548, 496, 572, 1568, 626, 1516, 576, 1562, 600, 1538, 572}; // COOLIX B2BF70 uint64_t data = 0xB2BF70;
Timestamp : 000116.139 Library : v2.8.6
Protocol : COOLIX Code : 0xB2BF50 (24 Bits) Mesg Desc.: Power: On, Mode: 0 (Cool), Fan: 5 (Auto), Temp: 23C, Zone Follow: Off, Sensor Temp: Off uint16_t rawData[199] = {4420, 4330, 576, 1564, 576, 490, 580, 1560, 576, 1564, 574, 494, 576, 492, 576, 1564, 576, 494, 574, 494, 574, 1562, 582, 490, 580, 492, 576, 1564, 576, 1560, 578, 490, 580, 1560, 580, 1560, 604, 466, 574, 1564, 578, 1562, 576, 1560, 576, 1564, 574, 1560, 580, 1560, 576, 492, 576, 1564, 574, 494, 576, 494, 600, 470, 602, 466, 580, 490, 580, 492, 576, 494, 580, 1566, 574, 494, 576, 1564, 574, 494, 600, 468, 574, 494, 610, 462, 608, 1532, 606, 464, 576, 1562, 578, 492, 632, 1510, 574, 1564, 604, 1532, 606, 1534, 604, 5102, 4450, 4306, 606, 1532, 604, 464, 604, 1536, 604, 1534, 604, 460, 608, 466, 604, 1536, 606, 460, 608, 464, 604, 1534, 606, 464, 608, 462, 604, 1534, 606, 1534, 604, 466, 606, 1534, 604, 1534, 600, 464, 634, 1508, 604, 1536, 604, 1534, 606, 1530, 608, 1532, 604, 1528, 612, 462, 600, 1534, 606, 466, 628, 440, 602, 466, 604, 468, 604, 464, 604, 464, 610, 466, 604, 1536, 604, 466, 602, 1536, 604, 464, 604, 464, 604, 464, 634, 440, 576, 1562, 606, 466, 632, 1506, 606, 464, 604, 1536, 606, 1534, 604, 1534, 602, 1534, 606}; // COOLIX B2BF50 uint64_t data = 0xB2BF50;
Thanks for that. I'm assuming those are captures when using the physical remote. Does the "Mesg Desc:" match up with what you would expect given the state of the remote? So far that is exactly what I would expect for a normal COOLIX protocol message.
If so, then you should be able to reproduce the last message in your reponse with:
irsend.sendCOOLIX(0xBSBF20);
I'm not going to say how to do it with Tasmota or what ever you're using as I don't know how to do that. e.g. You can plug that in to the IRsendDemo code and it should just work.
If you can IRrecvDumpV2 etc capture from the what ever program you're currently using (or share the code) to produce your synthetic messages we might be able to point out where you are going wrong.
Yes, the signals are captured using a physical remote (Model RG70Y1/BGEF). Also, the message Description is expected with the respective state of the remote.
As per the observation, we tried Operating AC using Coolix Protocol with the following code:
if (strcmp(AcParametsStructure->Protocol, "COOLIX") == 0)
{
coolix = IRCoolixAC(pin);
coolix.begin();
}
// Setting temperature, mode, fan speed, and power for Coolix AC
coolix.setTemp(AcParametsStructure->Temperature);
setModeAndFanSpeed(AcParametsStructure->Protocol, AcParametsStructure);
coolix.setPower(AcParametsStructure->Power);
coolix.send();
function where mode and fanspeed is getting set
if (strcmp(protocol, "COOLIX") == 0)
{
coolix.setMode(modeSetting);
coolix.setFan(fanSpeedSetting);
}
The code provided is part of a larger production system that supports multiple protocols. It is utilized with General, Carrier, and other ACs where the Coolix protocol is implemented, and it is functioning correctly.
For the time being, the Remote RG70Y1/BGEF raw signals are being captured and stored in code to operate the AC. But the AC is not operating using Coolix Protocol, that's an issue.
AC Images
Has this issue been resolved? I am also unable to control my Midea air conditioner, but I can use the following code to do so。 https://github.com/Aqamoe/IRsendMeidi_ESP8266-RN02S-Midea/blob/main/IRsendMeidi/IRsendMeidiDemo/IRsendMeidiDemo.ino