Haier Air Conditioner

The ESP8266 work with 3.3V. The only use of 5V is for VCC, all GPIOs are 3.3V

Hello, everyone.
Andrew Lavrentev seems found the way (and another) to send commands thought local native REST.
Can someone take a look and reengineer it to plain requests, so we can reuse it with REST integration?

Unfortunately doesn’t work for Haier AS25NHPHRA :frowning: No any “Readed message:” in Wemos log… Only something like:

[D][Haier:103]: POLL:
0-255
1-255
2-10
3-0
4-0
5-0
6-0
7-0
8-1
9-1
10-77
11-1
12-90
[D][climate:010]: ‘Haier’ — Setting
[D][climate:014]: Mode: OFF
[D][Haier:215]: Sended message:
0-0
1-0
2-0
3-0
4-0
5-0
6-0
7-0
8-0
9-1
10-77
11-95
12-0

Maybe use other protocol or require a specific message.

Two of my Haier airco systems which i installed last year function fine. Last weekend i installed a third one. It seems it has newer firmware because i can’t get any messeges out of it. The same module is working fine in one of the older two airco units. Is there a way to figure out why its not working. My program skills are not that good.

[09:56:04][D][Haier:103]: POLL:
0-255
1-255
2-10
3-0
4-0
5-0
6-0
7-0
8-1
9-1
10-77
11-1
12-90

Do you think the airco itself have different firmware, or the USB Wifi stick?

I ordered my USB stick a day too late (didn’t know if/when the installator was going to install it). So I cannot test it. But when it does, I want to get it working in Home Assistant. Hopefully with the Wifi stick option, but that might be ‘encrypted’…

The airco itself but I am not sure. I hav to check the internal wiring of the aico unit. Maybe there is something wrong.

Hi Juan, did you manage to resolve your problem? It seems i have the same issue. There is no response to the poll message or any other command…

Several people with newly purchased AC report this problem. In the newer models, it seems that the Haier has changed the protocol.

Yes, I see. Well, at least that is what I thought, because I get completely different bytes than what I see in the repository.

If anyone want to help, please run the following, specially created to get to know the datastructure/protocol. See readme and releases.

Is there a way to check your firmware version? I use the official USB wifi stick, my version is R_1.0.00/e_2.3.12, that does send data after you connect. Someone with R_1.0.00/e_2.5.14 doesn’t get data back, not sure if that is related.

But maybe you can check it. I’m also not sure how to update it, I don’t see an option through the app, so I think the Airco is responsible for that.

I hate Haier, i’d better could’ve picked a Daikin! But was already too late when I ordered it.

When updating to the 2.5.14 firmware, accidentally, by (un)plugging the power it doesn’t respond at all! Same as @albetaCOM experiences. :face_with_symbols_over_mouth:

They really do like their customers! :speak_no_evil:

Yes, that’s it, I don’t get any data at all. I also flashed a sonoff with ESPHome haier component but what I see on the logs is that I don’t get any data form the AC unit at all.

Hmm, so the response is the same wether it’s the original stick, or through the other ESPHome method.

Maybe we need a ‘hello’ command first, like there is in this one:

Yesterday also sniffed the network traffic of the official app, but everything contains signed messages, in headers, the request/responses could be ready sometimes, but it’s hard, and I don’t want to emulate the original app, I want a Local Push method, like it was in the 2.3.12 firmware…

I opened my wifi module, I wanted to connect an FTDi to the chip uart to sniff the frames going in and out to the AC, but the chip has embedded the usb, I mean, it is not a uart and a USB conversor so I guess it is not so easy to decode the USB frames. :cold_sweat:

Yes, I wondered myself too, that I would need an USB sniffer… And knowledge of USB… If they only just cooperated and made their devices more fun and integrated…

Hi!
I was confused, I though the connection between the wifi module and the Haier AC was through USB, because of the USB connector, but after some research I’ve discovered that the chip on Wifi module has not USB output and there is no UART to USB converter so the comunication between the USB module and the Haier AC is a plain UART at 9600, 8N1.

With this in mind I soldered 2 ftdi cable to the TX and RX to be able to spy the communication between the Wifi module and the AC with Docklight. Once connected and capturing I’ve made some test turning on and off the AC from the remote control aswell as from the application (I kept the time).
I have both the logs and the timing where I was triggering the commands, but I am not able to understand the protocol, if anyone can help it would be great!!

Here are the files:
https://drive.google.com/drive/folders/1cQpStGslVXtKyNsSP_BV0ZW_kcq9yRuF?usp=sharing

Wow, I need a lot to learn! #impostersyndrome :joy:

Did you also try baud rate 115200, that is what the smart meters here are at. I’m not sure if this is the good data or the full data, it looks so scrambled.

Hi!!!
I did some more tests and I found out that my ground was not connected!!

Here I update the frames. Now the structure makes more sense.
https://drive.google.com/drive/folders/1cQpStGslVXtKyNsSP_BV0ZW_kcq9yRuF?usp=sharing

After that, I send some frames from my laptop with FTDI conversor to the HAIER uart and worked!!
ON command: FF FF 0C 40 00 00 00 00 00 01 5D 01 00 01 AC BD FB
OFF command: FF FF 0C 40 00 00 00 00 00 01 5D 01 00 00 AB 7D 3A
Setpoint 25: FF FF 14 40 00 00 00 00 00 01 60 01 09 08 25 00 02 03 00 06 00 0C 03 0B 70

Tomorrow if I have time I’ll try to update my Haier.h file for ESPHome component and try it out.

@KoalaBear if this log is helpful and you can work with your program in order to keep the original wifi module would be great too!!

Great! I’m not sure. I guess I need some sort of initialization command on WiFi. Any idea if you can check that out?

And are the command exactly the same every time? (I would like to know if they use checksum bytes). Ohh, and set it to 26 or so, so you see which bytes are responsible for the temperature.

What I would also love is a photo of your setup, the soldering, the wires, so I could learn from you. And if you have something specific (like the FTDI thing I don’t know much about yet).

Thanks in advance, you are doing great work! :+1: I wish I would be able to do this sort of literally hardware things :joy: