Midea branded AC’s with ESPhome (no cloud)

@exciton sorry but that did not happen to me. I have a duct unit and an wired remote. I can not reproduce the scenario on my setup. Everything is in Celsius on my side.

@bwiggins I am using the ready-made SLWF-01pro (v1.1) with default config (they come pre-flashed):

esphome:
  name: air-conditioner
  platform: ESP8266
  board: esp12e
  name_add_mac_suffix: true

wifi:

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "AC-wifi"
    password: "slwf01pro"

captive_portal:

# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API
api:

ota:

uart:
  tx_pin: 1
  rx_pin: 3
  baud_rate: 9600
  
  
climate:
  - platform: midea
    name: Midea Climate         # Use a unique name.
    period: 1s                  # Optional
    timeout: 2s                 # Optional
    num_attempts: 3             # Optional
    autoconf: true              # Autoconfigure most options.
    beeper: true                # Beep on commands.
    visual:                     # Optional. Example of visual settings override.
      min_temperature: 17 °C    # min: 17
      max_temperature: 30 °C    # max: 30
      temperature_step: 0.5 °C  # min: 0.5
    supported_modes:            # All capabilities in this section detected by autoconf.
      - FAN_ONLY                # This capability is always used.
      - HEAT_COOL
      - COOL
      - HEAT
      - DRY
    custom_fan_modes:
      - SILENT
      - TURBO
    supported_presets:          # All capabilities in this section detected by autoconf.
      - ECO
      - BOOST
      - SLEEP                   # This capability is always used.
    custom_presets:             # All capabilities in this section detected by autoconf.
      - FREEZE_PROTECTION
    supported_swing_modes:
      - VERTICAL                # This capability is always used.
      - HORIZONTAL
      - BOTH
    outdoor_temperature:        # Optional. Outdoor temperature sensor (may display incorrect values after long inactivity).
      name: Temp
    power_usage:                # Optional. Power usage sensor (only for devices that support this feature).
      name: Power
    humidity_setpoint:          # Optional. Indoor humidity sensor (only for devices that support this feature).
      name: Humidity

web_server:
  port: 80
1 Like

Is it possible to turn off the fan when the AC is “on” but the temperature is within the set range? Right now it keeps spinning and creates an unwanted draft

I have an automation set up using a schedule helper that sets the hvac mode to heat_cool with a min-max temperature. The schedule turns on the AC in heat_cool mode after which the AC checks the temp, the temp is ok and it should do nothing. But still the fan is running (without cooling or heating, just the fan). Is this just how this AC is supposed to work, or can I disable it somehow?

description: ""
trigger:
  - platform: state
    entity_id:
      - schedule.ac_schedule_keuken
condition: []
action:
  - if:
      - condition: state
        entity_id: schedule.ac_schedule_keuken
        state: "on"
    then:
      - service: climate.set_temperature
        data:
          hvac_mode: heat_cool
          target_temp_high: 24
          target_temp_low: 18
        target:
          device_id: 420c7c08d2be1c310c16763a2461294f
    else:
      - service: climate.set_hvac_mode
        data:
          hvac_mode: "off"
        target:
          device_id: 420c7c08d2be1c310c16763a2461294f
mode: single

it is how the AC is supposed to work…
But why not use your automation to turn the AC off when lower temperature is reached, and on again when max temp?

That is a great idea!

Do you have a suggestion how I can automate this?

check this thread?

1 Like

Hi there,

I successfully got this working on a mr cool diy third gen about a year ago, however I just purchased two 4th gen units and esp home does not get any info from the units nor can it control. I made sure everything on the new dongles were wired correctly. I also tried the working dongle I made for the third gen unit as well with no luck.

Has anyone had any luck with a 4th gen unit? Or anyone have any ideas what could have changed?

I am wondering if the firmware of the unit itself changed something.

what type of dongle does it originally use?
osk-10??

How can I tell? Open the OEM dongles case?

Here is the dongle that came with the 3rd gen.

This dongle, when I plug it into the 4th gen units it works fine and shows up as the name of the third gen unit I had initially set it up with… but of course it will work, its the Mr cool dongle.


This is the dongle that came with the 4th gen


Also, in the mr cool app, the gen3 says it’s firmware 2.5.3,2.5.0 and the 4th gen says 2.6.0,2.6.0

I wonder if I can downgrade the firmware somehow

Were you able to get this to work? I just got a Senville unit and looking at my options to integrate it with Home Assistant

Not sure if it can be downgraded, but I guess there is something different compared to your 3rd gen.

Also it falls a bit out of the scope here, as it assumed the module is flashed with the esphome firmware…

