Mitsubishi Heavy Industries Air Con - How do I connect via ESPHome?

Hi all,

I’m based in Australia and I recently had a Mitsubishi Heavy Industries Air Con installed (model DXK12ZSA-W). I’ve been wanting to add this to HA for automation and went down the Broadlink route, but I’ve been finding this has really been problematic with learning all the different permutations of IR commands.

I’d like to go the ESPHome route and interface with the AirCon directly. I’ve seen there are some efforts such as this - GitHub - geoffdavis/esphome-mitsubishiheatpump: ESPHome Climate Component for Mitsubishi Heatpumps using direct serial connection

But they all seem to be for Mitsubishi, which seem to be different units to Mitsubishi Heavy Industries. Has anyone had any luck integrating a similar unit such as the above?

Thanks in advance!

If you already have a Broadlink unit, why not use SmartIR? It supports your air-con, of course like all IR blasters you don’t have feedback of the aircon state.

I use it for all my a/c units.

Exactly as you said there is no feedback which I’d love to have. Furthermore it doesn’t support all the functions of my unit. So having a more dedicated feedback loop would be great!

Just trying to determine which library and setup is best suited.

I was searching for the same thing today.
Have you tried this?

I got my Mitsubishi Heavy unit working on IR control via Sinric (and google home). I took bits from about 3 different libraries to make it work. I’m using an ESP32 with inbuilt IR, it works really well.

I’m now considering going to ESPHome to manage everything but seeing no MHI on the supported list. I’m an amateur and in way above my head, but I’m happy to send you the files that make my MHI unit work. Recent model, bought from Bunnings about 4 years ago. Downside of sinric is that you can only have 3 connected devices - but for those 3 devices you get free push notifications.

Hey @manunited10, what did you end up going with?

How about you @JSONBourne?

bought something else!

Hi @Cang, i’m trying to do the same think trough ESPHome with Wemos D1 mini, IR trasmitter and IR receiver. Please can you send me or share your work. I appreciate. Thank you

For people with this model of air con, I have made an integration that uses the new native infrared support in HA: [Custom Integration] MHI IR Climate - Control Mitsubishi Heavy Industries Avanti air conditioners via native IR

I’ve exposed every feature available on the remote (excluding scheduling).

I now have a working fully local ESPHome / IR setup for Mitsubishi Heavy Industries units.

It uses an ESP32-S3, an IR LED (GPIO 15 in my setup), an external Zigbee room-temperature sensor and a local ESPHome MHI component.

Important: the complete local component folder is required, not only the device YAML. The structure is: components / mhi / init.py, climate.py, mhi.cpp and mhi.h.

The component used in my installation identifies @coldreckon in CODEOWNERS. Credit remains with that author; I am only sharing my tested setup and automation lessons here.

In ESPHome the local component is included with external_components, using the local path “components” and component “mhi”. The climate entity then uses platform “mhi” and receives the room temperature from a Home Assistant sensor.

This setup gives me fully local heating, cooling, fan-only operation and fixed horizontal/vertical vane positions. Home Assistant automations handle the target temperature and hysteresis.

An important lesson from testing optional fan continuation after cooling: only start the cooling-to-fan-only transition while the climate entity is actually in the cool state. Do not use a generic “not off” condition. Once the unit is fan-only, each later temperature update could otherwise trigger another off/on cycle.

I also use a separate automation branch that switches the unit off immediately when the “continue ventilation” helper is turned off while the climate entity is already fan-only.

This is currently working for my attic kitchen and a living-room test installation. The bedroom uses the same pattern and will be tested in place. I hope this gives others with MHI units a useful local starting point.