tuya / tuya-home-assistant

Home Assistant integration for controlling Powered by Tuya (PBT) devices using Tuya Open API, maintained by the Home Assistant Community and Tuya Developer Team.
MIT License
882 stars 207 forks source link

Add Support for Kogan Dehumidifier #480

Open b3nnyk22 opened 3 years ago

b3nnyk22 commented 3 years ago

Hello

Was wondering if it would be possible to add support for the following smart dehumidifier:

https://www.kogan.com/au/buy/kogan-smarterhome-smart-7l-desiccant-dehumidifier/?utm_source=google&utm_medium=product_listing_ads&gclid=Cj0KCQjwraqHBhDsARIsAKuGZeGvh80L-kiwAqezFm2FI3ZHfOJzyLT-BHJcDvfYW_gQYscddFcDWfUaAleBEALw_wcB

I've mapped the DPs as following:

1 - value: true/false (power)

2 - value: low/middle/high/quickdry (fan)

3 - value: numeric (humidity sensor)

8 - value: true/false (swing)

11 - value: 0/1 (tank full indicator)

12 - value: 0, 1, 2, 3 (countdown timer select)

13 - value: 0, 120, 240, 480 (countdown timer minutes)

101: value: 0 - 80 (humidity set point)

Cheers! :)

some-guy-in-oz commented 3 years ago

You'll need to post the log (remove the ID field) from step 1 of https://github.com/tuya/tuya-home-assistant/wiki/How-to-Develop-a-New-Driver and as shown in https://github.com/tuya/tuya-home-assistant/issues/476#issue-999764828 so we can see what category it is and what functions it supports

b3nnyk22 commented 3 years ago

Hey sorry about that. Hope this helps:

"active_time": 1624704184, "biz_type": 0, "category": "cs", "create_time": 1624593393, "icon": "smart/icon/ay15253387844269Sg99/7ec0da9bc2c1cbb719a5a04977f55097.png", "id": "", "ip": "", "lat": "", "local_key": "", "lon": "", "name": "Dehumidifier", "online": true, "owner_id": "32988501", "product_id": "jhpmwtl30x7i3sts", "product_name": "Dehumidifier", "status": [ { "code": "switch", "value": true } ], "sub": false, "time_zone": "+10:00", "uid": "***", "update_time": 1632220457, "uuid": "4073378124a1602449f0" } ],

some-guy-in-oz commented 3 years ago

Looks like it only supports on/off and that should already be in HA as a humidifier. If you search for "functions" in the log and find the one that has the "cs" category above it (like the "Device Specifcations" section in the issue details of https://github.com/tuya/tuya-home-assistant/issues/476#issue-999764828 ) that will confirm it.

Do you get a humidifier entity with on/off in HA?

b3nnyk22 commented 3 years ago

Sorry that I missed that out. I'm a bit of noob. Hopefully this is what you're after:

"result": { "category": "cz", "functions": [ { "code": "switch_1", "type": "Boolean", "values": "{}" }, { "code": "countdown_1", "type": "Integer", "values": "{\"unit\":\"s\",\"min\":0,\"max\":86400,\"scale\":0,\"step\":1}" } ], "status": [ { "code": "switch_1", "type": "Boolean", "values": "{}" }, { "code": "countdown_1", "type": "Integer", "values": "{\"unit\":\"s\",\"min\":0,\"max\":86400,\"scale\":0,\"step\":1}" } ] }, "success": true, "t": 1632411109593 } 2021-09-24 01:31:49 DEBUG (SyncWorker_5) [tuya iot] Request: method = GET, url = https://openapi.tuyaeu.com/v1.0/devices/4073378124a1602449f0/specifications, params = None, body = None, t = 1632411109769 2021-09-24 01:31:50 DEBUG (Thread-5) [tuya iot] _on_log: Received SUBACK 2021-09-24 01:31:50 DEBUG (Thread-5) [tuya iot] _on_subscribe: 1 2021-09-24 01:31:50 DEBUG (SyncWorker_5) [tuya iot] Response: { "result": { "category": "cs", "functions": [ { "code": "switch", "type": "Boolean", "values": "{}" } ], "status": [ { "code": "switch", "type": "Boolean", "values": "{}" } ] }, "success": true, "t": 1632411109959 }

So I do have a working entity with on/off in HA. I'm currently using the tuya local custom integration which allows me to control the operating modes of the dehumidifier and control the fan setttings with a seperate entity as per the data points I posted initially. Was hoping to get this working in this integration so I could migrate over.

some-guy-in-oz commented 3 years ago

OK looks like a switch is all you can currently get using the Tuya V2 integration. You could try creating a ticket in the Tuya service console with that same info above (just those last ones, from 2021-09-24 01:31:50 onwards) at https://service.console.tuya.com/8/2/create?step=3&id=01030503&source=content_feedback asking them to standardise that device so that it exposes more functionality. They're usually pretty fast to respond with either a yes or not possible.