I’ve been asked to secure this info from Any Support for Midea A/C
I’ve put here all relevant info from that topic:
Looks like it is finally working!
Thanks Mac-Zhou, ReneKlootwijk, SergeyDudanov, Fraschi for awesome collaboration.
(it already works, but development still ongoing to support more models and functions)
See this post for supported models (list is updated regularly) Thanks @paddy0174 !!
Hardware:
You can either order them online (pre-assembled, have a look here Thanks @dudanov for making this available for free!!)
Or make your own:
Requirements:
1x
and to program it
1x

or with soldered links to put it into programming mode
(Check this link for more options flashing esp-01’s)
I used this to flash the esp-01: USB Serial Adapter CH340G 5V/3.3V USB to TTL-UART.
As the AC itself doesn’t use USB (even though it uses an USB connector), you cannot use the programmer adapter there, you need the 5V/3.3V Adapter.
Mine looks like this (my A/C was both equipped with USB as well as header plug, so I could choose)
Software:
Normally ‘programming’ would be done from the ESPHome add-on
example of my mideahvac.yaml:
# Example configuration entry
esphome:
name: mideahvac
platform: ESP8266
board: esp01_1m
wifi:
ssid: "mywifissid"
password: "mywifipassword!"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Midea-Hvac Fallback Hotspot"
password: "53416ef6123"
captive_portal:
# Enable Home Assistant API
api:
password: !secret api_password
ota:
# Disable logging over UART (required)
logger:
baud_rate: 0
# Enable Web server.
web_server:
port: 80
# Sync time with Home Assistant.
time:
- platform: homeassistant
id: homeassistant_time
# Text sensors with general information.
text_sensor:
# Expose ESPHome version as sensor.
- platform: version
name: MideaHVAC ESPHome Version
# Expose WiFi information as sensors.
- platform: wifi_info
ip_address:
name: MideaHVAC IP
ssid:
name: MideaHVAC SSID
bssid:
name: MideaHVAC BSSID
# Sensors with general information.
sensor:
# Uptime sensor.
- platform: uptime
name: MideaHVAC Uptime
# WiFi Signal sensor.
- platform: wifi_signal
name: MideaHVAC WiFi Signal
update_interval: 60s
# UART settings for Midea dongle (required)
uart:
tx_pin: 1 # hardware dependant
rx_pin: 3 # hardware dependant
baud_rate: 9600
# Main settings
climate:
- platform: midea_ac
name: "Midea AC" # Use a unique name.
period: 2s # Optional
timeout: 4s # 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
# All capabilities in the section below are detected when autoconf = true:
supported_modes:
- FAN_ONLY
- HEAT_COOL
- COOL
- HEAT
- DRY
custom_fan_modes:
- SILENT
- TURBO
supported_presets: # All capabilities in this section detected by autoconf.
- ECO
- BOOST
- SLEEP
custom_presets: # All capabilities in this section detected by autoconf.
- FREEZE_PROTECTION
supported_swing_modes:
- VERTICAL
- HORIZONTAL
- BOTH
outdoor_temperature: # Optional. Create outdoor unit temperature sensor (may display incorrect values after long inactivity).
name: "Temp"
power_usage: # Optional. Create power usage sensor (only for devices that support this feature).
name: "Power"
humidity_setpoint: # Optional. Create indoor humidity sensor.
name: "Humidity"
A full overview of parameters can be found here
Checking size /data/mideahvac/.pioenvs/mideahvac/firmware.elf
RAM: [===== ] 45.2% (used 37064 bytes from 81920 bytes)
Flash: [==== ] 40.1% (used 411128 bytes from 1023984 bytes)
Creating BIN file "/data/mideahvac/.pioenvs/mideahvac/firmware.bin" using "/root/.platformio/packages/framework-arduinoespressif8266/bootloaders/eboot/eboot.elf" and "/data/mideahvac/.pioenvs/mideahvac/firmware.elf"
========================= [SUCCESS] Took 8.98 seconds =========================
INFO Successfully compiled program.
OTA works for me nowadays(which was not the case when i used the dev repository).
But, if it fails, you can also compile it on HA, and then download and flash it over ser2usb,
Or compile the bins on W10 and flash it using the serial2usb com-port.
Below my command lines used to compile on W10:
cd c:\workshop\esphome
pip install esphome
pip install esphomeflasher
pip install --upgrade git+ https://github.com/esphome/esphome
esphome mideahvac.yaml wizard
esphome mideahvac.yaml compile
esphomeflasher
using the compiled C:\_workshop\esphome\mideahvac\.pioenvs\mideahvac\firmware.bin
Assuming you already installed python
More info here:
PS: If you have a Midea branded AC which uses an osk102/103 wifi module, and it doesn’t work (or works partially), please contact the Midea-msmart development team on Telegram and they will try to fix it😉