Skip to content

Home Assistant custom integration to control Midea (and associated brands) air conditioners via LAN.

License

Notifications You must be signed in to change notification settings

mill1000/midea-ac-py

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Midea Smart AC

Code Quality Checks Validate with hassfest HACS Action hacs_badge

Home Assistant custom integration to control Midea (and associated brands) air conditioners via LAN.

Midea is an OEM for many brands including: AirCon, Alpine Home Air, Artel, Beko, Canair, Carrier, Century, Comfee, Electrolux, Friedrich, Galactic, Goodman, Hualing, Idea, Inventor, Kaisai, Kenmore, Klimaire, Lennox, LG, Mitsui, Mr. Cool, Neoclima, Olimpia Splendid, Pioneer, Pridiom, QLIMA, Qzen, Rotenso, Royal Clima, Samsung, Senville, Thermocore, Toshiba, Trane and more.

A device is likely supported if it uses one of the following Android apps or it's iOS equivalent.

  • Artic King (com.arcticking.ac)
  • Midea Air (com.midea.aircondition.obm)
  • NetHome Plus (com.midea.aircondition)
  • SmartHome/MSmartHome (com.midea.ai.overseas)
  • Toshiba AC NA (com.midea.toshiba)
  • 美的美居 (com.midea.ai.appliances)

Note: Only air conditioner devices (type 0xAC) are supported.

See Getting Device Info to determine if a device is supported.

Features

  • Automatic device discovery and configuration via the GUI.
  • Device capability detection. Only supported functions are displayed.
  • Support for sleep, eco, boost (turbo), and away (freeze protection) presets.
  • Minimum and maximum target temperatures provided by the device.
  • Switch for device display1.
  • Advanced controls (when supported by the device):
    • Purifier (Ionizer/UV)
    • Device filter alert
    • Custom fan speeds
    • Service to enable the "Follow Me" function2
    • Swing angle (fan position)
    • Indoor humidity sensor
    • Target humidity in Dry mode
    • Energy and power sensors3
    • Start and monitor self-cleaning
    • Rate selection (Gear mode)
    • "Breeze" modes (e.g., breeze away, breeze mild, breezeless)
    • iECO
  1. Device dependent. Some devices only support display control via IR.
  2. Experimental. "Follow Me" requires the IR remote to transmit temperature data. More info here.
  3. Sensors must be manually enabled on the device page. A device may not support all energy sensors.

Translations

Thanks to the community the integration is available in the following languages.

  • български
  • Català
  • Čeština
  • 简体中文
  • 繁體中文
  • Deutsch
  • English
  • Español
  • Euskara
  • Français
  • Hrvatski
  • Italiano
  • 한국어
  • Magyar
  • Nederlands
  • Polski
  • Português
  • Română
  • Pусский
  • Slovenčina
  • Slovenski
  • українська
  • Help contribute a new language

Install Via HACS

Install via HACs on your Home Assistant instance.

Or search HACS integrations for "Midea Smart AC".

Install Manually

  1. Locate the custom_components directory in your Home Assistant configuration directory. It may need to be created.
  2. Copy the custom_components/midea_ac directory into the custom_components directory.
  3. Restart Home Assistant.

Configuration

Midea Smart AC is configured via the GUI. See the HA docs for more details.

Click the Add Integration button and search for "Midea Smart AC". Add Device

Devices can be automatically discovered and configured or manually configured.

Automatic Configuration

For automatic configuration, select "Discover devices".

Enter a hostname or IP address to configure a specific device, or leave it blank to search the local network.

Depending on your location, a different cloud region may be necessary to authenticate V3 devices. Try selecting the closest country to your location if you experience issues.

Discover Devices

Manual Configuration

For manual configuration, select "Configure manually".

Enter the device ID, IP, and port. V3 devices require the token and key parameter. This information must be acquired manually.

Manual Configuration


Name Description Required Example
ID Device ID Yes 123456789012345
Host Device IP address Yes 192.168.1.100
Port Device port Yes 6444
Token Device token For V3 devices ACEDDA53831AE5DC... (Length 128)
Key Device key For V3 devices CFFA10FC... (Length 64)

Integration Options

Additional options are available to tweak integration behavior per device.

Integration Options


Name Default Description
Beep True Enable beep on setting changes.
Temperature Step 1.0 Step size for temperature set point.
Fan Speed Step 1 Step size for custom fan speeds.
Use Fan-only Workaround False Enable this option if device updates cause the device to turn on and switch to fan-only.
Show All Presets False Show all presets regardless of device's reported capabilities.
Additional Operation Modes Empty Additional HVAC modes to make available in case the device's capabilities are incorrect.
Maximum Connection Lifetime Empty Limit the time (in seconds) a connection to the device will be used before reconnecting. If left blank, the connection will persist indefinitely. If your device disconnects at regular intervals, set this to a value below the interval.
Use Alternate Energy Format False Use an alternative data format when decoding energy and power data from the device.

Resolving Connectivity Issues

Some users have reported issue with their devices periodically becoming unavailable, and with logs full of warnings and errors. This is almost always due to the device terminating the existing connection and briefly rejecting new connections.

It can usually be resolved by setting the Maximum Connection Lifetime to a value of about 90 seconds.

Getting Device Info

Use msmart-ng to obtain device information.

pip install msmart-ng
msmart-ng discover

Check the output to ensure the type is 0xAC and the supported property is True.

Gratitude

This project is a fork of mac-zhou/midea-ac-py, and builds upon the work of:

About

Home Assistant custom integration to control Midea (and associated brands) air conditioners via LAN.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Python 100.0%