If it does have an option to update the firmware using it’s webinterface, you could reflash it with esphome (i only can’t help with the correct GPIO pin-out :thinking: )

I ended up purchasing the prebuilt ESP unit from this website and it works. I have the full ability to control the unit and also get the outdoor temperature status of the unit outside, no humidity or power info. Shipping does take a while though

great, thank you! I will order one too. I expect it to take a while.

I wonder if it is possible to make this work with the midea cube dehumidifiers? they have audino based mqtt control but i haven’t had amazing success with it.

I just would like to clarify why I sent you the photos I sent you, and I would also like to just make sure my question was understood.

You asked me for the original wifi module that the unit came with:
“what type of dongle does it originally use?
osk-10??”

that’s why I sent you these pictures of the original dongles and not my dongle I made with esphome. I opened the white plastic case, and snapped pics of the original USB “smart wifi” that Mr Cool sells with the units. I have no idea what osk-10 is, so maybe it’s a firmware or OS or a board that some mini splits normally come with?

This is a photo of the module I made with the ESP home firmware that works for my 3rd gen Mr Cool Mini split, but does not work for my 4th gen mini split. (which I was able to make with information here)

It’s alright, if it falls out of the scope here then I guess I don’t know where else to turn, lol. This is where I came to originally flash my 3rd gen. Was able to make the dongle above, and control it with esphome using the midea component.

When you open the mini splits “hood”, there is a board that the USB connects to, which has the same serial number on this piece on my 3rd and 4th gen units. then that board has a wire going to another board, which also has the same serial number on it.

I even swapped them around from my 3rd to my 4th gen. Only thing I can really think of is they did something with a firmware update, which if that’s the case, I was only asking on here as it’s the only place on the entire internet where people are talking about flashing esp home on mini splits and just wanted to see if someone was able to do it.

I am not trying to come across rude, I’m just super frustrated, not anyones fault here. The only reason I spent so much money on these 4th gen’s DIY units is because I was able to successfully pull it off on a 3rd gen, and I thought in my head that there’s no way they woulda done something about this, it’s not that popular of a “hack” that they’d kill it. (I coulda gotten off brand ones installed for cheaper than what I paid for the Mr Cool Units that I had to install myself)

The OSK-102/3/4 are the original Midea dongle’s; they are not using the regular ESP modules.
image
Since your picture shows it uses the ESP-12F, it should be reprogramable (but maybe requires some direct wiring).

It could be something very silly, as I’ve seen some people having contact issues (as the port may look like USB, but it is not; the corners of the socket are cut of and a standard USB may not fit properly/not making proper contact…
image
This is also the reason I prefer to use the header plug instead of the USB :thinking:

You are not rude; no offence take in any way :smiley:

1 Like

It definitely is not standard USB just like you said, but it is definitely powering up, reporting back to esphome that the module is up, but inside home assistant, the 4th gen ones do not get any data from the mini split. The third gen one works like a charm. I even tried the new dongles I made for the 4th gen’s on the 3rd gen mini split to see if I messed them up, and sure enough, they work on the 3rd gen just fine. I think Mr Cool definitely either did something with the firmware or something else changed. but the crazy thing is that both the original wifi dongles for the 3rd and 4th gen are pretty identical. I guess it might be time to give up for now :\

or maybe going back to your point of making contacts, maybe the unit is powering up, but possibly another one of the contacts isn’t making good contact?

I could also look into trying to reflash the chip it came with to see if that’s possible like you mentioned as well. That would solve any contact problems

Thanks again for your help!!

What does the log says (on the web interface)
you see both tx and rx ??
It should look something like this:

And another question, what does the 4th gen dongle on the old ac (since you did try the 3rd gen on the new :thinking: )?

ok my friend you are a genius. I think you are onto something and maybe we are very close to figuring this thing out. I looked at the logs and it was only getting TX.

so this is a picture of the board that the USB dongle plugs in to:

This board looks identical on both 3rd and 4th gen.

I guess I never tried this combination before. I just took the 3rd gen’s board (from the pic) with my esp dongle in there, and plugged it into the little connector, and it was reporting and controlling my 4th gen beautifully.

Then I plugged the new 4th gen one back in with my 3rd gen esp dongle, and it was also only getting tx.

So I think you’re right, there’s either a contact issue, and maybe I need to either solder directly onto this board from the photo instead of going over usb, or I could just try reflashing the OEM mr cool dongle that has the ESP chip on it, but then I’d have to figure out all of it’s GPIO pins, right?

I’m comparing the two and they look identical to me. Here’s a photo front and back, the one with the USB plugged in is the 3rd gen.

edit: photos have seemed to be cropped, in the front photo, the top one is the 3rd gen


But this is the problematic component for sure.