[PRE-RELEASE] Unofficial Dyson Air Treatment drivers (local only)

For @Hardax, @debarryl , @peterbrown77.pb and others...

First - just a reminder - I only own an HP02 and really have no way to test any other models, so what I'm about to describe is really a best guess. Just as the driver code for those other models is really just a best guess and might not work.

I just updated the drivers on github and to do what I'm about to describe you will need this latest driver which contains a new configuration option for setting a "b64 credential" instead of a password.

Next, another github user "shenxn" has solved this this problem for home assistant in Python and it seems we can use that on a computer to obtain the data to configure the groovy driver for hubitat.

Here is how to obtain your device password without a sticker:

  1. you will need python (at least version 3.7+). and make sure the install is working. try python -V or python3 -V (or on Windows: py -V)
  2. You need to git clone https://github.com/shenxn/libdyson or alternately go to the same URL, click the code button and download a zip of the code, then extract the code
  3. in a terminal or command prompt, go to the cloned/downloaded "libdyson" folder
  4. In that folder run the following commands in this order:
  • macOS/Unix: python3 -m venv env alternately Windows: py -m venv env
  • macOS/Unix: source env/bin/activate alternately Windows .\env\Scripts\activate
  • macOS/Unix: which python alternately Windows where python
  1. verify the results of the last command, It should be in the env directory
  2. now, install the required modules: python -m pip install -r requirements.txt
  3. Before this next step, you will likely need to temporarily log out from the Dyson mobile app. You can log back into the mobile app after this is complete the next few steps. Take note of the email address associated with your dyson account when logging out.
  4. run python get_devices.py
  5. capture your device information, serial, device type, and Credential.
  6. you can run deactivate to exit the virtual python environment

(Update: Mar 9, 2023) The WiFi-SSID will require the serial and device type from step 9, formatted as DYSON-serial-devicetype: DYSON-XXX-US-XXXXXXXX-DDD where the DDD is the device type and may be 3 or 4 in length (e.g. 455 or 455A).

Now, when using the driver that I just updated, enter the respective information. Enter the Credential in the password field and then for "Password Type" select "b64 Credential"

1 Like