IRremoteESP8266 icon indicating copy to clipboard operation
IRremoteESP8266 copied to clipboard

Add support for Gree iFeel and sensorTemperature through YAN1F6 remote

Open Buzzzsaw opened this issue 1 year ago • 4 comments

Version/revision of the library used

2.8.6

Describe the bug

Although not listed as supported in the list of remotes for the Gree protocol, the YAN1F6 remote pretty much works out of the box with the default IRGreeAC implementation.

I currently use the library through a custom ESPHome Climate component and it's been working great so far, but I'd like to enable the iFeel and sensor temperature features on it. The current implementation of the default protocol in the Gree component doesn't work with the iFeel function on my heat pump unit, and the sensor temperature function is marked as not supported.

I've tried running the IRrecvDumpV2 and V3 projects through platformIO on a D1 mini with a TSOP34838 IR receiver but nothing comes up. I can get the frames from my remote with an ESPHome Remote Receiver though.

To Reproduce

  • Instantiate an IRGreeAC object
  • Try using setIFeel function on a heat pump unit supporting the YAN1F6 remote
  • Nothing happens

Example code used

This is my current work-in-progress branch showing how the IRGreeAC object is used: https://github.com/Buzzzsaw/ESPHome_Gree_AC/blob/ifeel-support/components/gree/gree.cpp

Expected behaviour

  • Hooking up an ESPHome switch callback on a setIFeel toggle callback should actually toggle the iFeel mode.
  • The library should support the sensor temperature function for Gree devices so that the iFeel function actually serves a purpose.

Output of raw data from IRrecvDumpV2.ino or V3 (if applicable)

Nothing yet but I already have the hardware set up to provide that. I suspect my limited knowledge of platformIO is holding me back at the moment.

What brand/model IR demodulator are you using?

Vishay TSOP34838 hooked to a D1 mini.

Circuit diagram and hardware used (if applicable)

  • Vs -> 3.3V
  • GND -> GND
  • OUT -> D6 (GPIO14)

I have followed the steps in the Troubleshooting Guide & read the FAQ

Yes.

Has this library/code previously worked as expected for you?

Works well for most functions on 2.8.6 aside from the two listed in the title.

Buzzzsaw avatar Aug 26 '24 01:08 Buzzzsaw

I have replaced the heat pump and consequently I must reprogram the esp32 that controls via MQTT.

The YAN1F6 remote control behaves differently from the library.

First of all, it is necessary to distinguish whether I-FEEL mode is active or not. In I-FEEL mode is the remote control that measures temperature and the internal unit uses that temperature as feedback. In NON I-FEEL mode the internal unit uses its own temperature sensor placed at the inlet of the air intake.

Well , clarified this , it follows that the remote control sends more information. The I-FEEL pulse train consists of a special header with Mark 6 ms and Space 3 ms plus 2 bytes normally coded.

N.B. the remote control also transmits the I-FEEL bytes at regular intervals without any key being pressed.

I would like to point out that the structure of the sent IR signal is only equal for the first part to that in the library because, independently from I-FEEL, an additional Header with the usual 8 bytes is sent.

Attached is the signal captured from the power off command with I-FEEL active. The upper track is the signal detected at the output of a TSOP1736 while the lower one is the signal detected by an IR photodiode without any filtering and/or processing.

The file can be conveniently viewed by PulseView. IR_capture.zip

mr-miky avatar Dec 14 '24 20:12 mr-miky

To decode and encode the IR packets, please post dumps using the dump sketch. Once that has been implemented, if it isn't already, then someone can look into resolving the logic bits for the AC protocol.

NiKiZe avatar Dec 14 '24 23:12 NiKiZe

I do not have ESP , I am implementing the control of a heat pump AERMEC which is basically a GREE. Unfortunately I’m using RP2040 and IRremoteESP8266 as inspiration to understand the GREE protocol.

The I-Feel part is already implemented here https://github.com/ToniA/arduino-heatpumpir/blob/141298ea420c724c8bab5760d715b07e9a5040c4/GreeHeatpumpIR.cpp#L568 and basically it’s what my YAN1F6 sends to communicate the temperature read by the internal sensor.

mr-miky avatar Dec 15 '24 09:12 mr-miky

Hey. I've started to improve my Gree AC. My remote is YAC1FB9. Although I can control AC by WiFi, I can't send iFeel temp. Do you have any advice to investigate?

namezys avatar Jun 08 '25 10:06 namezys