Hey all,
I’ve been poking around trying to get my new dehumidifier working with HA and Tuya-Local. The baked in Tuya integration doesn’t work very well, and it doesn’t expose all the controls available.
I’ve been using the thread for the LAD208 as a bit of a reference in getting started (link) which has had a lot of useful information.
So far I’ve used TinyTuya to get things started in identifying the different DPS codes that the unit exposes and I’ve gotten a bit over 3/4 of the way there but there are a few codes that I’m a little unsure of. I used the device monitor example in the readme to pull what I could.
This is what I’ve found from that process with some notes added:
'1': False, Switch
'2': 50, Set Humidity
'4': 'mid', Fan Speed
'5': 'Auto', Mode
'6': 693, Current Humidity
'7': 214, Current Temp
'11': True, All Lights
'14': False, Sleep Mode
'16': False, Child Lock
'18': 0, Timer
'19': 0, Fault
'23': 97, Filter Life
'101': 175,
'102': '80angle', Oscillate
'103': 0,
'104': False, Button Sound
'105': True, Humidity Light
'106': True, Tank Light
'108': True, Tank Presence
'109': False,
'110': False,
'111': False
So out of the 22 codes, all but 5 have been relatively easy to figure out.
I’m mainly posting to share my progress with others as I’m sure I’m not the only person who has bought this and wants to be able to integrate it with HA.
This is my current yaml to integrate it with Tuya-Local. Note that it has not been tested yet as I’m still doing some research so there may be errors or points where I’ve misunderstood how to format. Some IDs are blank as I haven’t figured out what they are yet or if they even exist. Further updates will be posted as replies.
name: Dehumidifier
products:
- id: lq3onfjynoozlcws
manufacturer: Breville
model: All Climate 2-in-1 Dehumidifier & Purifier
model_id: LAD358
entities:
- entity: humidifier
class: dehumidifier
translation_only_key: extended
dps:
- id: 1
name: switch
type: boolean
- id: 5
name: mode
type: string
mapping:
- dps_val: 0
value: "auto"
- dps_val: 1
value: "dehumid"
- dps_val: 2
value: "laundry"
- dps_val: 3
value: "purify"
- id: 2
name: humidity
type: integer
range:
min: 30
max: 80
mapping:
- step: 5
- id: 6
type: integer
name: current_humidity
- entity: fan
name: Fan
category: config
dps:
- id: 1
type: boolean
name: switch
- id: 4
type: string
name: speed
mapping:
- dps_val: 1
value: "low"
- dps_val: 2
value: "mid"
- dps_val: 3
value: "high"
- entity: select
translation_key: timer
category: config
dps:
- id: 18
type: integer
range:
min: 0
max: 1440
mapping:
- step: 1
- entity: sensor
class: temperature
dps:
- id: 17
type: integer
name: sensor
unit: C
class: measurement
- entity: switch
translation_key: sleep
category: config
dps:
- id: 14
type: boolean
name: switch
- entity: lock
translation_key: child_lock
category: config
dps:
- id: 16
type: boolean
name: lock
- entity: binary_sensor
translation_key: tank_full
dps:
- id:
type: bitfield
name: sensor
optional: true
mapping:
- dps_val: 8
value: true
- value: false
- entity: binary_sensor
translation_key: defrost
category: diagnostic
dps:
- id:
type: boolean
name: sensor
- entity: binary_sensor
class: problem
category: diagnostic
dps:
- id: 19
type: bitfield
name: sensor
optional: true
mapping:
- dps_val: 0
value: false
- dps_val: null
value: false
- value: true
- id: 19
type: bitfield
optional: true
name: fault_code
Any fresh insight or ideas are of course welcome.