ESP32-for-Haier

Hi everyone,
I’ve set up an ESP8266 WeMos D1 board running ESPHome with the Haier Climate component to communicate with my Haier ducted air conditioner. Everything went smoothly and I had it up and running in one evening, I thought it was almost too easy!

However, during testing, I noticed an issue. While the integration updates both ways and all modes appear to work, the compressor doesn’t start in either Heat or Cool mode.

Interestingly, as soon as I disconnect the TX and RX wires between the ESP board and the air conditioner’s main board, the system works as expected. It’s almost as if there’s a compressor lockout function being triggered.

Has anyone experienced something similar or have any insights to share?

Below is the current esp code.

esphome:
  name: haier-aircon
  friendly_name: Haier AirCon

esp8266:
  board: d1

# Disable UART logging
logger:
  level: DEBUG
  baud_rate: 0

# Enable Home Assistant API
api:
  encryption:
    key: "abc"

ota:
  - platform: esphome
    password: "abc"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  manual_ip:
    static_ip: 192.168.65.31
    gateway: 192.168.65.1
    subnet: 255.255.255.0

  ap:
    ssid: "Haier-Aircon Fallback Hotspot"
    password: "abc"

captive_portal:

# UART to AC
uart:
  - id: ac_port
    tx_pin: GPIO1
    rx_pin: GPIO3
    baud_rate: 9600

climate:
  - platform: haier
    id: haier_ac
    protocol: smartair2
    uart_id: ac_port
    name: "Haier Ducted AC"
    wifi_signal: false
    display: true

    visual:
      min_temperature: 16 °C
      max_temperature: 30 °C
      temperature_step: 1 °C

    supported_modes:
      - 'OFF'
      - COOL
      - HEAT
      - FAN_ONLY

I feel like I might be missing a function or configuration in the code that’s preventing proper operation.
Any help or insight would be greatly appreciated!

So what is actually working on hardware level?
Are you sure you have smartair2 model?
What you get on esphome log?

At the hardware level, functions such as fan speed, setpoint, etc., all update correctly and are reflected on the hardwired Haier wall controller.

However, when either Heating or Cooling mode is selected, the outdoor condenser unit does not start.

Interestingly, as soon as I disconnect the Tx and Rx wires from the ESP board, the air conditioning unit operates normally.

Outdoor Unit: Haier 1UH125P1ERG
Indoor Unit: ADH125H1ERG

During setup of the ESP board, the only protocol that elicited any response was SmartAir2.

I’ll capture some logs from the unit shortly and post them here to see if they reveal anything useful.