The hex format shown in the link seems to be different than what I have seen using AnalysIR. My guess is that if my AC unit is indeed a re-branded Midea unit then they are using some other bit map/protocol for the Blueridge brand than the one shown in the link.
My solution was to make a couple of heat/cooling lookup tables with raw hex (that includes pre-calculated checksums gleaned from AnalysIR runs). I wrote an ESP8266 Arduino algorithm to read in a row of hex and send it out to an IR LED using the correct timing. This seems to work well, but sadly I can't control AC features other than the temperature, mode and on/off.
Code: Select all
unsigned char OffCommands[9] = { 0x82, 0xE0, 0x04, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0x00 }; // off
// all temperatures in Fahernheit
unsigned char HeatCommands[][9] =
{
{ 0x32, 0x00, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x00 }, // h61
{ 0x32, 0x80, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x80 }, // h62
{ 0x32, 0x80, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0xA0 }, // h63
{ 0x32, 0x40, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x40 }, // h64
{ 0x32, 0x40, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0x60 }, // h65
{ 0x32, 0xC0, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0xC0 }, // h66
{ 0x32, 0xC0, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0xE0 }, // h67
{ 0x32, 0x20, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x20 }, // h68
{ 0x32, 0xA0, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0xA0 }, // h69
{ 0x32, 0xA0, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0x90 }, // h70
{ 0x32, 0x60, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x60 }, // h71
{ 0x32, 0x60, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0x50 }, // h72
{ 0x32, 0xE0, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0xE0 }, // h73
{ 0x32, 0xE0, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0xD0 }, // h74
{ 0x32, 0x10, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x10 }, // h75
{ 0x32, 0x10, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0x30 }, // h76
{ 0x32, 0x90, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x90 }, // h77
{ 0x32, 0x50, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x50 }, // h78
{ 0x32, 0x50, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0x70 }, // h79
{ 0x32, 0xD0, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0xD0 }, // h80
{ 0x32, 0xD0, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0xF0 }, // h81
{ 0x32, 0x30, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x30 }, // h82
{ 0x32, 0x30, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0x00 }, // h83
{ 0x32, 0xB0, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0xB0 }, // h84
{ 0x32, 0xB0, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0x80 }, // h85
{ 0x32, 0x70, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x70 } // h86
};
unsigned char CoolCommands[][9] =
{
{ 0x92, 0x00, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0xB0 }, // c61
{ 0x92, 0x80, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x70 }, // c62
{ 0x92, 0x80, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0x40 }, // c63
{ 0x92, 0x40, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0xF0 }, // c64
{ 0x92, 0x40, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0xC0 }, // c65
{ 0x92, 0xC0, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x00 }, // c66
{ 0x92, 0xC0, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0x20 }, // c67
{ 0x92, 0x20, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x80 }, // c68
{ 0x92, 0xA0, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x40 }, // c69
{ 0x92, 0xA0, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0x60 }, // c70
{ 0x92, 0x60, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0xC0 }, // c71
{ 0x92, 0x60, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0xE0 }, // c72
{ 0x92, 0xE0, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x20 }, // c73
{ 0x92, 0xE0, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0x10 }, // c74
{ 0x92, 0x10, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0xA0 }, // c75
{ 0x92, 0x10, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0x90 }, // c76
{ 0x92, 0x90, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x60 }, // c77
{ 0x92, 0x50, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0xE0 }, // c78
{ 0x92, 0x50, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0xD0 }, // c79
{ 0x92, 0xD0, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x10 }, // c80
{ 0x92, 0xD0, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0x30 }, // c81
{ 0x92, 0x30, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x90 }, // c82
{ 0x92, 0x30, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0xB0 }, // c83
{ 0x92, 0xB0, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0x50 }, // c84
{ 0x92, 0xB0, 0x06, 0x3A, 0x58, 0x0C, 0x40, 0x00, 0x70 }, // c85
{ 0x92, 0x70, 0x06, 0x1A, 0x58, 0x0C, 0x40, 0x00, 0xD0 } // c86
};