← Frank Seidel
Free · Open Source

Keep your Midea PortaSplit in iECO — automatically, locally, no cloud account

Small, reliable command-line tools that keep your Midea air conditioner's energy-saving iECO mode switched on for you — over your local network, even after you turn the unit off and on by hand, which normally resets it.

🇬🇧 Reading in English — zur deutschen Fassung.

Why this matters right now

Through the 2026 European heatwaves the Midea PortaSplit became one of the most sought-after home appliances of the season. If you managed to get one, it's worth running it as efficiently as it can go — and that means keeping iECO on.

The problem nobody tells you about

iECO can currently be switched on only through the MSmartHome / Midea Smarthome app — there is no physical iECO button on the remote. And it doesn't stay on: iECO exits automatically after eight hours, and every time you power the unit off and on by hand — which most people do every day — it silently switches off again. You won't notice, because the unit otherwise works normally at the temperature you set.

ECO vs. iECO — two different modes, easily confused

The remote's ECO button and the app-only iECO are not the same feature.
ECO (button / remote)iECO (app / cloud only)
Activated viaPhysical button on unit or remoteOnly through the Midea app
Target temperatureFixed automatically at 24 °CWhatever setpoint you chose (e.g. 21 °C)
MechanismSimple fixed setpointAdaptive algorithm around your setpoint
Resets after off/on or 8 hYes — this is what this tool solves

This project is specifically about iECO — the app-only mode that quietly turns itself off. It never forces 24 °C; it keeps iECO active at the temperature you already set.

What iECO is worth

Midea advertises iECO as saving up to 60% versus standard operation, with up to eight hours of runtime on about 1.2 kWh (Midea's own figures). An independent ten-hour practical test measured roughly 100 W lower draw in iECO than in Auto mode, at a comfortable room temperature. Measurements taken for this project found about 4 kWh per day of avoidable extra consumption during continuous operation when iECO was not active — with no comfort benefit from running without it.

The fix

  • midea_ieco_ensure.py — checks and enforces iECO, either always or only when the unit is already running (a safe --only-if-on mode that never powers the AC on for you)
  • midea_refresh_tokens.py — fetches the local access credentials your unit needs, with a single command and no Midea password

Both talk to your air conditioner directly over your local network — no cloud round-trip in normal operation, and no dependency on Midea's servers staying online.

Install in one line

The installer supports Debian/Ubuntu/Raspberry Pi OS, Fedora/RHEL, Arch, Alpine, openSUSE and macOS, with a bilingual (English/German) setup that discovers your units on the network for you:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/tuxbox78/midea-ieco/main/install.sh)"

It's open source — you can read install.sh on GitHub before you run it. The setup needs no Midea account and no password: device tokens are bound to the unit, not to your account, and are fetched locally. Nothing is ever stored in the cloud.

What you get

Requirements

A small, always-on computer on the same network as the unit — a Raspberry Pi, home server, NAS or Mac — running Python 3.11+ (not the iPhone itself). The air conditioner must be reachable on the local network (TCP port 6444) and already added to the Midea app once, for Wi-Fi onboarding. Besides the PortaSplit, iECO-capable Midea rebrands from Comfee, Toshiba, Carrier and Klimaire work too.

Already running Home Assistant?

Then you don't need this. Use the actively maintained midea_ac_lan integration, which exposes iECO as one preset among full climate controls. This project is for the narrower case: a Raspberry Pi, Mac or small server that should just keep iECO on, without a running smart-home server.

This is an independent, community-built tool and is not affiliated with, endorsed by, or sponsored by Midea Group. “Midea” and “PortaSplit” are trademarks of their respective owner. Provided free of charge, as-is, under the MIT open-source license.