ToniA / arduino-heatpumpir

An Arduino library to control split-unit heatpumps over Infrared
GNU General Public License v2.0
389 stars 140 forks source link

gree "YAL" #133

Closed ikilledmypc closed 2 years ago

ikilledmypc commented 2 years ago

I have an electrolux heatpump that seems to work with the gree protocol. Using the Raw IR decode tool linked in the readme I found that the remote that is labeled as YAL1F works exactly as a gree YAC except for a missing "eco" feature. The only difference seems to be the pulsecount being 213. By changing the if statment to if ( pulseCount == 142 || pulseCount == 161 || pulseCount == 213) { to include the pulse count 213 all decoding seems to work. The only difference is the fan speed from what I can tell. instead of byte 14 it is on byte 22 but the decoding works by changing 14 to 22. I would love to include this into this library but this is where I get stuck. If I set the protocol to greeac I am no longer able to sent commands to the unit ( greeyaa works if that helps). If someone can help me on what to do next I'm happy to do the changes myself.

example output:



Number of symbols: 213
Symbols:
Hh00111010010010010001010000001010010W10001000000000000000000000001000WHh00111010010010010001010000000110010W00000000000111000111100010000010WHh00111010010010010001010000001110010W00000000000000000000100000001000
Bytes:
00:  0011|1010 | 5C | 01011100 
01:  0100|1001 | 92 | 10010010 
02:  0001|0100 | 28 | 00101000 
03:  0000|1010 | 50 | 01010000 
04:  01004:  1000|1000 | 11 | 00010001 
05:  0000|0000 | 00 | 00000000 
06:  0000|0000 | 00 | 00000000 
07:  0000|1000 | 10 | 00010000 
08:  0011|1010 | 5C | 01011100 
09:  0100|1001 | 92 | 10010010 
10:  0001|0100 | 28 | 00101000 
11:  0000|0110 | 60 | 01100000 
12:  01012:  0000|0000 | 00 | 00000000 
13:  0001|1100 | 38 | 00111000 
14:  0111|1000 | 1E | 00011110 
15:  1000|0010 | 41 | 01000001 
16:  0011|1010 | 5C | 01011100 
17:  0100|1001 | 92 | 10010010 
18:  0001|0100 | 28 | 00101000 
19:  0000|1110 | 70 | 01110000 
20:  01020:  0000|0000 | 00 | 00000000 
21:  0000|0000 | 00 | 00000000 
22:  0000|1000 | 10 | 00010000 
23:  0000|1000 | 10 | 00010000 
5C,92,28,50,11,00,00,10,5C,92,28,60,00,38,1E,41,5C,92,28,70,00,00,10,10
Timings (in us): 
PAUSE SPACE:  27932
HEADER MARK:  9043
HEADER SPACE: 4436
BIT MARK:     692
ZERO SPACE:   476
ONE SPACE:    1587
Decoding known protocols...
Looks like a Gree YAC protocol
Checksum matches
POWER ON
ECO OFF
TURBO OFF
MODE HEAT
Temperature: 18
FAN: 1
SLEEP: OFF
SWING: ON
VERT. VANE SWEEP UP-DOWN (1-5)
HORIZ. VANE SWEEP LEFT-RIGHT (1-5)
DISPLAY: SET TEMP
I-FEEL: OFF
Unknown protocol
Bytecount: 24
################# End
ikilledmypc commented 2 years ago

This is apparently a working implementation: https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelvinator.h