greeclimate
Discover, connect and control Gree based minisplit systems
Decision gist · record as of 2026-08-14
Yes, if you own a Gree-compatible mini-split system and need programmatic control. The package is actively maintained, has low install friction, and provides a clean async API. The main gotcha is that device binding is finnicky and requires immediate re-scan if the device key is lost—test discovery and binding thoroughly before relying on it in production. GPLv3 licensing means any derivative work must remain open-source.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Binding to devices is finnicky and only works immediately after a network scan; devices must be on the same network and discoverable via UDP broadcast.
- Low install friction with only two runtime dependencies (netifaces and pycryptodome).
License · maintenance · safety
copyleft license (copyleft) — Licensed under GPLv3 (copyleft). Any derivative work or bundled distribution must also be open-source under compatible terms.
last release 2026-06-11 (64 days) · last repo commit 2026-08-10 · 73 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 79,672 downloads/mo, #14,342 on PyPI
Alternatives
Verify before relying
pip install greeclimate
from greeclimate.discovery import Discovery
from greeclimate.device import Device
discovery = Discovery()
for device_info in await discovery.scan(wait_for=5):
device = Device(device_info)
await device.bind()- Whether all Gree+ app-compatible devices are actually supported or only specific models
- Exact encryption key negotiation details and whether re-binding is always required after power loss
- Whether the package handles concurrent connections to multiple devices reliably
What it is and what it does
greeclimate is a fully async Python library for controlling Gree-branded mini-split HVAC systems (air conditioners and heat pumps) that are also compatible with the Gree+ mobile app. It handles network discovery, device binding with encryption key negotiation, and state management for properties like power, temperature, fan speed, and operating mode. The library uses netifaces for network interface detection and pycryptodome for the two-layer encryption scheme that Gree devices employ.
The package is designed for home automation integrations and has been tested on Proklima and Trane mini-split units. It provides async methods for scanning the network, binding to discovered devices, querying current state, and pushing configuration changes. The binding process is described as finnicky—devices only respond to binding requests immediately following a network scan, and re-binding may be necessary if the device key is lost.
Use it for
- Integrate Gree mini-split systems into Home Assistant or other home automation platforms for centralized climate control.
- Build custom monitoring dashboards that query device state (temperature, mode, fan speed) over the network.
- Automate HVAC scheduling by setting power, target temperature, and operating mode via async Python scripts.
- Troubleshoot device connectivity issues using the built-in discovery and diagnostic tools.
- Control multiple Gree units concurrently in a single application using async/await patterns.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you own a Gree-compatible mini-split system and need programmatic control.
The package is actively maintained, has low install friction, and provides a clean async API. The main gotcha is that device binding is finnicky and requires immediate re-scan if the device key is lost—test discovery and binding thoroughly before relying on it in production. GPLv3 licensing means any derivative work must remain open-source.
Install
greeclimate on PyPI
Before you install
Low install friction with only two runtime dependencies (netifaces and pycryptodome). Package is actively maintained with recent commits and supports current Python versions (3.10+).
Requires Python 3.10 or later. Binding to devices is finnicky and only works immediately after a network scan; devices must be on the same network and discoverable via UDP broadcast.
License in practice
Licensed under GPLv3 (copyleft). Any derivative work or bundled distribution must also be open-source under compatible terms.
Quickstart
pip install greeclimate
from greeclimate.discovery import Discovery
from greeclimate.device import Device
discovery = Discovery()
for device_info in await discovery.scan(wait_for=5):
device = Device(device_info)
await device.bind()
Verify before relying
- Whether all Gree+ app-compatible devices are actually supported or only specific models
- Exact encryption key negotiation details and whether re-binding is always required after power loss
- Whether the package handles concurrent connections to multiple devices reliably
Package facts
| License | copyleft license copyleft |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesnetifacespycryptodome |
| Maintenance | Actively maintained 64 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 79,672 / month, #14,342 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: GNU General Public License v3 (GPLv3)Operating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: greeclimate-3.2.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “gree mini-split control”
- greeclimateAsync Python library for discovering, connecting to, and controlling…
- controlImplements core operations for analyzing and designing feedback…
- google-cloud-service-controlPython client library for Google Cloud Service Control API, enabling…
Give your agent the search over MCP, or paste the wish link into any chat.
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.
pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.
uvloop is a drop-in replacement for Python's built-in asyncio event loop, implemented in Cython and using libuv, that accelerates async I/O operations.
execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.
However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…
PyZMQ provides Python bindings for ZeroMQ (ØMQ), a lightweight messaging library that enables fast, asynchronous communication between distributed processes and applications.
See also python-izone · advantage-air · aioairzone-cloud · msmart-ng · py-ccm15 · AIOSomecomfort · pysensibo · nexia · pystiebeleltron · airtouch4pyapi