This is a custom Home Assistant integration for Gree Heat Pump devices that use the proprietary UDP protocol.
This repository is archived, as I no longer have access to a Gree Heat Pump, meaning that I cannot test nor validate any changes. If you'd like to give continuity to the repository, feel free to fork :)
-
Copy the
gree_hpfolder to your Home Assistantcustom_componentsdirectory:custom_components/ gree_hp/ -
Restart Home Assistant
-
Go to Settings → Devices & Services → Add Integration
-
Search for "Gree Heat Pump" and click to add
-
Enter the IP address of your heat pump when prompted
The integration provides the following entities:
- Power Control: Turn the heat pump on/off
- Mode Selection: Cool, Heat, Shower Water, Cool + Shower Water, Heat + Shower Water
- Cold Water Temperature: Current cold water temperature setting
- Hot Water Temperature: Current hot water temperature setting
- Shower Water Temperature: Current shower water temperature setting
- Water tank: Current temperature of the water inside the water tank
- Water In PE: Temperature of the water entering the Heat Pump circuit
- Water Out PE: Temperature of the water leaving the Heat Pump circuit
During setup, you only need to provide:
- IP Address: The local IP address of your heat pump (e.g., 192.168.1.100)
All other protocol parameters (port, encryption keys) are hardcoded based on the Gree protocol specifications.
The integration polls the heat pump every 10 seconds to retrieve the current status, ensuring the Home Assistant entities stay synchronized with any manual changes made on the heat pump itself.
- Protocol: UDP communication on port 7000
- Encryption: AES-ECB with device-specific keys
- Discovery: Automatic device discovery and binding
- Dependencies: Requires
pycryptodomepackage
- Connection Issues: Ensure the heat pump IP address is correct and the device is on the same network
- Entity Updates: The integration updates every 10 seconds; manual changes may take a few seconds to reflect
- Logs: Check Home Assistant logs for detailed error messages if the integration fails to connect
This integration is based on reverse-engineered, lots of searching and looking into similar implementations of the Gree protocol communication patterns.