Domoticz plugin to integrate the Dyson PureLink devices
As of plugin version 5, it is using the Extended Plugin framework. As a result, new devices will be created . If you want to preserve history, timers etc, you have to merge them with the old ones. Follow the below steps:
- upgrade plugin following instructions below
- follow instructions on Replacing Devices.
- Requires Domoticz version V4.10548 or later (due to password hashing).
- Follow the Domoticz guide on Using Python Plugins to enable the plugin framework.
- Requires a Dyson account to fetch login details for your machine from (created during registration of the machine) on My Dyson
The following Python modules installed
sudo apt-get update
sudo apt-get install python3-requests
sudo pip3 install pycryptodome
per Debian 12 Bookworm:
sudo apt install python3-pycryptodome
- Clone repository into your domoticz plugins folder
cd domoticz/plugins
git clone https://github.com/JanJaapKo/DysonPureLink
to update:
cd domoticz/plugins/DysonPureLink
git pull https://github.com/JanJaapKo/DysonPureLink
- Restart domoticz
- Go to "Hardware" page and add new item with type "DysonPureLink"
- Set your MQTT server address and port to plugin settings
At first setup, the plugin needs to connect to the Dyson cloud provider to get the credentials to acces the machine. Since early 2021 a 2-factor authentication is needed, which leads to a 2 step setup according the steps below.
-
make sure to login to your cloud account via the Dyson app (this enables the plugin to log in as well).
-
fill in the following parameters:
a.machine IP adress
b.Port number (normally 1883)
c.Cloud account email adress
d.Cloud account password
e. hit 'update' or 'add' (initial setup) button -
As a result an email with a verification code (aka OTP code) will be sent to the mail adress specified at c. Fill in the following fields:
e. fill in the verification code inemail verification code
f. specify the machine's name (as you did when registering the machine) if you have more than 1 Dyson device inMachine name (cloud account)
g. hit 'update' button
See the Wiki page for extended configuration information.
- Due to the connection (ip adress) only 1 machine can be connected to 1 instance of the plugin. When you own more than 1 device, create a plugin instance per machine and use the name filtering to select the device.
- Dyson is regularly updating its cloud API leading to the following error on restart of the plugin/Domoticz:
Login to Dyson account failed: '401, Unauthorized'
. According to etheralm/issue37 the solution for now (March 2021) is to log in with the Dyson mobile app first
based on info from the following sources: