English | 简体中文 | Discord Chat | QQ Group
Control your Midea M-Smart appliances over the local network.
- Discover and configure appliances from the Home Assistant UI.
- Create extra sensors and switches for appliance control.
- Keep a long-lived TCP connection to synchronize appliance status in real time.
⭐If this component is helpful for you, please star it, it encourages me a lot.
❗Note: This integration requires Home Assistant 2024.4.1 or higher
Note: Currently, only personal Meiju and SmartHome accounts can be used for login, and the appliance must be bound to that account. Otherwise, the appliance Token cannot be retrieved. NetHome Plus cannot retrieve Tokens for now, but the related options and functions are still retained. ❗ SmartHome: Do not migrate your account from another app. You must register a new account and add your appliances; migrated accounts cannot retrieve appliance Tokens.
- The current Midea Meiju and SmartHome Token API services require login with a personal app account, and the appliance must be bound to that account before the Token can be retrieved. Midea may gradually close these Token API services in the future, which may prevent new appliances from being added.
- For appliances that have been successfully added, please be sure to copy or back up the appliance's
.jsonconfiguration file to a device outside HAOS for future use. Old v2 protocol appliances do not have.jsonconfiguration files, so only v3 protocol appliances need backups. - How to obtain the device's
.jsonconfiguration file: Please refer to Debug and Test - Reason: During the initial design of the Midea v1 LAN API, it was assumed that client communication was already encrypted. Therefore, the tokens generated by the cloud service and used within this encrypted communication were not configured with an expiration time. However, many Home Assistant plugins on GitHub use cracked client encryption methods. Because these tokens cannot expire, this creates a security risk. Midea may therefore gradually shut down the cloud Token API services above and move to the new v2 cloud control API, which would eventually make the v1 LAN control API unavailable.
- Remove old georgezhao2010/midea_ac_lan integration
- Install the current integration, then reboot HA
- Your devices will NOT be deleted. They should still exist, so you do not need to discover or add them again.
- If your appliance's switch or sensor entities disappear, re-enable them from
Settings -> Devices & Services -> Midea AC LAN -> Devices -> CONFIGURE. - Done. Your appliances should work as before.
And more.
❗Note: For each appliance type, configure supported features and parameters according to the documents below. Only enable a feature after confirming that the appliance supports it in the Midea app.
Please check the document links below for the supported features and usage of each appliance type.
| Type | Name | Documents |
|---|---|---|
| 13 | Light | 13.md |
| 26 | Bathroom Master | 26.md |
| 34 | Sink Dishwasher | 34.md |
| 40 | Integrated Ceiling Fan | 40.md |
| A1 | Dehumidifier | A1.md |
| AC | Air Conditioner | AC.md |
| AD | Air Box | AD.md |
| B0 | Microwave Oven | B0.md |
| B1 | Electric Oven | B1.md |
| B3 | Dish Sterilizer | B3.md |
| B4 | Toaster | B4.md |
| B6 | Range Hood | B6.md |
| BF | Microwave Steam Oven | BF.md |
| C2 | Toilet | C2.md |
| C3 | Heat Pump Wi-Fi Controller | C3.md |
| CA | Refrigerator | CA.md |
| CC | MDV Wi-Fi Controller | CC.md |
| CD | Heat Pump Water Heater | CD.md |
| CE | Fresh Air Appliance | CE.md |
| CF | Heat Pump | CF.md |
| DA | Top Load Washer | DA.md |
| DB | Front Load Washer | DB.md |
| DC | Clothes Dryer | DC.md |
| E1 | Dishwasher | E1.md |
| E2 | Electric Water Heater | E2.md |
| E3 | Gas Water Heater | E3.md |
| E6 | Gas Stove | E6.md |
| E8 | Electric Slow Cooker | E8.md |
| EA | Electric Rice Cooker | EA.md |
| EC | Electric Pressure Cooker | EC.md |
| ED | Water Drinking Appliance | ED.md |
| FA | Fan | FA.md |
| FB | Electric Heater | FB.md |
| FC | Air Purifier | FC.md |
| FD | Humidifier | FD.md |
Important
Make sure you have installed HACS in Home Assistant using the HACS install guide
Restart Home Assistant.
run this script in HA Terminal or SSH add-on
wget -O - https://github.com/wuwentao/midea_ac_lan/raw/main/scripts/install.sh | ARCHIVE_TAG=latest bash -- Download
midea_ac_lan.zipfrom Latest Release - Extract
midea_ac_lan.zip. - Copy the extracted files into
/config/custom_components/midea_ac_lanin Home Assistant, somanifest.jsonis directly under/config/custom_components/midea_ac_lan/. - Restart Home Assistant.
After restarting, open [Settings], [Device & services], [Integrations], [Midea AC Lan] to finish the initial setup and add your appliances.
❗Note: First, set a static IP address for your appliance in the router, in case the IP address of the appliance changes after set-up.
After installation, search for and add the Midea AC LAN integration from the Home Assistant integrations page. To add multiple appliances, add this integration multiple times and run automatic configuration each time.
❗Note: During the configuration process, you will be asked to enter your Meiju or SmartHome account and password because appliance information (Token and Key) must be retrieved from the Midea cloud server. After all appliances are configured, please back up each v3 appliance .json configuration file for future use. See Obtain Device JSON Configuration.
After the Midea account login is complete, click 'ADD DEVICE' to add an appliance. You can repeat this process to add multiple appliances.
Note: Currently, only personal Meiju and SmartHome accounts can be used for login, and the appliance must be bound to that account. Otherwise, the appliance Token cannot be retrieved. NetHome Plus cannot retrieve Tokens for now, but the related options and functions are still retained. ❗ SmartHome: Do not migrate your account from another app. You must register a new account and add your appliances; migrated accounts cannot retrieve appliance Tokens.
Using this option, the integration can discover and list Midea M-Smart appliances on the network or at a specified IP address. Select one from the list to add it.
You can also use an IP address to search within a specified network, such as 192.168.1.255.
❗Note: Automatic discovery requires your appliances and Home Assistant to be in the same subnet. Otherwise, appliances cannot be discovered. You can enter an IP address directly instead.
If you have manually configured the appliance through another integration before, or already have a Token/Key backup, you can add the appliance manually.
- Appliance code
- Appliance type (one of Supported appliances)
- IP address
- Port (default 6444)
- Protocol version
- Token
- Key
Do not modify appliance configurations unless you know what you are changing. Adding an incorrect appliance configuration may cause abnormal appliance status or make control unavailable.
Using this option, you can list all discoverable Midea M-Smart devices on the network, along with their IDs, types, SNs, and other information.
❗Note: Not all supported devices may be listed here. If a device cannot be scanned, it may not be supported at the moment.
Configuration can be found in Settings -> Devices & Services -> Midea AC LAN -> Devices -> CONFIGURE.
You can reset the IP address when the appliance IP changes.
You can also add extra sensor and switch entities, or customize your appliance.
❗❗❗ After an appliance is added successfully, not all features are enabled by default. You still need to adjust the configuration, mainly by manually enabling or disabling features according to what the appliance supports.
Set the IP address of the appliance. You can reset this when the appliance IP changes.
Set the interval for actively refreshing the status of a single appliance, in seconds. The default is 30, and 0 disables active refresh.
Most Midea appliances actively notify status changes,
so HA status updates still work normally even if the refresh interval is set to "0".
This component will also actively query the device status at regular intervals, and the default time is 30 seconds.
Some appliances do not send active notifications when their status changes, so status synchronization in HA will be slower.
If you are very concerned about the synchronization speed of the status, you can try to set a shorter status refresh interval.
❗Note: a shorter refresh interval may mean more resource consumption
After configuration, one or a few main entities (such as a climate entity) may be generated by default. If you want to expose other attributes as extra sensor or switch entities, click CONFIGURE in the Midea AC LAN integration card and select the sensors and switches to generate. Your appliance MUST support the selected features. Refer to the documents for each appliance type before enabling them.
Some appliance types have their own customization items. You can use them to customize appliance features. If your appliance does not work properly, or if displayed values are abnormal, you may need customization to fix it. Refer to the appliance documentation for specific configuration information.
The format of Customize must be JSON.
If multiple customization items need to be configured, the settings must comply with the JSON format.
Example
{ "refresh_interval": 15, "fan_speed": 100 }Whether
Customizeis supported depends on the appliance type. Refer to the corresponding appliance documentation.
For getting debug logs or modifying source code, please refer to Debug and Test.
Development uses uv (no Docker required). Install uv, then:
git clone https://github.com/wuwentao/midea_ac_lan.git
cd midea_ac_lan
./scripts/setup.shSee CONTRIBUTING for full setup, running Home Assistant locally, and the code style / commit rules.

















