Midea branded AC’s with ESPhome (no cloud)

@Jozsi_Csoka @Mosibi @Bryla
I don’t want to disturb you guys here, but don’t you think, it would be better to open up a new thread for the heatpumps? :slight_smile: You’re gathering a lot of useful information here, but I highly doubt anybody will find this in the future when other posts (about the ACs) come in between.

Just a suggestion, no offense, but it would really be a shame, if this info gets “lost” in the middle of this thread… :slight_smile:

If you want to have posts moved, I’m quite sure, one of the moderators will be helpful here, eg. ask @Petro to move these posts. :slight_smile:

EDIT/PS: If you choose to seperate the threads, would one of you be so kind and tag me in the new thread, so I don’t miss it? Thanks a lot! :slight_smile:

That register contains a 8 bits value which can be found in my config as binary_sensor, see from line 1173

I agree with you that we better can make a dedicated topic for the heatpumps. @petro can you fix this for us?

EDIT: This is now solved. Solution was to switch RX and TX in the Yaml.

To prove your point: here is a question about AC :grimacing:

I have configured a Wemos D1 Mini (esp8266) but I can’t get it to work with my Midea Mission Pro. The logging mentions: [W][midea:113]: Failed to get 0xB5 capabilities report.

The Mission Pro should work as mentioned by @awenger here. Also I found multiple posts from others using the Wemos and I am using the same hardware for my Haier AC without any issues.

Am I missing something? To rule out configuration errors I used the sample configuration from ESPHome. The pinout is correct for my hardware.

My yaml is below, any ideas?

  name: d1-mini-midea

  board: d1_mini

# Enable Home Assistant API
    key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"

  password: "xxxxxxxxxxxxxxxxxxxxxxxx"

  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
    ssid: "D1-Mini-Midea Fallback Hotspot"
    password: "tfnpxtiOZjnb"

# Example configuration entry

# Disable logging over UART (required)
  baud_rate: 0

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

# Main settings
  - 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:            # Optional. All capabilities in this section may be detected by autoconf.
      - FAN_ONLY
      - HEAT_COOL
      - COOL
      - HEAT
      - DRY
    custom_fan_modes:           # Optional
      - SILENT
      - TURBO
    supported_presets:          # Optional. All capabilities in this section may be detected by autoconf.
      - ECO
      - BOOST
      - SLEEP
    custom_presets:             # Optional. All capabilities in this section may be detected by autoconf.
    supported_swing_modes:      # Optional
      - VERTICAL
      - 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


HA fan at home, and found this thread then the Midea Duo 14,000 BTU AC + Heater had me set up the WiFi and it behaved just like all my ESP chips do. So I wondered if this can be integrated so I can dump the online accounts.

This one was not in the list, but I like to tinker. It’s the Midea Duo MAP14HS1TBL sold as a Toshiba RAC-PT1412HVWRU at Home Depot. (You register it via the Toshiba APP, and Midea sends you your verification link.)

It’s one with the AC and Heater modes. I have a number of USB ESP Chip programmers already on my hobby bench, so I am looking to see what combo might work. Will tear into the WiFi module soon to see what is presented to me.

Anyone go down this road yet with this model?

OK, so this is what I have under the hood :smiley:

Jeah! it works!

Register: 0 → Bit 0

  • platform: modbus_controller
    modbus_controller_id: “${devicename}”
    name: “${entity_prefix} ON/OFF”
    id: “${devicename}_power_on_off”
    register_type: holding
    entity_category: config
    address: 0x0
    bitmask: 0x2

I am a little confused so wondering if someone can help me out. I bought a Senville MiniSplit and it came with the Alexa USB so it currently connects with Alexa, I got Senville to ship me out the USB that allows me to use the Senville app instead of Alexa. I see some HACS integrations that should allow me to connect to the Mini Split using the existing USB provided.

To my understanding the USB stick provided by Senville is actually a ESPHome USB running their own custom firmware. But I see in this thread people are buying their own ESPHome stick and flashing that, or are people flashing the stick that came with their units?

I also see you can buy this USB stick online which looks like its the preconfigured stick with ESPHome on it, but not sure if its the same as the ones in this thread.

Hoping that someone can help me figure out which path to take to integrate my Mini Split into HA!

For reference here’s what the Alexa USB stick looks like.

The stick described here is only for the midea branded AC’s.
And they normally use wifi module’s by the name OSK102/103 or 105. Note that although it looks like a USB stick, it is not; it uses a serial line.
This protocol has been reverse engineered, and adapted to be used with ESPHome.

If you think your AC is a midea branded AC, you can try to see if you can get the hacs link to work.
If that works, the esphome method described here will also work :wink:

As you stated your wifi module is actually using esphome, it should automatically be detected by HA. If you want to make changes, you need the original yaml configuration file, so you can modify, recompile and upload it.

Does this answer your question?

Kind of helps. To my knowledge my Senville mini split is just a rebranded Midea unit. I updated my original post with a pic of the Alexa USB stick it came with and looks like its ESP32-Pico-V3-Zero.

I tried connecting it directly to my PC to see if I could use ESPHome Dashboard to flash it but that didn’t work.

When its connected to my Mini Split it shows up as a ESPHome device but I can’t connect to it using HA. Not sure if I can even flash this stick with anything else.

I did some googling and it does look like Senville is just a rebranded Midea unit.

You can always try; but instead of trying to reflash your current stick, i’d buy a new one.
The esphome module i used above costed me approx €5,- and another €3,- for the uart programmer…


As @aceindy said, don’t mess with the manufacturer stick, keep it as a backup. :slight_smile: I still have mine…

Just buy a new ESP device and start fresh. This way you have no hassle in including and connecting it to ESPHome and further to HA. Just choose, which device you’d like. There are pre fabricated ones around to order, from some developers for this integration, or you just pick up an ESP from a local electronics shop. There you have to do some very little work to get it running, as described here in the first post.

I’m still working with my first attempt, no problems at all. It’s my most “used” ESP device, but also the one where I haven’t changed a single configuration line since the beginning. :slight_smile:

1 Like

Yeaup looks like I am just going to buy the pre configured ESP8266 I linked in my above post to avoid having to do the whole flashing process. This would be my first time using ESP Home so not to confident on doing it myself!

You will have to try it at some point eventually… :rofl: So why not now? :wink:

No, just take the route, where you feel comfortable. :+1:

1 Like

Is there a way to set the temperature for the AC through an automation?

I have the AC working on the dashboard as a thermostat and manual control is working fine. Now I would like to setup some automations to automatically turn on the AC based on room temperature and humidity. The device actions only allow me to turn on the AC or to change its preset (cool, dry, etc).

How am I to set the temperature in an automation action?

Use call service → Climate: Set temperature

description: ""
mode: single
  - platform: time
    at: "00:06:00"
condition: []
  - service: climate.set_temperature
      temperature: 24
      entity_id: climate.mideahvac
1 Like

That is absolutely awesome! Can’t believe I missed that. Thank you for pointing me in the right direction.

Thanks for answer; are you selling the boards? Regards Achim

I plan to. Do you need a board within weeks or do you have a bit more time? :grinning_face_with_smiling_eyes:

@aceindy Have you seen this? Do we need a wire connecting the ESPHome device to the AC IR sensor?