@Michal_Trawka Ahh, looks like I didn’t respond yet. Yes, the newest firmware (2.5.14) stops sending anything… So I need like a ‘hello’ of ‘init’ command, or maybe ‘polling’ is the same command.
I’ve already tried to calculate CRC16 low and high, but is wasn’t good, and didn’t have more time to check. It would be nice if it works with everything official (also).
I wrote a suggestion for better home automation integrations to Haier customer support. They redirected me to official GE Appliances site and encouraged to share my ideas. I have already created topic. I think they follow topics popularity, likes, comments. So let’s request simple changes from Haier if you miss some features
I’ve integrated Haier Tundra through Homebridge with use of Haieracbridge Platform (that unfortunately requires another bridge installed on Android devide) and integrated it with native Homebridge HomeKit support with HomeKit Controller on HA. Round and round it goes - but here’s result:
I’ve been able to get Haier AC fan into HomeAssistant using HomeBridge and HomeKit Controller integration, without any extra Android devices.
Here’s my setup:
Installed HomeBridge via Docker (location irrelevant, but in my case I’m running Hass Supervised on Debian, used Portainer to install it on the same VM)
In HomeBridge UI went to Plugins page and installed homebridge-haier-ac plugin. Currently version v0.2.1 is installed if that will matter some day.
I think it’d be a lot easier on so many levels if plugin author added that literally 1 line change to the code
I’ve also started working on python version of the remote control. I’ve managed to translate base command functions, connect to the AC and send binary data to it, but I think I’m still missing something. Or maybe there’s some error in generated bytecode.
The point is that code is there, all we need to do is just translate it from JS (TypeScript to be precise) to Python and then wrap it into Hass integration. If there’s someone who knows TypeScript better than me around and interested in Haier integration, we could maybe chat and figure it out together.
I’ve checked the code lately, but couldn’t find the part when it connects to the AC. A year ago I’ve tried to make it work to connect to it, but couldn’t get it to work.
I’m not sure where to go from here or how to check if bytecode is correct. Ideally we need someone who can find a way to run original code in full and see what kind of bytecode it produces and compare it to Python’s output to see if they match. Or maybe tell me how I can do that. I’m not good with TypeScript or JS (a bit better with JS and have a friend who knows it better than me, but that’s of no help at the moment), especially making code like that run for testing purposes.
Or maybe someone who can just spot a mistake right away, that should work as well of course
I did not say it works for me. I mean his original plugin for Homebridge does work. But my translation to Python does not. All I managed to do, apparently, is break some kind of command queue or whatnot So all I managed to do is establish a socket connection to AC (that’s the easy part) and then send “something” to it that mostly seems to resemble what Homebridge plugin does, but it’s missing something.