At last, I completed the main part of my ESPHome project for the native Haier ESP32 board. If you want to try it you can find it here: https://github.com/paveldn/ESP32-S0WD-Haier. This changes in the development branch but soon I will put it on master. already on master It is working fine on my AC but of course, I can’t guarantee that it also will work OK for you, so be careful.
If you will try it let me know how it went.
And what kind of problem/error do you get?
I suppose you should have ESPHome installed already, so should be able to build my code the usual way with the command
esphome compile haier.yaml
INFO Reading configuration .\haier.yaml...
ERROR Error while reading config: Invalid YAML syntax:
Error reading file .\secrets.yaml: [Errno 2] No such file or directory: '.\\secrets.yaml'
Which I completely understand, because esphome and all the home assistant parts run on Home Assistant, not on my ‘local’ Windows desktop.
I only know how to get it working when esphome on/inside Home Assistant is building it, not like this, no experience yet with it.
I copied everything to Home Assistant and just added it to esphome and then I do get it working. Will try to see if it works.
I’ve tried all 4 possible combinations of RX/TX, both on pin 16/17 and the original RX/TX pins. So I guess I need to really start sniffing the bytes on the Haier Tundra Plus, maybe it’s a completely different scheme.
Yes, that is happening when there is no answer from the device. But what kind of ESP board do you use? On the original board, it should be pins 16/17.
ESP32 by default have 3 UART ports:
UART0 => GPIO 1 and 3
UART1 => GPIO 9 and 10
UART2 => GPIO 17 and 16
But UART1 usually used to work with flash
So you have 2 UARTS:
Of course, if you are using a different ESP32 board probably you will need to use different pins.
P.S. Keep in mind if you want to use UART0 (pins 1 and 3) to work with AC you will need to disable serial logging by adding baud_rate: 0 option to the logging section, like this:
The picture looks OK if you trying to communicate through UART0 (Pins 1 and 3) Probably your AC using a different port speed. Mine is working on 9600. You should try to use higher baudrates.
Today i tried on another AC (flexis plus v3), i tried with node mcu v3 as it was easiest locally available thing i could get and same as you, no communications, but i get back message:
you can take out connector from the plastic housting, mangle it with pliers, cover with tape and that way there is better connection.
For the actual use I will switch to esp01 with shield with serial connector for it and the 4pin wire, that way it will hopefully fit nicer both into the unit and connectors into the pins.
Update: i did one more unit, just removed plastic on dupont and basically crimped and taped the wires onto the board, that is only unit of the three where the connection still works after tidying up the wires. My guess is dupont wires are not that great for “production” usage.
Is there an option to add “light” toggle, so i can turn off AC display from HA (or other ways?). If there as a way I can find out the position that sets it and it’s values.
maybe the light switch could be implemented as light bulb in HA?
Please tell me why I only work this one from all the firmware? In general, it works, but it does not have a health mode, sleep mode and turn off the display … Who can explain why other firmware does not suit me, the protocol is different or what?
There are (at least) 2 protocols, as far as I understand. “hOn” or “smartair2”, I think the one you mention is also the one I should try because it says on the original repo that it is a like a replacement of KZW-W001 and KZW-W002 which uses “smartair2” (app).