Home Assistant Custom Integration for Midea dehumidifiers (Inventor EVA II PRO WiFi / Comfee MDDP-50DEN7 appliances).
Author: Andrea Barbaresi =2020-2024=
Licence: GPLv3
This repo contains a Home Assistant custom integration for EVA II PRO WiFi Smart Dehumidifier appliance by Midea/Inventor. It has been reported that the custom integration can work also with Comfee MDDP-50DEN7 appliance.
This custom component is based on python library midea_inventor_lib.: see library's readme and prerequisites to be able to control your device on Home Assistant.
You can buy Midea/Inventor/Comfee smart dehumidifier appliances (WiFi version) on Amazon sites (the links below contain my referral code):
- Midea Cube 20 pint
- Midea Cube 35 pint
- Midea Cube 50 pint
- Midea Cube 50 pint w pump
- Midea EasyDry 22 pint
- Midea EasyDry 35 pint
- Midea EasyDry 50 pint
- Midea EasyDry 50 pint w pump
- Midea EasyDry 50 pint w pump wifi upd
- Inventor Fresh
- Comfee 10L
- Comfee 10L w HEPA filter
- Comfee 12L
- Comfee 12L w HEPA filter
- Comfee 16L
- Comfee 20L
- Midea FRESH DRY 10L
- Midea FRESH DRY 12L
- Midea FRESH DRY 20L (DE plug)
- Midea FRESH DRY 20L
- Inventor Eva II PRO WiFi on Amazon.it
- Comfee MDDP-50DEN7 on Amazon.it
- Midea DF-20DEN7-WF
- Midea DF-20DEN7-WF
- Midea Cube 20L
- Midea Quiet 12L
- Midea Quiet 20L
- Midea Fesh Dry 10L
- Midea Fesh Dry 12L
- Comfeee MDDN-10DEN7 10L
- Comfeee MDDN-10DEN7 12L
- Comfeee MDDN-10DEN7 16L
- Comfeee MDDN-10DEN7 20L
- Comfeee MDDN-10DEN7 30L
- Comfeee MDDN-10DEN7 50L
- Comfeee Easy Dry 16L
- Comfeee Easy Dry 20L
- Midea Cube 20L
- Midea MDDF-20DEN7 20L
- Midea MDDF-20DEN7 50L
- Midea 12L
- Midea 20L
- Midea 1500 pies
- Comfee 10L
- Comfee 12L
- Comfee 20L
- Comfee 20L new 2024 version
- Comfee Easy Dry 16L new 2024 version
- Comfee Easy Dry 50L new 2024 version
- Midea Cube 12L
- Midea Cube 20L 80m2
- Midea Cube 20L 40m2
- Midea 12L
- Midea 20L
- Midea 50L
- Midea MAD22C1AWS
- Midea Fresh Dry 10L w HEPA filter
- Comfee 12L
- Comfee 20L
- Comfee 50L
- Comfee MDDN-10DEN7 10L
- Comfee Easy Dry 12L
- Comfee MDDF-20DEN7 20L
- Comfee MDDPE-30DEN7 30L
- Update HomeAssistant to version 0.96.0 or newer
- In HACS Store, search for [barban-dev/midea_dehumidifier]
- Install the custom integration
- Activate midea_dehumidifier custom integration on your HA's configuration yaml file (see instructions below)
- Update HomeAssistant to version 0.96.0 or newer
- Clone this repo
- Copy the
custom_components/midea_dehumidifier
folder into your HA'scustom_components
folder - Activate midea_dehumidifier custom integration on your HA's configuration yaml file (see instructions below)
Add the following section in your configuration.yaml
& restart HA (use the same username and password of your INVmate II App):
midea_dehumidifier:
username: user@example.com
password: passwordExample
As usual, you can hide your secret password by means of !secret
notation by specifing it in secrets.yaml
Alternatively, if you prefer, sha256password
parameter can be used instead of the password
one to specify password's sha-256 hash
midea_dehumi:
username: user@example.com
sha256password: cf76d55503cdee3....
If everything is ok, you will find the following two new entities in your HA dashboard:
- humidifier.midea_dehumidifier_[Device_ID]
- sensor.midea_dehumidifier_[Device_ID]_humidity
By means of the humidifier entity, you can control your appliance whereas the sensor reports the detected current humidity on your environment.
Add the following part of code to have a lovelace card representing your device and able to control all its features (change "12345678901234" with your device's ID):
configuration.yaml
input_select:
dehumidifier_fan_mode:
name: "Fan Mode"
options:
- Silent
- Medium
- High
icon: "mdi:animation-outline"
dehumidifier_modes:
name: "Modes"
options:
- Target_humidity
- Continuous
- Smart
- Dryer
icon: "mdi:animation-outline"
sensor:
- platform: template
sensors:
midea_current_humidity:
friendly_name: "midea_current_humidity"
value_template: "{{ state_attr('humidifier.midea_dehumidifier_12345678901234', 'current_humidity') }}"
unit_of_measurement: "%"
midea_target_humidity:
friendly_name: "midea_target_humidity"
value_template: "{{ state_attr('humidifier.midea_dehumidifier_12345678901234', 'humidity') }}"
unit_of_measurement: "%"
automations.yaml
- alias: input_select.dehumidifier_fan_mode change
trigger:
entity_id: input_select.dehumidifier_fan_mode
platform: state
action:
service: midea_dehumidifier.set_fan_speed
data_template:
entity_id: humidifier.midea_dehumidifier_12345678901234
fan_speed: '{{ states.input_select.dehumidifier_fan_mode.state }}'
###
- alias: MideaDehumidifier fan speed change
trigger:
entity_id: humidifier.midea_dehumidifier_12345678901234
platform: state
action:
service: input_select.select_option
data_template:
entity_id: input_select.dehumidifier_fan_mode
option: '{{ states.humidifier.midea_dehumidifier_12345678901234.attributes.fan_speed_mode }}'
###
- alias: Set input_select.dehumidifier_fan_mode options to 'High' when state of device change to Dryer
trigger:
platform: template
value_template: "{% if is_state('input_select.dehumidifier_modes', 'Dryer') %}true{% endif %}"
action:
service: input_select.set_options
data_template:
entity_id: input_select.dehumidifier_fan_mode
options:
- 'High'
- alias: Revert back input_select.dehumidifier_fan_mode options when state of device change to not Dryer
trigger:
platform: template
value_template: "{% if not is_state('input_select.dehumidifier_modes', 'Dryer') %}true{% endif %}"
action:
service: input_select.set_options
data_template:
entity_id: input_select.dehumidifier_fan_mode
options:
- 'Silent'
- 'medium'
- 'High'
######
- alias: input_select.dehumidifier_modes change
trigger:
entity_id: input_select.dehumidifier_modes
platform: state
action:
service: midea_dehumidifier.set_mode
data_template:
entity_id: humidifier.midea_dehumidifier_12345678901234
mode: '{{ states.input_select.dehumidifier_modes.state }}'
###
- alias: MideaDehumidifier mode change
trigger:
entity_id: humidifier.midea_dehumidifier_12345678901234
platform: state
action:
service: input_select.select_option
data_template:
entity_id: input_select.dehumidifier_modes
option: '{{ states.humidifier.midea_dehumidifier_12345678901234.attributes.mode }}'
After installation, final result should look similar to this:
\\<ha_ip_address>
└── config
├── custom_components
│ └── midea_dehumidifier
│ ├── __init__.py
│ ├── humidifier.py
│ ├── manifest.json
│ ├── sensor.py
│ └── services.yaml
└── deps
└── lib
└── python3.6
└── site-packages
└── midea_inventor_lib
└── libfiles...
If you cannot find the midea_dehumidifier entity on HA, check the logs generated by HA to track the issue. In order to set DEBUG level for midea_dehumidifier, add the following in your HA's configuration yaml:
logger:
default: info
logs:
custom_components.midea_dehumidifier: debug
custom_components.humidifier.midea_dehumidifier: debug
custom_components.sensor.midea_dehumidifier: debug
Copy /midea_inventor_lib
folder on \deps\lib\python3.6\site-packages\
of your HA's configuration shared folder.
If this project helps you to reduce time to develop your code, you can make me a donation.