Haier Air Conditioner

Me again… I tried it, and it is working… a lot of typing but it is worth it…
Thank you @Michael_Davydov :slight_smile:

So I was poking around… I see that there is open source for Homebridge Haier AC plugin. It should be easy for someone to modify it and make proper Haier AC Integration for Home Assistant. I personally never make an integration, so… we need a hero.

IMO, beats the ‘custom USB device’ approach. With all the ordering, waiting for parts, soldering, firmware flashing, etc. There’s an obvious pro that it would become fully local, but too much time and parts are required, imo.

If someone found a way to flash new firmware directly on existing Haier USB WiFi sticks without expensive programmators - now that would’ve been the ultimate solution. Kind of like I recently did with Xiaomi Mi Bedside Lamp 2 - I only had to buy a USB to TTL adapter that costs like 3$ and a bunch of wires. I don’t have any soldering stations or even a specific place to work on it. Just a table, soldering iron and a laptop. Took me less than an hour to flash it.

So I was poking around… I see that there is open source for Homebridge Haier AC plugin. It should be easy for someone to modify it and make proper Haier AC Integration for Home Assistant. I personally never make an integration, so… we need a hero.

Yeah, it’s open source, and that’s why we’re able to modify it. The change was proposed by someone from HomeAssistant’s dev team after they looked at HomeBridge plugin’s code. I made a PR of the change and author of the plugin accepted it. However it was not yet pushed to NPM. He’s not very active there.

And I’ve already started reverse engineering it into Python here: GitHub - Nixellion/hass-haier-ac: Home Assistant Haier AC Custom integration

Me and a friend who’s a bit more experienced with JavaScript. It’s at a state where it can make AC at least acknowledge a command and make a beep, though it locks up after that and requires power cycling the AC.

If someone is willing to help with the project that’d be cool. But so far I’m happy with my setup and unfortunately have no incentive to spend my very limited free time on this particular project.

1 Like

Hi,
I tried following your steps, but after adding it to homebridge I cannot control it in homebridge server dashboard, there is no errors in homebridge logs. It works fine through smartair2 app on Android. Could you please specify what firmware and software versions you are running so I can trace where our setups differ. Thank you very much for your help.

True and would be a lot easier, tried it with the newer Homebridge Haier Air Conditioner and without any modification HA picked it up and let me configure the plugin. But can’t control it till now :slight_smile:

how did you import the plugin inside HA? Did you made any changes?

Both plugins give me the same error message within homebridge, so didn’t tried connecting homebridge with HA. First this connection have to work, maybe it have something to do with the running firmware on the AC

[11/25/2022, 9:46:26 AM] Error: read ECONNRESET
at TCP.onStreamRead (node:internal/stream_base_commons:217:20)
[11/25/2022, 9:46:26 AM] Got SIGTERM, shutting down Homebridge…
[11/25/2022, 9:46:26 AM] [Homebridge UI] [HapClient] [192.168.1.150:51249 (0E:DA:9C:7E:41:29)] Failed to set value for Upstairs Conditioner.
[11/25/2022, 9:46:29 AM] Error: read ECONNRESET
at TCP.onStreamRead (node:internal/stream_base_commons:217:20)
[11/25/2022, 9:46:31 AM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null

I have 2 Haier ACs.
First is working ok but with Second i got error:

  • Cannot read properties of undefined (reading status).

This is my Homebridge config.json:

{
    "bridge": {
        "name": "Homebridge A4E8",
        "username": "0E:0B:BA:62:21:58",
        "port": 51418,
        "pin": "750-41-007",
        "advertiser": "bonjour-hap",
        "bind": [
            "enx001e06397234"
        ]
    },
    "accessories": [
        {
            "accessory": "HaierAC",
            "ip": "192.168.1.18",
            "mac": "01DA83BD9327",
            "name": "Second",
            "treatAutoHeatAs": "fan"
        },
        {
            "accessory": "HaierAC",
            "ip": "192.168.1.13",
            "mac": "06FA85CA9458",
            "name": "First",
            "treatAutoHeatAs": "fan"
        }
    ],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "platform": "config"
        }
    ]
}

EDIT:
AC with firmware R_1.0.00/e_2.3.12 working ok but I can not control unit with firmware R_1.0.00/e_2.5.14.

Hello,is possible to add sensor DHT11 in same wemos D1 . Resume control AC Haier and receive data from DHT11?

Well, technically Wemos D1 can handle that and a lot more, but it will require adjusting it’s code.

For example I just upgraded my electric convection heater with Wemos D1 ESP8266 as the brain. It has 2 DS18B20 temperature sensors (one inside and one outside), electric relay, tiny OLED screen and rotary encoder. Monitors temperatures and decides when to turn the relay which powers the heating element on or off, shows data on the screen, encoder controls the target temperature and has a JSON API so that it can be integrated into Hass with REST integration. And it’s on microPython, which takes uses more RAM than it would if it was written in C++.

So yes. I’m pretty sure Wemos D1 can handle 1 teeny-tiny temperature sensor and continue sending UART commands :slight_smile:

It’s a good idea, actually. ACs seem to stop updating temperature sometimes when they are off, adding a temperature sensor to the same ESP controlling it seems like a great idea.

Hi all,

Read this interesting post. We’ve 3 Haier airco’s (1x AS25S2SF2FA-2 and 2x AD25S2SS1FA) with firmware R_1.0.00/e_2.3.12 on genuine Haier wifi modules (KZW-W002 and KZW-W001)

Is there already an update or is there another option to let it work with HASS? (I’m running HASS in a virtual machine on Windows 10)

Thanks in advance for your response!