Skip to content

Cooper&Hunter Protocol based on Gree #1508

@k-korn

Description

@k-korn

Version/revision of the library used

2.7.18

Intro

The hardware is as follows:

  • esp-01+TSSOP+IR Leds device to send/receive IR signals, managed over MQTT.
  • Couple of other home appliances perfectly accepting commands from IRremoteESP8266
  • Saleae Logic Analyzer to see what happens after IR receiver
  • Cooper&Hunter AC, not currently controllable with this library.

Previous Works

As mentioned in #602, some other software had success in controlling C&H with Gree protocol, so I have tried comparing signals sent by this library on Gree protocol with what is actually sent by C&H remote, and binary protocol indeed matches.

Timings, however, are slightly different - inter-message space is 19980ms instead of 19000ms for C&H, for example.
So "as is" Gree protocol does not work

Raw Data

I've attached a dump of actual C&H remote signals in Saleae Logic format (viewable with https://www.saleae.com/downloads/, no actual hardware needed to view):
c_h-examples.zip

The Suggestion

Cooper&Hunter AC can be controlled if we replace constants in https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.cpp#L22 with the following:

const uint16_t kGreeHdrMark = 9000;
const uint16_t kGreeHdrSpace = 4500;
const uint16_t kGreeBitMark = 620;
const uint16_t kGreeOneSpace = 1670;
const uint16_t kGreeZeroSpace = 570;
const uint16_t kGreeMsgSpace = 19980;

(most significant change is kGreeMsgSpace)

The Issue

However, I am unsure how to properly add new AC protocol to the library with proper detection, etc - so this is not a pull request, but an issue instead.
Gree protocol with the changes outlined above works perfectly for me controlling C&H air conditioner - so it may be helpful to others with similar hardware.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions