Page 1 of 1

Gree timing constants

Posted: Tue Dec 26, 2017 8:29 am
by isan
I use this link to send and control gree A/C https://github.com/ToniA/arduino-heatpumpir
and change

Code: Select all

#define GREE_AIRCON1_MSG_SPACE  19000
to

Code: Select all

 #define GREE_AIRCON1_MSG_SPACE  20000
and use this link to decode IR https://github.com/ToniA/Raw-IR-decoder-for-Arduino

for mode: heat temp:25 swing:off sleep:off

remote Gree control decode and NEC is:

Code: Select all

Symbols:
Hh00110000100100000000011000001010010W00000000000001000000000000001000
Bytes:
0C,09,60,50,00,20,00,10
Timings (in us): 
PAUSE SPACE:  20480
HEADER MARK:  9340
HEADER SPACE: 4500
BIT MARK:     680
ZERO SPACE:   460
ONE SPACE:    1606

Decoded NEC: 3090060A (32 bits)
and IR sender is:

Code: Select all

Symbols:
Hh00110000100100000000000000000000010W00000000000001000000000000000000
Bytes:
0C,09,00,00,00,20,00,00
Timings (in us): 
PAUSE SPACE:  20500
HEADER MARK:  9400
HEADER SPACE: 4120
BIT MARK:     611
ZERO SPACE:   480
ONE SPACE:    1609 

Decoded NEC: 30900A00 (32 bits)

they NEC are different and Gree A/C doesn't work with IR sender ,what's the problem? how should I change the time constants in this https://github.com/ToniA/arduino-heatpu ... atpumpIR.h ??

Re: Gree timing constants

Posted: Tue Dec 26, 2017 9:43 am
by AnalysIR
Hi Isan

Unfortunately, I am not familiar with that library you are using, so it may be better to post a new issue on their Github page.

One thing to bear in mind is that the name of the AC is often a clue to the protocol used.....but NOT ALWAYS, as some manufacturers will re-badge units from other OEMs. So you can get a mix of IR protocols being used by the same manufacturer.


Without a set of captured signals for your device, I cannot offer any advice. :(

Re: Gree timing constants

Posted: Wed Dec 27, 2017 5:19 am
by isan
how should I captured signal for my device ?
with this https://www.analysir.com/blog/2014/03/1 ... s-arduino/?

Re: Gree timing constants

Posted: Wed Dec 27, 2017 1:48 pm
by AnalysIR
Yes...you got it.

If you post the output, I will look at the signal.

Re: Gree timing constants

Posted: Thu Dec 28, 2017 2:43 pm
by isan
thanks for your response
for mode heat temp 23 fan atuo

Code: Select all

unsigned int Signal_0_0[] = {8992, 4432, 676, 524, 676, 520, 676, 1616, 680, 1616, 680, 1612, 680, 500, 700, 1612, 680, 520, 680, 1592, 700, 1616, 680,1612, 680, 520, 680, 520, 680, 496, 700, 520, 704, 520, 680, 520, 680, 520, 676, 524, 676, 520, 680, 520, 680, 1592, 700, 1616, 680, 516, 680, 520, 680,500, 700, 520, 676, 500, 700, 1616, 676, 520, 680, 1592, 700, 524, 676, 524, 676, 1616, 676, 500, 700, 19812, 700, 1616, 676, 1616, 680, 1616, 676, 500,700, 500, 700, 520, 676, 520, 680, 520, 680, 520, 676, 524, 676, 500, 700, 500, 700, 520, 680, 1616, 676, 500, 700, 520, 680, 520, 676, 500, 700, 520, 676,524, 680, 520, 676, 520, 680, 520, 680, 520, 680, 520, 676, 500, 700, 520, 680, 524, 676, 1616, 676, 1616, 680, 1592, 700, 1616, 680};
and in this link checksum was calculated https://github.com/ToniA/Raw-IR-decode ... r/Gree.cpp

Re: Gree timing constants

Posted: Thu Dec 28, 2017 7:32 pm
by AnalysIR
I have cleaned it up in AnalysIR, exported it and posted below:

Code: Select all

/*
Automatically Generated by AnalysIR - Batch Export Utility
Registered to: xxxxxxxx
Session History
Type : Key : Value : Bits : Carrier Frequency (kHz)
0 : ELECTROLUX67_134AC :  : 1D7003052E004000F : 67 : 0
Note: Be sure to use the correct Carrier frequency, for each individual signal, as(or if) indicated above
*/

// NB: Not all protocols are supported by IRremote or IRLib. You may need to edit the code below manually
// Automatically Generated by AnalysIR for xxxxxxxx, visit https://www.AnalysIR.com/ or email info@....... for further details
int khz=38; //NB Change this default value as neccessary to the correct carrier frequency


unsigned int Signal_0_0[] = {9000,4500,600,600,600,600,600,1700,600,1700,600,1700,600,600,600,1700,600,600,600,1700,600,1700,600,1700,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,1700,600,1700,600,600,600,600,600,600,600,600,600,600,600,1700,600,600,600,1700,600,600,600,600,600,1700,600,600,600,19812,600,1700,600,1700,600,1700,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,1700,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,1700,600,1700,600,1700,600,1700,600}; //AnalysIR Batch Export (IRremote) - RAW

irsend.sendRaw(Signal_0_0, sizeof(Signal_0_0)/sizeof(int), khz); //AnalysIR Batch Export (IRremote) - RAW
 // AnalysIR IR Protocol: ELECTROLUX67_134AC, Key:  
As you can see it comes up as an Electrolux signal (67 bits), with a Hex value of 0x1D7003052E004000F.
Don't be too concerned about the naming, as they can be often found under different 'reseller brand names'

Re: Gree timing constants

Posted: Sat Dec 30, 2017 10:07 am
by isan
you are say true but I don't know where is the problem because my hex value from remote in heat mode and temperature 25 is : 3090060A (32 bits)
and IR sender hex value is: 30900000 (32 bits)
problem in checksum or timing or else?

Re: Gree timing constants

Posted: Sat Dec 30, 2017 11:59 am
by AnalysIR
You are probably seeing 32 bits, if using something like IRremote...which does not generally support more than 32 bits (and is likely confusedby the additional bits).

Also, beware that some systems will report HEX values based on different bit orders, depending on how they are implemented.

My previous post with 67 bits is correct.

Re: Gree timing constants

Posted: Sun Dec 31, 2017 5:48 am
by isan
32 or 67 :) ,they have different in last bits that is my mean ,and I ask for this reason

Re: Gree timing constants

Posted: Sun Dec 31, 2017 3:38 pm
by AnalysIR
Sorry...I dont really understand the point you are trying to make.