Midea branded AC’s with ESPhome (no cloud)

Yeah, try that … I used a brand new level shifter, so it was the last thing I suspected…

Also, I did connect it a bit differently than in my picture. I do not use the 3.3V output to the ESP32, but directly connect it to 5V. No idea if that makes a difference, but all devices I eventually hooked up run on 5V, so it made wiring easier.

1 Like

I have an in wall (in ceiling) air coditioner, I tried to connect the esphome like that, with 4 wires instead of USB but it doesn’t seem to work.
Anyone has any idea about this type of air conditioners?

Well…Midea uart uses RS232 (voltage based), the one showing here is RS485, which is a current based protocol…so the ESP01 here is not going to work.

Still could be it is using the same serial commands, but without a RS485 interface it won’t work for sure…
On the other hand there are converters :face_with_raised_eyebrow:

1 Like

How is it possible to solve it?

Lets start with the question…is it a midea branded? And if so…what type??

I’m not sure. I assumed its Midea because it’s a lcoal Israeli brand, and I know for sure that there other models, the wall Ac’s, tha ones with the USB dongles work flawlessly with this dongle solution.
I assumed that my AC, which is the same brand, but without the dongle, would work the same.

Converter, like MAX485 sure makes the physical layer to the spec, but 485, and I guess MODBUS is whole protocol where timings are critical. I saw that MrCool sells “remote thermostats” which are on RS485 seeing “A” and “B” signs on the terminals. But… who knows. It does’t cost much to try I guess. You can buy “arduino friendly” UART to RS485 converters. But those require signals to switch from receiving and transmit, so it won’t be compatible with the midea component in ESPHome.

1 Like

Hello @nvschilleman how were you able to create a USB suitable for the Midea style usb ports (they have those small notches on side).

I am facing a similair issue on which type of dongle should I order from Sergey Dudanov since my AC has some logic module as well and thr USB port has notches as well.

I ordered the dongles unassembled, took apart the male USB-A connector and sanded off the edges. I posted a photo somewhere in this topic of the first dongles I used based on a ESP-01

edit, in this post I posted the photos:


A short note to thank you for sharing this project. I have a carrier without the usb cable connector. I just followed your example and connected to the board directly with DuPont cables.
Works perfect.

1 Like

I have a Midea mini split connected to HA via the wifi dongle that came with the unit itself. It works most of the time, but still has a ton of random disconnects. I’m planning to order one of the pre-flashed dongles and was wondering if with that, once integrated in to HA, can some how set it to use a remote sensor as the thermostat control. Right now my mini split is in my wife’s office and it’s mounted about 9’ up on a cathedral ceiling, and setting the temp is more based on comfort as opposed to an actual number.

After struggling for days trying to get my Midea AC working with the HACS cloud thing I thought let me just try the ESPHome module way, I was hesitant when I first looked at both options of integration and thought this way would be harder / take longer, ironically this way was actually much easier and I prefer having direct LAN access, total time spent probably 10 minutes and it is working perfectly.

I had spare nodemcu boards laying around so just used one of those and then cut a small hole in the plastic casing inside the AC with the module sticking out.

AC model: MSAG11B-12HRFN1QC2

Thanks to all of those involved…

Some images for those interested (sorry a little blurry)

EDIT: I will most likely make up a shorter cable so that the nodemcu board can be mounted inside the plastic compartment.


Hi guys, i might need to replace the PCB board on my midea since it’s not working.
Just wondering if anyone tried connecting to one of those universal pcb board for ac?

Just completed a succesfull ESPHome integration in my MaxiCool Split-type air conditioner.

I used an ESP01S and a ESP-01 Adapter like described in the first topic.

Type: Maxicool AMD-AUR-09HDI AURORA 2,5kW
Year: 2021
Original Wifi Dongle: NetHome Plus EU-OSK103 (so now not used anymore)

I connected RX from adapter to TX on the AC board.

UART settings for Midea dongle (required)
  tx_pin: 1   # hardware dependant
  rx_pin: 3   # hardware dependant
  baud_rate: 9600


Can confirm Simando SMND-PAC-12 from 2020/2021 works fine. As it comes without wifi you need to completly dissasamble the case to get to the Display-Board as there is one free 4 Pin JST Header for Wifi :slight_smile:
iot-uni-dongle example esphome Config. Just remove the heater part.

you may want to have a look @ IR Commands using TSOP IR · Issue #5 · dudanov/iot-uni-dongle · GitHub i posted a complete config for a nodemcu there.

1 Like

Did you manage the modbus integration? I also have such a heat pump and I would like to see more data.

I wonder if using something like this E180 DTU ZG120 485 ZigBee 3.0 Ad Hoc Networking RS485 IoT Wireless Transceiver Radio Modem|Fixed Wireless Terminals| - AliExpress it would be possible to just send rs485 to homeassistant and then decode it using homeassistant modbus integration.

1 Like

I am a little perplexed about Fahrenheit usage. My unit display F on the front panel. My midea ESP configuration is specified in C, but that should just relate to display in HA, right? I also indicate that I want precision of 0.5. When I issue a service call of set_temperature: 72, the temperature is set to 71.5 F (and the front panel indicates a setting of 72 F). But, if I set_temperature to 72.5, it gets set to 73.5 F (panel indicates 73 F).

What is it doing? How do I get it to set the temperature to the number I specify?

The temperature encoding in their internal uart protocol is based on Celsius, if I remember correctly 1 bit change is half degree (Celsius). Fahrenheit support is… a bit of Frankenstein’ed in :slight_smile: It’s normal to have that degree of a mismatch. Or at least this is what I tell myself :slight_smile:

I am new to ESPHOME and only have this midea component. I have been able to accomplish a lot using the simple things, like calling climate services. But, I am thoroughly confused about how to call an action like midea_ac.beeper_on

Any examples for home assistant?