jghaanstra / com.xiaomi-miio

Homey app to control Mi Home devices that implement the miIO protocol and Xiaomi gateway child devices
GNU General Public License v3.0
457 stars 85 forks source link

Humidifier V2 water level and humidity data #174

Closed zawinull closed 1 year ago

zawinull commented 1 year ago

v3.1.8 - Mi Humidifier v2 - Generic: works fine but water level and humidity data are inaccurate.

image

jghaanstra commented 1 year ago

Not sure if this is easily fixable. Could you answer these questions and do the following.

zawinull commented 1 year ago
jghaanstra commented 1 year ago

Have you tried pairing it with the Mi (Air) Humidifier v2 driver? Perhaps this gives better results.

zawinull commented 1 year ago

Sorry but in the previous posts I didn't refer to the correct driver version, I actually used the Mi (Air) Humidifier v2 driver (both versions have "v2" in the name which is quite misleading). However, I now found myself trying to pair one of the humidifiers with the Mi Humidifier v2 - Generic driver. The pairing was successful but after a few seconds the connection was lost ("Device is unreachable: depth is not defined").

Diagnostic report was sent: 5d6080af-6dd0-4cec-a6f4-1aa8f421c09f

jghaanstra commented 1 year ago

For own reference regarding this issue.

[err] 2023-03-13 12:27:41 [ManagerDrivers] [Driver:mi-humidifier2] [Device:c4497a61-0ea7-47ca-b91d-6f47443150b3] ReferenceError: depth is not defined
    at MiHumidifier2Device.retrieveDeviceData (/drivers/wifi_device.js:342:55)
Error: humidifier2_mode InvalidEnumValueError: auto is not a valid enum value (invalid_enum_value)
jghaanstra commented 1 year ago

@zawinull (or anyone else with the same issue), did you have this device paired with Homey before the update and if so, with the Xiaomi Mi Home or the Mi Homey (community) app and with what driver?

zawinull commented 1 year ago

It was paired with the Xiaomi Mi Home app and worked fine with the Mi Humidifier v2 driver.

This device was sold under many different names: (Xiaomi/Smartmi/Zhim) Air Humidifier 2/Humidifier V2/Evaporative Humidifier V2 - All of them have this identifier: SKV6001EU / CJXJSQ02ZM https://www.aliexpress.com/item/1005001701842270.html

jghaanstra commented 1 year ago

I think I found the bug. On the previous version it did not show water level. But when adding this i introduced a bug. Please test on the next release and confirm here.

zawinull commented 1 year ago

I installed both 3.1.11 "Humidifier v2" drivers. After installation, the devices identify themselves as Mi (Air) Humidifier v2 regardless of which driver I used.

Mi Humidifier v2 - Generic data Humidity: ok Waterlevel: ok Power: 0W - I don't think this device can provide this data, but there may be models or firmwares that can. Temperature: missing - this device can provide this data.

Mi (Air) Humidifier v2 data Humidity: ok Waterlevel: inaccurate and does not seem to be changing Temperature: ok, but sometimes it disappears and then reappears. Target relative humidity parameter is not used by this device.

It seems to me that the Mi Humidifier v2 - Generic driver is a better choice for the SKV6001EU / CJXJSQ02ZM v2 models.

jghaanstra commented 1 year ago

I installed both 3.1.11 "Humidifier v2" drivers. After installation, the devices identify themselves as Mi (Air) Humidifier v2 regardless of which driver I used.

Because it retrieves the name based on your device model (which is zhimi.humidifier.cb1)

Power: 0W - I don't think this device can provide this data, but there may be models or firmwares that can.

Not sure why this is in there. I'll remove this capability.

It seems to me that the Mi Humidifier v2 - Generic driver is a better choice for the SKV6001EU / CJXJSQ02ZM v2 models.

I'll add it to the docs and will close this issue. For now the Mi Humidifier v2 - Generic driver is an improvement over the currently live release as it also includes water level now. It's impossible to create a driver for each device seperately.