ESPHome has a new climate platform, midea_portasplit, for the Midea PortaSplit split air conditioner. It was merged into the development branch on 14 October 2026, together with its documentation, and talks to the unit over the UART connector normally used by its Wi-Fi module. In practice that means an ESP board replaces the original module and the air conditioner ends up in Home Assistant without the vendor cloud.
Why the existing Midea component was not enough
ESPHome already has a midea climate component, but it cannot drive the PortaSplit. According to the pull request, this unit ignores climate commands unless their sync byte is 0x00, a variant of the Midea UART protocol the old component does not speak. Contributor Fexiven reverse-engineered the protocol and checked it byte by byte against a real unit.
The new component also pretends to be the original Wi-Fi module, because the air conditioner expects one to be present. It answers the unit's keepalive polls, sends a network status frame every 10 seconds and repeats the capability queries the original module sends at boot. After every command it asks for the unit's status 1.5 seconds later, so Home Assistant shows what the air conditioner actually applied, and otherwise polls every 30 seconds.
What you can control
The documentation lists:
- modes: off, heat/cool (auto), cool, dry, heat and fan only;
- target temperature from 16 to 30 °C in 0.5 °C steps, plus the indoor temperature reported by the unit;
- fan modes: auto, quiet, low, medium and high;
- swing: off or vertical;
- presets: sleep, boost, eco and away, which is frost protection that heats to 8 °C.
Only the climate entity is included for now. Extra sensors, switches, selects and numbers are planned for a separate pull request.
Wiring and configuration
The platform needs a UART bus with both tx_pin and rx_pin set and baud_rate: 9600. The documentation warns that, as on other Midea units, the module connector uses 5 V logic, so a 3.3 V ESP board needs a level shifter. The existing Midea page lists adapter hardware that fits. The configuration itself is short:
uart:
tx_pin: GPIO17
rx_pin: GPIO16
baud_rate: 9600
climate:
- platform: midea_portasplit
name: PortaSplit
The pull request was tested on ESP32 (Arduino and ESP-IDF) and ESP8266.
When it arrives
The code is in ESPHome's development branch, which is heading for the 2026.11 release. Until then you can try it on the dev version; the documentation went to the next branch of the docs site, so the page appears on the main site with the release.