Hi @barban,
thank you for this integration. Will it be possible to run your component locally in the future?
Hi @barban,
thank you for this integration. Will it be possible to run your component locally in the future?
Firstly, in my opinion you don’t need to create the first two sensors as a “current humidity” sensor is created automatically anyway, and the target humidity you see in the card above too.
The rest of input_selects and automation aren’t for making a card look user friendly. They are automations for changing the states of the dehumidifier anyway. So at least for fan speed and dehumidifier modes you can put them in card together with the dehumidifier card within a vertical stack card.
As far as the turning it off I haven’t played with that yet. But there’s surely a way to do that too
what do you mean by “locally”?
That you can talk to the device directly. For example if you internet connection is gone or the servers are offline, you can still turn on and off the device.
Ah, but that’s then difficult because you would either need to flash the dehumidifier with custom firmware and to be able to create a man-in-the-middle server locally that acts as inventor’s server. Since I doubt they have a local api that you could use.
If you would really want to go all the way you could use an ESP to connect it to all the device’s buttons + a humidity sensor so it would be as if you are pressing the button on the device physically hahaha
There’s a market opportunity for a kit that makes this easy I just bought a dumb dehumidifier and too late realised that obviously 1. there are smart alternatives and 2. I want wifi on the damn thing!
I suppose it could happened just like localtuya no flash needed…just local key device_id from the app.
Can you help me with this error?
2020-11-20 14:56:48 ERROR (SyncWorker_30) [root] MideaClient::send_api_request: errorCode=3123, errorMessage=“the appliance is off line.”
2020-11-20 14:56:48 ERROR (SyncWorker_30) [root] MideaClient::appliance_transparent_send: result=ERROR in API response: result key not found
2020-11-20 14:56:48 ERROR (SyncWorker_30) [root] MideaClient::get_device_status: invalid API response
2020-11-20 14:56:48 ERROR (MainThread) [custom_components.midea_dehumidifier.humidifier] midea-dehumidifier: get_device_status ERROR.
Hello.Does anyone know how to make the water tank status work? I got barban’s latest version. I can see in the home assistant’s logs that the water tank gets the value true or false but in the hassio entities gets unavaible , uknown or is invisible.
Also the deps/lib … has been disapeared from file editor but via samba is visible and i cant modify it… any idea? i am in 0.118.2 version
Hello Guys!
Firat of all I have to say that this is an amazing work. I bought the EVA II PRO WiFi just because of this (besides of course for being an excellent dehumidifier). I managed to get it to work in HA, but I’m having two issues:
Can’t seem to get automations working, and therefore it lacks the option of changing the fan speed.
I’m using homekit integration to expose the device into home app. It does show and work partially. The target humidity is showing a different and random number. Also, two different humidity sensor appear now, one is the: sensor.midea_dehumidifier_xxxxxxxxx and the other one is embedded with the dehumidifier icon in home app humidifier.midea_dehumidifier_xxxxxxxxx
The main issue is that the humidifier.midea_dehumidifier_xxxxxxxxx is showing 0% and everytime I ask Siri for the humidity in home it says is not correct (the sensor.midea is working fine).
Do you guys know How can I disable the relative current relative humidity meassure from the humidifier.midea_dehumidifier_xxxxxxxxx or to link it to the real measure?
Also, How can the Target humidity shown in home app can be fixed?
Thank you in advance!
Hello everyone!
I’ve managed to get the automations working, but the following happens with homekit integration and the home app:
There are two new accessories. One is a humidity sensor and the other one is the dehumidifier. Both have Current Relative Humidity measurements.
The sensor works perfect, but the dehumidifier shows 0% as the current relative humidity meassure and the target humidity is very different as the shown in HA and the device itself.
Is someone knows how to fix this, or if there’s a way to manually set up the device for homekit in the configuration.yaml that would be great!
Where have you seen that exactly? I just had a full tank a little while ago and I have nothing in the Core log (Supervisor - System - Log provider - Core). I see it with debug log level.
@barban Why isn’t there a tank attribute? I see tankShow in humidifier.py, but not an attribute.
What is the “ion” attribute? Does it affect an Inventor Eva II PRO WiFi? I think not, but when in doubt, I ask.
Very good job, thanks!
Hello~
I have 2 Comfee MDDP-50DEN7 appliance however it seems that the component is only detecting one of them am I doing something wrong? hope you guys can help me.
I believe if it detects one it should detect both.
But i am a total noob
Hope you guys can help me
Since I have 2 devices should i duplicate the custom component add one of my devices in a different account and this way I could control both. Did any of you tested this?
Hello everyone,
I’ve managed to make a small update on this library to make it compatible with multiple devices, unfortunately I am no developer therefore I don’t even know how to purpose the change on github.
For those of you wanting to have multiple devices in one single account replace the following code on init.py:
for a in appliances:
appliancesStr = "[id="+a["id"]+" type="+a["type"]+" name="+a["name"]+"]"
if a["onlineStatus"] == "1":
appliancesStr += " is online,"
else:
appliancesStr += " is offline,"
if a["activeStatus"] == "1":
appliancesStr += " is active.\n"
else:
appliancesStr += " is not active.\n"
_LOGGER.info("midea-dehumi: "+appliancesStr)
#The first appliance having type="0xA1" is returned for default (TODO: otherwise, 'deviceId' configuration option can be used)
targetDevice = None
if not deviceId:
if appliances is not None:
for a in appliances:
if a["type"] == "0xA1":
deviceId = str(a["id"])
targetDevice = a
else:
if appliances is not None:
for a in appliances:
if a["type"] == "0xA1" and deviceID == str(a["id"]):
targetDevice = a
if targetDevice:
_LOGGER.info("midea-dehumidifier: device type 0xA1 found.")
hass.data[MIDEA_API_CLIENT] = client
_LOGGER.info("midea-dehumidifier: loading humidifier entity sub-component...")
load_platform(hass, 'humidifier', DOMAIN, {MIDEA_TARGET_DEVICE: targetDevice}, config)
_LOGGER.info("midea-dehumidifier: loading sensor entity sub-component...")
load_platform(hass, 'sensor', DOMAIN, {MIDEA_TARGET_DEVICE: targetDevice}, config)
_LOGGER.info("midea_dehumidifier: platform successfuly initialized.")
return True
else:
_LOGGER.error("midea-dehumidifier: device type 0xA1 not found.")
return False
to:
for a in appliances:
appliancesStr = "[id="+a["id"]+" type="+a["type"]+" name="+a["name"]+"]"
if a["onlineStatus"] == "1":
appliancesStr += " is online,"
else:
appliancesStr += " is offline,"
if a["activeStatus"] == "1":
appliancesStr += " is active.\n"
else:
appliancesStr += " is not active.\n"
_LOGGER.info("midea-dehumi: "+appliancesStr)
#The first appliance having type="0xA1" is returned for default (TODO: otherwise, 'deviceId' configuration option can be used)
hass.data[MIDEA_API_CLIENT] = client
targetDevice = None
if not deviceId:
if appliances is not None:
for a in appliances:
if a["type"] == "0xA1":
deviceId = str(a["id"])
targetDevice = a
hass.data[MIDEA_API_CLIENT] = client
_LOGGER.info("midea-dehumidifier: loading humidifier entity sub-component...")
load_platform(hass, 'humidifier', DOMAIN, {MIDEA_TARGET_DEVICE: targetDevice}, config)
_LOGGER.info("midea-dehumidifier: loading sensor entity sub-component...")
load_platform(hass, 'sensor', DOMAIN, {MIDEA_TARGET_DEVICE: targetDevice}, config)
_LOGGER.info("midea_dehumidifier: platform successfuly initialized.")
else:
if appliances is not None:
for a in appliances:
if a["type"] == "0xA1" and deviceID == str(a["id"]):
targetDevice = a
if targetDevice:
# _LOGGER.info("midea-dehumidifier: device type 0xA1 found.")
# hass.data[MIDEA_API_CLIENT] = client
# _LOGGER.info("midea-dehumidifier: loading humidifier entity sub-component...")
# load_platform(hass, 'humidifier', DOMAIN, {MIDEA_TARGET_DEVICE: targetDevice}, config)
# _LOGGER.info("midea-dehumidifier: loading sensor entity sub-component...")
# load_platform(hass, 'sensor', DOMAIN, {MIDEA_TARGET_DEVICE: targetDevice}, config)
# _LOGGER.info("midea_dehumidifier: platform successfuly initialized.")
return True
else:
_LOGGER.error("midea-dehumidifier: device type 0xA1 not found.")
return False
I’ve also removed the lines:
_LOGGER.info("midea-dehumidifier: loading sensor entity sub-component...")
load_platform(hass, 'sensor', DOMAIN, {MIDEA_TARGET_DEVICE: targetDevice}, config)
and used the hass to fetch the sensor from the humidifier as it is more stable.
I’ve updated as well with tank_show and made a commit let’s hope it is approved.
hello and thanx for your info. Does the water_tank status work?
It does not work very well actually I’ve noticed that since I have 2 devices the custom component is able to set properly all the actions but sometimes gets the same values from the sensors . And to be honest this goes above my knowledge.
In fact, I too noticed the problem of the same values of the% of humidity. I want to thank you sincerely because you solved my initial problem anyway … You have been very kind.
No issues, unfortunately I am no developer and the humidifier.py is totally out of my league… I will try to find some python dev that can help me understand the logic but not sure how soon I will be able to do it. Anyhow I will keep you posted.
try this configuration of homekit parte
link the sensor to umidificier
homekit:
name: HASS
port: 51829
filter:
include_domains:
- humidifier
entity_config:
humidifier.midea_dehumidifier_19791209341795:
linked_humidity_sensor: sensor.sensore_umidita_sotto