If you’re in Australia and shopping for air conditioners, you’ve likely encountered brands like Braemar, Seeley, or Gree. These brands are all part of the same family: Gree Electric Appliances is a Chinese manufacturer and one of the world’s largest air conditioner producers. In Australia, Gree air conditioners are distributed through Seeley International under various brand names including Braemar and simply Gree.
What’s important to know is that despite the different brand names on the outside, many of these units share the same WiFi control technology—specifically the ME31-00/C7 WiFi module — which uses the Gree+ mobile app for smart home connectivity. This means solutions for Gree air conditioners often work across these related brands as well. While the app itself works fine for controlling my AC units through the ME31-00/C7 WiFi module, I ran into a frustrating limitation: the Gree+ Alexa integration simply doesn’t work reliably. Even though I was able to link my Gree+ App with Alexa, my devices were not discovered.

I wanted to integrate my AC units into my smart home automation, which is built around Samsung SmartThings. Unfortunately, there was no native SmartThings integration for Gree air conditioners, and the Alexa skill integration was unreliable at best.
The Solution: A Custom SmartThings Edge Driver
Since I already have a Samsung SmartThings Hub, I decided to build a custom Edge driver that communicates directly with the Gree WiFi modules over my local network. This bypasses the need for cloud services and provides fast, reliable control.
The Gree WiFi module uses a UDP-based protocol on port 7000. Here’s how the driver communicates with your AC units:
1. Discovery
The driver broadcasts a scan message on your network to find Gree devices:
{"t": "scan"}Devices respond with their information (encrypted):
{
"t": "pack",
"cid": "<device id Mac address>",
"pack": "<encrypted device info>"
}
After decryption, you get the device details including MAC address, model, and importantly for multi-split systems: the `subCnt` field indicating how many indoor units are connected.
2. Binding
The driver establishes a secure connection by binding with the device, which provides a unique encryption key for all future communications:
{
"mac": "<MAC address>",
"t": "bind",
"uid": 0
}
3. Sending Commands
Once bound, you can control the AC by sending encrypted command messages. For example, to turn the unit ON:
{
"opt": ["Pow"],
"p": [1],
"t": "cmd"
}
To set the temperature to 24°C in cooling mode:
{
"opt": ["SetTem", "Mod"],
"p": [24, 1],
"t": "cmd"
}
Available parameters:
- Pow: Power (0=off, 1=on)
- Mod: Mode (0=auto, 1=cool, 2=dry, 3=fan, 4=heat)
- SetTem: Target temperature in Celsius
- WdSpd: Fan speed (0=auto, 1-5=speed levels)
- SwUpDn: Vertical swing mode
- Lig: Display lights on/off
- Quiet: Quiet mode
- Tur: Turbo mode
The device responds with confirmation:
{
"t": "res",
"opt": ["Pow"],
"val": [1],
"r": 20
}
4. Status Polling
For single-unit systems, you can query the current status:
{
"cols": ["Pow", "Mod", "SetTem", "WdSpd"],
"mac": "<mac address>",
"t": "status"
}
The device responds with current values for all requested parameters.
The Multi-Split Limitation
Here’s where things get interesting (and frustrating): multi-split systems don’t properly report status for individual indoor units via the local UDP protocol.
In my setup, I have:
- 1 outdoor unit
- 2 indoor units (Bedroom and Living Room)
When you query status for a sub-unit, the device returns all zeros, even when the unit is running. After extensive testing with various protocol approaches, I discovered this is a hardware/firmware limitation of the ME31-00/C7 WiFi module.
The driver implements command-based state tracking: when you send a command through SmartThings (turn on, set temperature, change mode), the driver stores that state. While this doesn’t reflect changes made via the Gree+ app or the physical remote control, it works perfectly if you control your AC units exclusively through SmartThings.
For the main outdoor unit, status polling works normally and reflects the actual device state.
The SmartThings Edge driver current features
✅ Full control of all AC functions:
- Power ON/OFF
- Temperature setpoint (cooling)
- Mode selection (Auto, Cool, Dry, Fan, Heat)
- Real-time command execution
✅ Multi-split system support:
- Automatically creates separate devices for each indoor unit
- Individual control of each unit
✅ Local network communication:
- No cloud dependency
- Fast response times
- Works even if internet is down
✅ Privacy:
- All communication stays on your local network
- No data sent to external servers
⚠️ Known limitation:
- Multi-split sub-unit status polling not available due to hardware limitation
- Status reflects last SmartThings command only for sub-units
Installation
Subscribe to the Driver Channel
Install the driver on your SmartThings Hub by subscribing to the channel:
Subscribe to Gree AC Driver Channel
Setup Steps
- Subscribe to the channel using the link above and install the driver
- Open the SmartThings mobile app → Devices → Add Device → Scan for Devices
- The driver will automatically discover your Gree AC units on your network
- For multi-split systems:
- The driver creates a separate devices for each sub-unit
- Configure the `subUnitMac` in device settings for each sub-unit (see driver documentation)
Configuration
Most configuration is automatic:
- IP address: Auto-discovered
- MAC address: Auto-discovered
- Encryption key: Auto-obtained during binding
For multi-split systems, you’ll need to manually configure the sub-unit MAC addresses in device settings. See the Multi-Split Setup Guide]for details.
Source Code
The driver is open source and available on GitHub: st-gree-driver
Feel free to explore the code, report issues, or contribute improvements!
Summary
While the Alexa integration for Gree air conditioners was disappointing, building a custom SmartThings Edge driver turned out to be the better solution. The local network communication is faster and more reliable than any cloud-based integration, and I now have full control of my AC units through SmartThings automations, scenes, and voice control via SmartThings/Google/Alexa Assistant.
The multi-split status limitation is unfortunate, but the command-based state tracking works well in practice if you commit to controlling your AC units through SmartThings. The alternative would be to reverse-engineer Gree’s cloud API, but that’s a project for another day!