Available from:
Amazon.com
Install method:
USB to Serial
GPIO # | Component |
---|---|
GPIO00 | None |
GPIO01 | None |
GPIO02 | None |
GPIO03 | None |
GPIO04 | None |
GPIO05 | None |
GPIO09 | None |
GPIO10 | None |
GPIO12 | None |
GPIO13 | Tuya Rx |
GPIO14 | None |
GPIO15 | Tuya Tx |
GPIO16 | None |
GPIO17 | None |
{"NAME":"VacPlus Dehumidifier","GPIO":[0,0,0,0,0,0,0,0,0,2304,0,2272,0,0],"FLAG":0,"BASE":54}
This dehumidifier has a TYWE1S on a TYJW2S-5V board. It’s worth noting that I did not try tuya-convert. I went straight for flashing it over serial, which is very easy on this model.
This device uses TuyaMCU. For more information, see https://tasmota.github.io/docs/TuyaMCU/.
- Unplug the dehumidifier.
- Take all the screws out of the back of the dehumidifier and take off the back.
- Take out the necessary screws to remove the top panel, and carefully set the panel to the side. There’s some cables connecting the top display and buttons to the rest of the unit. I left these connected, but be careful not to damage them!
- With the top panel of the unit removed, The TYJW2S board should be visible. Carefully disconnect the cable leading to it, remove the single screw holding it into place, and remove the board.
- On the TYJW2S board, there are should be 6 unsoldered header pins on the left. Solder header pins to the ones labeled (on the back) TXD0, RXD0, GND, and 3.3V. If you put the pins on the “top” of the board, there’s plenty of room to leave them permanently in the dehumidifier
- Using some sort of 3.3V FTDI connection (I used a CH340G), wire:
- GND [TYJW2S] to GND [FTDI]
- 3.3V [TYJW2S] to VCC [FTDI]
- TXD0 [TYJW2S] to RX [FTDI]
- RXD0 [TYJW2S] to TX [FTDI]
- Hold down the button on the board and plug in the FTDI to your computer. Continue holding the button for 10 seconds or so, then let go
- Flash tasmota.bin using your favorite flashing tool (I used Tasmotizer). I was also able to safely back up the stock firmware for safe keeping.
- Disconnect the wires from the TYJW2S board and completely reassemble the dehumidifier. If you tilted at any point, leave it upright for at least 2 hours before continuing.
- Plug in the unit and turn it on. Go through the normal process to connect Tasmota to your WiFi network.
- Apply the template provided
- Run the following commands to map TuyaMCU dpIds to Tasmota Functions:
Backlog TuyaMCU 11,1; TuyaMCU 74,2; TuyaMCU 61,5; TuyaMCU 73,6; TuyaMCU 71,7; TuyaMCU 62,8; TuyaMCU 12,12; HumRes 0; TempRes 0; SetOption8 1
Enum configurations:
Backlog TuyaEnumlist 1,3; TuyaEnumlist 2,5
Tank full error message
Rules:
Backlog SO66 1; Rule1 on tuyareceived#dptype5id101 do publish stat/%topic%/error %value% endon; Rule1 1
- TuyaMCU 71,7 - Ambient Temperature
- TuyaMCU 73,6 - Current Humidity
- TuyaMCU 74,2 - Humidity Set
- TuyaMCU 11,1 - Power
- TuyaMCU 12,12 - Anion on/off
- TuyaMCU 61,5 - Mode Selector
- TuyaMCU 62,8 - Timer Selector (0 - off, 1..5 hours delay)
- TempRes 0 - Correct decimal shift for temperature
- HumRes 0 - Correct decimal shift for humidity
- SetOption8 1 - If in Fahrenheit
- SetOption66 1 - Publish TuyaMCU events
Now you have control of all functions. Target humidity is set by TuyaSend2 2,xx
(where xx is a 2-digit number) to set the humidity.
Home Assistant configuration
Full tank auto discovery
rule3 on system#boot do publish2 homeassistant/binary_sensor/%deviceid%_error/config {"availability_topic":"tele/%topic%/LWT","payload_available":"Online","payload_not_available":"Offline","name":"%topic% Alert", "state_topic":"stat/%topic%/error","value_template":"{{ 'ON' if value=='0x01' else 'OFF' }}","unique_id":"%deviceid%_error","device":{"connections":[["mac","%macaddr%"]]}} endon
Manual dehumidifier config (change your topic)
humidifier:
- platform: mqtt
name: "Dehumidifier"
device_class: "dehumidifier"
state_topic: "stat/dehumidifier/POWER1"
command_topic: cmnd/dehumidifier/POWER1
target_humidity_command_topic: cmnd/dehumidifier/TUYASEND2
target_humidity_command_template: >-
2,{{ value }}
target_humidity_state_topic: tele/dehumidifier/SENSOR
target_humidity_state_template: >
{%- if value_json.TuyaSNS is defined %}
{%- if value_json.TuyaSNS.HumSet is defined %}
{{ value_json['TuyaSNS']['HumSet'] | int }}
{%- endif %}
{%- endif -%}
optimistic: false
availability_topic: "tele/dehumidifier/LWT"
payload_available: "Online"
payload_not_available: "Offline"
modes:
- standard
- raining
- drying
- sleep
mode_state_topic: "tele/dehumidifier/RESULT"
mode_state_template: |
{%- set modes = {0: "standard", 1: "raining", 2: "drying", 3: "sleep"} %}
{%- if "TuyaReceived" in value_json %}
{%- if "5" in value_json.TuyaReceived %}
{% set mode_id = value_json.TuyaReceived["5"].DpIdData | int %}
{{ modes[mode_id] }}
{%- endif %}
{%- endif %}
mode_command_topic: cmnd/dehumidifier/TUYASEND4
mode_command_template: |
{%- set mode_enum = {"standard": "0", "raining": "1", "drying": "2","sleep": 3} %}
{%- set enum = mode_enum[value] %}
5,{{ enum }}
Pinout
.