Midea branded AC’s with ESPhome (no cloud)

This evening, I got mine working.

Here’s what I learned:

That 5 conductor wire is not the USB wire. There must be some little board in between the two. But I am only taking out a couple screws and gently prying at the front right area of my unit, so I’m very limited in what I can see and reach.[0]

I had tested for voltage on the 5-pin connector, but couldn’t find any. So I plugged it back together, then I got the expected 5VDC on the outer USB pins.

I then put everything together on a breadboard to test:

After some initial fits and starts[1], I was off to the races!

@topdog360, I have not tried to use the remote yet, but I did also experience some temperature weirdness (in the thermostat in HA web UI). After doing the following, it started working:

climate:
  - platform: midea
    # was originally:
    visual:
      min_temperature: 70
      max_temperature: 80
    # changed to:
    visual:
      min_temperature: 70°F
      max_temperature: 80°F

Now that I’ve proved to myself this works, I will work on miniaturizing it so I can tuck it back away in there nice and tidy (I did not have any ESP-01 on hand, but I will order some; or perhaps the Dudanov boards…).

I am also very seriously considering going out and buying 1 or 2 more of these units for other rooms in the house, and altogether stop using our extremely inefficient central A/C unit(!).

@balloob, If I do that, I should have 1-2 spares I could send you to play with. I’ll let you know.

Now, time for a celebratory cold one (or three)… :beers: :smiley:

[0] I had come across a pretty good teardown video for the Midea U-Shaped and I did not want to get into all that just yet, as my unit is still brand new.

[1] First I had logging enabled, which conflicted with the UART communication, so I disabled that. But I was still able to get logs via ESPHome wireless API (neat!). Then I realized I needed to flip TX/RX around.

1 Like

I don’t think the driver in the ESP32 can handle the current of the LED. I’ve only done this once (not on one of these dongles but on an Adafruit ESP32 development board) and in my research this is what I learned.

See this for reference

Typically the output of an Arduino type board does not have sufficient current to drive an LED so you need a driver circuit using a transistor.

It looks like maybe the transmitter you linked has all of that built in?

Got it. Honestly, I don’t know and i am winging this entire thing. I’ll give it a shot and report back whether or not I was successful.

Hi! Can you explain how do you do it???

thnks

Is it necessary to supply DE and RE ?

This works great but I’m experiencing an issue when setting min_temperature to 16.

The oddness comes because the UI keeps resetting the temp to 17C, on the web page of the dongle running ESP Home, and thus Home Assistant.

The AC stays at 16C, unless I turn it off and on again.

Anyone else seen this?

Hi all,

i am quite new, but i am as well interested in AC Dimstal to Home Assistant.

I running the “SMLIGHT.SLWF-01Pro” at the Dimstal Air Condition and it seems to work plug and play. I can switch it on and off and as well changing some settings.
But what i dont understand it seems that the step motor of the “air outlet control” shows a bit strange behavior now. It seems that the SLWF Stick runs other stepper values, so it can get now into a undbefined state where it still belives open and did not close completly. I hope you understand what i mean. By the way here are some debug messages of the module itself. Maybe u know something about this topic.

