Open source Gree wifi module replacement

This is some incredible work! I found a Daikin open source WiFi module replacement, and was wondering if anyone was working on something similar but for GREE instead, and here you are!

I’m not sure if this is within the scope of these project, but I think so…

It looks like this can replace the official GREE module, with some benefits, but I think could be an added benefit, which could be extremely significant.

Most (all?) GREE boards, for high wall units, concealed duct, slim duct, floor/ceiling, etc have at least ONE plug for control. COM-MANUAL and this is how you connect the wired wall-mount controller. Many, certainly newer, have the WIFI plug as well, where you can plug in the GREE module (or, presumably, yours!)… But a lot don’t have the WIFI plug. Especially the off-brand versions of GREE which are often one-generation-old models.

The benefit I see is that if this could be made to work with the COM-MANUAL plug, instead of (or in addition to) the WIFI plug, it would be able to add WiFi to ALL Gree air handlers since nearly every single one has a COM-MANUAL port, even if they don’t have a WIFI port.

The connection and protocol for the COM-MANUAL port seem to be the same as for the WIFI port.

GREE actually has done something similar themselves with the XE-72 controller. It is a wired wall mount controller, but it builds the WiFi module into the wired controller. This allows added WiFi to units other than the typical High Wall models. As well as older models.

The limitations, of course, are that GREE’s WiFi provisioning method are a REAL pain in the rear, using the GREE+ (or EWPE) app. Also, of course, “calling home” and needing to maintain an account with the GREE+ app.

If the custom module has a built-in web-page, you could set up the module for WiFi access by simply typing in the SSID and password, no need to go through GREE’s hoops.

The COM-MANUAL port can handle all the same commands as the WIFI port, and as far as I can tell, they are the same commands.

The COM-MANUAL port can also provide the air handler with the ambient temperature, overriding the ambient temperature detected by the air handler itself. The built-in temperature sensor can be unreliable, especially in HEAT mode.

The Daikin open-source module dealt with this by allowing a Bluetooth temperature sensor to connect to the WiFi module and it would use that sensor’s measurements and send it to the air handler. (Daikin’s built-in ambient temperature sensors are just as unreliable as GREE’s due to being IN the unit, often high on the wall, far away from where people actually are.)

A module that plugged into the COM-MANUAL port rather than WIFI could completely bypass GREE’s app, would work with all AC’s all the way back to around 2013 when GREE made the COM-MANUAL port standard for all unit types.

The biggest hurdle I see is I don’t know how a module would initiate communication. Although this may be the same as the WIFI port you’ve already figured out, because they both use the exact same 4-pin interface. The other is while the AC control related commands are almost certainly the exact same as the WIFI module, I don’t know how to figure out the extra commands, like sending an override ambient temperature measurement like the official GREE XE-72 controller does. I’m sure it would be the same style command as the AC control commands, but I don’t know what it… is.

Just some thoughts on a way to make this even more beneficial to even more people. There are many many units out there without the WIFI plug, but they all have the COM-MANUAL plug, and this could add WiFi to previously WiFi-incapable (or capable only with the XE-72 controller) units.

Thanks for all your efforts!

Hey @najjadasm well the AC sends its current state to the module as displayed by the “RX” bytes. So what you do is you start logging, then for example flip the AC on/off with your remote control and then see what byte(s) changed in the RX packets. Same with changing temp, fan modes etc, until you understand how it encodes the information.And once you understand you can modifiy the code to send TX packets to the AC based on that info.

Of course the module sends continually TX packets to the AC but the AC ignores them unless the ‘command’ byte is set to 0XAF, you can see that in the code. But if you send some packet to the AC that doen’t make sense to it, even with the command byte set to 0xAF, it will most likely just ignore it too. So that’s the path forward, find out how it encodes its settings into the RX packet and then use that to construct TX packets to change settings.

But I must say that I myself currently don’t have much time to help you with all this unfortunately, really short on free time these days …

@KENESS People on this board did something similar for Fujitsu AC’s, not sure if you’ve seen this project: Fujitsu AC (heat pump) integration via ESPHome [ESP32]

Interesting project, but also will take a bit of time to develop something like that

According to this thread: https://www.reddit.com/r/AskElectronics/comments/17cczg9/connector_id/ the connector is of type: “JST XARP-04V”

1 Like

I just hooked up my Tosot GWH12 airco with an ESP01-M / 5v converter and succesfully tested this component. Thank you very much!

Let me know if there is anything specific I should test that could help your development.

If you are open to feature requests, it would be nice to have a parameter to hide unsupported features. For example my unit does not support x-fan/ plasma.

1 Like

Great to hear it works on that model! And great find regarding the connector!

Yeah I think that’s the way forward, since there are not only feature differences but also really encoding differences between some airco models it seems. I’m really low on time but this is a cool project so I will try and make this more universal. But might take some time :slight_smile: