A custom component was released in January for the EVA II PRO WiFi Dehumidifier, but it doesn’t work with recent releases of HA, and the developer seems to have lost interest. I would like to try and get it working again.
The first thing I’ve done is re-arrange the files in the custom_components directory to match the current requirements. This advances the problem to the point where the platform initializes, but only 1 of the 2 sub-components loads. The point where I’m lost is in this code (__init__.py):
the load_platform for the sensor seems to work, but the load_platform for climate does not. climate.py is there, but nothing is logged from it, even when I put a log statement in the main body.
Can any point me in the right direction, or suggest something I could do to debug why the climate component isn’t being loaded?
The original repo is here:
and I’ve forked in here in the hope that I can come up with something useful to do to it:
Unfortunately my python (and coding in general) is pretty weak, but with some hints I might be able to figure out what’s going on.
The underlying library does work though, so I knocked up a script based sensor so that I am at least picking up the information from the sensor in the device. If I get time I’ll set it up as a generic_thermostat (with the humidity pretending to be temp), using a command_line switch. Mega clumsy, but I don’t have the python/HA knowledge to do it properly.
I was trying to see if I could run the library in my second Rpi that is just running Rasbian and collect the information on HA perhaps? But I’m not very good with Python. I can just about read it but not change anything so I don’t even know if such a thing would be possible
used a command line script using the original library to sample the humidity from the device, and turn it on and off. Created at generic_thermostat pretending that I had a AC system and the humidity was a temperature.
This proved annoying though, because I had a race condition if the sample script ran at the same time as the script that tried to turn it on or off / check that status.
So:
I put a xiaomi zigbee sensor in the room and used that as the sensor instead of the built in one.
This worked OK until the cloud API started getting unreliable.
So:
I discovered that the dehumidifier restores its state when it recovers from a input power loss. So I put a zigbee plug on it and used that instead of the command line script to turn the device on or off.
The result is actually much better than any API could manage, because the sensor is now better placed in the room (being further away from the dehumidifier means I sample the room humidity and not the dehumidifier’s), and I can set the high and low water marks to my liking.