14:04:43	[D]	[AirConditioner:178]	
Enqueuing a GET_STATUS(0x41) request...
14:04:43	[D]	[ApplianceBase:173]	
Enqueuing the request...
14:04:43	[D]	[ApplianceBase:075]	
Getting and sending a request from the queue...
14:04:43	[D]	[ApplianceBase:162]	
TX: AA 21 AC 8D 00 00 00 00 03 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 9A 58 E6 
14:04:43	[D]	[ApplianceBase:063]	
RX: AA 22 AC 00 00 00 00 00 03 03 C0 00 41 28 7F 7F 00 30 00 00 00 5A 6E 00 00 00 00 00 00 00 00 00 58 42 73 
14:04:43	[D]	[AirConditioner:205]	
New status data received. Parsing...
14:04:43	[D]	[ApplianceBase:154]	
Destroying the request...
14:04:44	[D]	[AirConditioner:178]	
Enqueuing a GET_STATUS(0x41) request...
14:04:44	[D]	[ApplianceBase:173]	
Enqueuing the request...
14:04:44	[D]	[ApplianceBase:075]	
Getting and sending a request from the queue...
14:04:44	[D]	[ApplianceBase:162]	
TX: AA 21 AC 8D 00 00 00 00 03 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 9B 06 37 
14:04:44	[D]	[ApplianceBase:063]	
RX: AA 22 AC 00 00 00 00 00 03 03 C0 00 41 28 7F 7F 00 30 00 00 00 5A 6E 00 00 00 00 00 00 00 00 00 06 86 81 
14:04:44	[D]	[AirConditioner:205]	
New status data received. Parsing...
14:04:45	[D]	[ApplianceBase:154]	
Destroying the request...
14:04:45	[D]	[AirConditioner:178]	
Enqueuing a GET_STATUS(0x41) request...
14:04:45	[D]	[ApplianceBase:173]	
Enqueuing the request...
14:04:45	[D]	[ApplianceBase:075]	
Getting and sending a request from the queue...
14:04:45	[D]	[ApplianceBase:162]	
TX: AA 21 AC 8D 00 00 00 00 03 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 9C 85 B7 
14:04:45	[D]	[ApplianceBase:063]	
RX: AA 22 AC 00 00 00 00 00 03 03 C0 00 41 28 7F 7F 00 30 00 00 00 5A 6E 00 00 00 00 00 00 00 00 00 85 E8 A0 
14:04:46	[D]	[AirConditioner:205]	
New status data received. Parsing...
14:04:46	[D]	[ApplianceBase:154]	
Destroying the request...
14:04:46	[D]	[AirConditioner:178]	
Enqueuing a GET_STATUS(0x41) request...
14:04:46	[D]	[ApplianceBase:173]	
Enqueuing the request...
14:04:46	[D]	[ApplianceBase:075]	
Getting and sending a request from the queue...
14:04:46	[D]	[ApplianceBase:162]	
TX: AA 21 AC 8D 00 00 00 00 03 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 9D DB 60 
14:04:46	[D]	[ApplianceBase:063]	
RX: AA 22 AC 00 00 00 00 00 03 03 C0 00 41 28 7F 7F 00 30 00 00 00 5A 6E 00 00 00 00 00 00 00 00 00 DB 2C 06 
14:04:47	[D]	[AirConditioner:205]	
New status data received. Parsing...
14:04:47	[D]	[ApplianceBase:154]	
Destroying the request...
14:04:47	[D]	[AirConditioner:178]	
Enqueuing a GET_STATUS(0x41) request...
14:04:47	[D]	[ApplianceBase:173]	
Enqueuing the request...
14:04:47	[D]	[ApplianceBase:075]	
Getting and sending a request from the queue...
14:04:47	[D]	[ApplianceBase:162]	
TX: AA 21 AC 8D 00 00 00 00 03 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 9E 39 01 
14:04:48	[D]	[ApplianceBase:063]	
RX: AA 22 AC 00 00 00 00 00 03 03 C0 00 41 28 7F 7F 00 30 00 00 00 5A 6E 00 00 00 00 00 00 00 00 00 39 79 5B 
14:04:48	[D]	[AirConditioner:205]	
New status data received. Parsing...
14:04:48	[D]	[ApplianceBase:154]	
Destroying the request...
14:04:48	[D]	[AirConditioner:178]	
Enqueuing a GET_STATUS(0x41) request...
14:04:48	[D]	[ApplianceBase:173]	
Enqueuing the request...
14:04:48	[D]	[ApplianceBase:075]	
Getting and sending a request from the queue...
14:04:48	[D]	[ApplianceBase:162]	
TX: AA 21 AC 8D 00 00 00 00 03 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 9F 67 D2 
14:04:49	[D]	[ApplianceBase:063]	
RX: AA 22 AC 00 00 00 00 00 03 03 C0 00 41 28 7F 7F 00 30 00 00 00 5A 6E 00 00 00 00 00 00 00 00 00 67 BD E9 
14:04:49	[D]	[AirConditioner:205]	
New status data received. Parsing...
14:04:49	[D]	[ApplianceBase:154]	
Destroying the request...
14:04:49	[D]	[AirConditioner:178]	
Enqueuing a GET_STATUS(0x41) request...
14:04:49	[D]	[ApplianceBase:173]	
Enqueuing the request...

have you figured it out? I am also stuck on this one

Hi currently, i did not find the issue,
and this just perhaps with the ESP Module, in case i using the remote control it works fine. The commuication seems even good, i guess there is a command which creates the issue.