Gree Infrared
The Gree Infrared integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] lets you control a compatible Gree air conditioner using any infrared emitter previously configured in Home Assistant. It can also keep the climate entity in sync when you have an infrared receiver set up, so the entity follows along when you use the physical Gree remote.
Because the integration communicates over infrared, it operates in a one-way, fire-and-forget fashion: commands are sent to the air conditioner but there is no feedback channel to confirm the current state. The integration therefore uses assumed states. It remembers the last known state and restores it after a restart.
How you can use the integration
After setup, you can control your Gree air conditioner from Home Assistant the same way you would with its remote, and make it part of your automations. For example, you can:
- Cool the bedroom before you go to bed.
- Turn the air conditioner off when everyone leaves home, so it does not cool an empty house.
- Turn the air conditioner off when a window opens.
- Keep using the physical remote. With an infrared receiver, the climate entity follows the changes you make with it.
Supported devices
The integration supports compatible Gree air conditioners that can be controlled via the standard Gree air conditioner infrared protocol.
Gree manufactures air conditioners sold under many brand names. Units branded Onida, Sinclair, and others use the same infrared protocol and work with this integration.
Prerequisites
This integration requires an infrared remote adapter (proxy) that is already set up in Home Assistant and provides an infrared entityAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more]. To find integrations that provide infrared entities, browse the Infrared category.
Configuration
To add the Gree Infrared device to your Home Assistant instance, use this My button:
Manual configuration steps
If the above My button doesn’t work, you can also perform the following steps manually:
-
Browse to your Home Assistant instance.
-
In the bottom right corner, select the
Add Integration button. -
From the list, select Gree Infrared.
-
Follow the instructions on screen to complete the setup.
The infrared emitter entity to use for sending commands to your air conditioner. This must be an entity provided by a hardware integration (such as ESPHome) that has already been set up with an IR emitter. It is required.
The infrared receiver entity to use for receiving commands from your Gree remote. This must be an entity provided by a hardware integration (such as ESPHome) that has already been set up with an IR receiver. It is optional and keeps the climate entity in sync with the physical remote.
The operating modes your air conditioner supports. Select at least one of Cool, Heat, Dry, Fan only, and Auto. Check your remote or the manual of your unit to see which modes it has. Not all Gree models support heat. Selecting a mode your unit does not have breaks nothing. Your air conditioner simply does not respond to it.
Supported functionality
A climate entity is created for each Gree air conditioner device you set up.
-
Gree AC
- Description: Represents the Gree air conditioner and allows you to control it using infrared commands.
- Supported features: Set HVAC mode, set target temperature, and set fan mode.
Supported modes
The climate entity offers the modes you selected during setup, in addition to Off.
- Cool: Cools to a set temperature.
- Heat: Heats to a set temperature. Not all Gree air conditioner models have it.
- Dry: Dehumidify mode.
- Fan only: Fan circulation without heating or cooling.
- Auto: The unit chooses between heating and cooling automatically.
Fan speeds
- Auto: The unit selects the speed automatically.
- Low: Low fan speed.
- Medium: Medium fan speed.
- High: High fan speed.
Temperature range
Supported range: 16 °C to 30 °C in 1 °C steps.
Physical remote state tracking
If you also have an infrared receiver entity (from an IR blaster that can also listen), you can optionally select it during setup. When selected, the integration decodes signals from the physical Gree air conditioner remote and updates the climate entity to match, so the mode, fan speed, and target temperature stay in sync.
Gree Infrared automation examples
The following examples show how to automate a Gree air conditioner. For more ideas, refer to the climate platform actions reference.
You don’t need to edit YAML to use these examples. Copy a YAML snippet from this page, open the visual automation editor in Home Assistant, and press Ctrl+V (or Cmd+V on Mac). Home Assistant automatically converts the pasted YAML into the visual editor format, whether it’s a full automation, a single trigger, a condition, or an action.
Automation: Cooling the bedroom before bedtime
- Trigger: Time: 21:30
- Condition: Numeric state: Home zone is above 0
-
Action: Set thermostat target temperature
-
Target: Gree AC (
climate.gree_ac) - Temperature: 24
- HVAC mode: Cool
-
Target: Gree AC (
YAML example for cooling the bedroom before bedtime
alias: "Cool the bedroom before bedtime"
triggers:
- trigger: time
at: "21:30:00"
conditions:
- condition: numeric_state
entity_id: zone.home
above: 0
actions:
- action: climate.set_temperature
target:
entity_id: climate.gree_ac
data:
# Use 75 instead if Home Assistant uses Fahrenheit.
temperature: 24
hvac_mode: cool
Automation: Turning off the air conditioner when a window opens
-
Trigger: Window opened
-
Target: Bedroom window (
binary_sensor.bedroom_window)
-
Target: Bedroom window (
-
Action: Set thermostat HVAC mode
-
Target: Gree AC (
climate.gree_ac) - HVAC mode: Off
-
Target: Gree AC (
YAML example for turning off the air conditioner when a window opens
alias: "Turn off the air conditioner when the window opens"
triggers:
- trigger: window.opened
target:
entity_id: binary_sensor.bedroom_window
actions:
- action: climate.set_hvac_mode
target:
entity_id: climate.gree_ac
data:
hvac_mode: "off"
Known limitations
- The climate entity for the air conditioner uses assumed state. Home Assistant cannot verify the actual state of the unit and instead tracks the last known state.
- Even with physical remote state tracking enabled, the receiver reports what the remote sent, not what the unit is actually doing, so the two can still drift apart, for example if something blocks the line of sight.
- Changing the target temperature or the fan speed while the air conditioner is off is remembered rather than sent. It is applied with the next command that turns the unit on.
- With physical remote state tracking, commands from the remote for a mode you did not select during setup are ignored, so the entity does not switch to a mode it cannot control.
Troubleshooting
The climate entity does not update when I use the physical remote
If you use an ESPHome remote_receiver as your infrared receiver and the climate state does not update when you press buttons on the physical Gree remote, the receiver is probably splitting each command into two signals it cannot decode.
The Gree protocol sends each command as two IR frames separated by a gap of about 20.1 ms. The ESPHome remote_receiver component defaults to an idle timeout of 10 ms, which treats that gap as the end of a transmission and breaks the command into two separate signals.
To fix this, in your existing ESPHome remote_receiver configuration, set idle to about 25ms so both frames are captured as a single signal:
remote_receiver:
idle: 25ms
The air conditioner does not respond to commands
If the climate entity changes in Home Assistant but your air conditioner does not react, the infrared signal is probably not reaching the unit. Make sure the infrared emitter points at the receiver window of the unit and that nothing blocks the path between them. For more steps, refer to The device does not respond to commands.
If the unit reacts to most commands but not to one mode, your model probably does not have that mode. Check your remote or the manual of your unit.
Reporting an issue
If you need to report an issue, enable debug logging, then reload the integration. Reproduce the issue, disable debug logging, and attach the automatically downloaded debug log to your report.
Removing the integration
This integration follows standard integration removal.
To remove an integration instance from Home Assistant
- Go to Settings > Devices & services and select the integration card.
- Next to the entry you want to remove, select the three dots
menu. Then, select Delete. - Depending on the integration, the entries are listed under one of the following headings:
- Devices
- Hubs
- Services
- Integration entries
- Depending on the integration, the entries are listed under one of the following headings:
- To confirm, select Delete.
- Home Assistant also deletes the devices and entities of the entry.
- If Home Assistant asks you to restart, restart Home Assistant.
- If Home Assistant asks whether to also delete the application credentials, select Remove or Keep.
- If you keep them, Home Assistant uses them automatically when you add the integration again.
- To delete them later, refer to Deleting application credentials.