Skip to content

Comments

Support dehumidifier#11

Open
1saac-k wants to merge 5 commits intohfern:masterfrom
1saac-k:support-dehumidifier
Open

Support dehumidifier#11
1saac-k wants to merge 5 commits intohfern:masterfrom
1saac-k:support-dehumidifier

Conversation

@1saac-k
Copy link

@1saac-k 1saac-k commented Sep 11, 2025

Hello,

I recently purchased a Winix dehumidifier and came across your repository.

Thanks to winixctl, I was able to easily analyze the command codes for my device.

I truly appreciate your pioneering efforts in reverse engineering this.

Since the repository hasn't been updated for quite some time, I'm not sure if you're still maintaining it. If you don't have the time to review this, feel free to close the PR.

The main change in this PR is that it automatically selects the appropriate device class based on the product group information obtained during login.

There are a few caveats to note:

  • Existing config.json files may not contain the product group information, which can lead to errors. You may need to delete the file and log-in again.
  • The subcommands for both airpurifier and dehumidifier are displayed together, which can be somewhat extensive.
  • options in subcommand are not marked as supported or unsupported per device.

winixctl log

usage: winixctl [-h] [--device DEVICE_SELECTOR] {login,refresh,devices,getstate,fan,power,mode,plasmawave,humidity,child-lock,uv-sanitize,timer,brightness} ...

Winix Device Control
[AIR]: Air Purifier
[DEH]: Dehumidifier

positional arguments:
  {login,refresh,devices,getstate,fan,power,mode,plasmawave,humidity,child-lock,uv-sanitize,timer,brightness}
    login               Authenticate Winix account
    refresh             Refresh account device metadata
    devices             List registered Winix devices
    getstate            Get device state
    fan                 Fan speed (airflow) controls [AIR, DEH]
    power               Power controls [AIR, DEH]
    mode                Mode controls [AIR, DEH]
    plasmawave          Plasmawave controls [AIR]
    humidity            Target humidity controls [DEH]
    child-lock          Child lock controls [AIR, DEH]
    uv-sanitize         UV sanitize controls [DEH]
    timer               timer controls [DEH]
    brightness          Brightness level controls [AIR]

options:
  -h, --help            show this help message and exit
  --device DEVICE_SELECTOR, -D DEVICE_SELECTOR
                        Device Index/Mac/Alias to use

- Unify control logics in WinixDevice
- Change WinixDevice as base class and new AirPurifierDevice class
  inheriting from it
- Collect product_group during login
- dehumidifier: tested using the DWXE210 device
- airconditioner: adeed dummy class as a placeholder
Currently, the Winix Smart app supports the following product groups:
airpurifier, dehumidifier, and air conditioner.

Updated the documentation to reflect this by generalizing descriptions,
so that the application is not perceived as being limited to airpurifier
device type.
- Add brigness sub-command
- child_lock sub-command is already added for dehumidifier

Derived from https://github.com/iprak/winix
@1saac-k 1saac-k force-pushed the support-dehumidifier branch from 6b1342d to b75dc3e Compare September 13, 2025 16:56
@hfern hfern self-requested a review September 17, 2025 06:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant