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
| ECO (button / remote) | iECO (app / cloud only) | |
|---|---|---|
| Activated via | Physical button on unit or remote | Only through the Midea app |
| Target temperature | Fixed automatically at 24 °C | Whatever setpoint you chose (e.g. 21 °C) |
| Mechanism | Simple fixed setpoint | Adaptive algorithm around your setpoint |
| Resets after off/on or 8 h | — | Yes — 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-onmode 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
- Automatic iECO enforcement via cron, running quietly in the background
- A safe
--only-if-onmode that never switches your AC on by itself - Simple
midea-iecocommands, including an in-place updater - Siri Shortcuts integration — control it by voice from your iPhone
- Optional Homebridge / HomeKit integration for full smart-home control
- Full setup documentation, in English and German
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.