Integration - Dyson

Hello everyone,

Following @mutmut’s request in my progress report on integrations, here is a new external integration: Dyson :cyclone:

Repository: GitHub - prohand/gladys-dyson: Gladys external integration to connect dyson devices in Gladys · GitHub

Supported Devices

  • Pure Cool / Purifier Cool (including Formaldehyde models)
  • Pure Hot+Cool / Purifier Hot+Cool
  • Pure Humidify+Cool / Purifier Humidify+Cool
  • Purifier Big+Quiet
  • Older « Link » models (Pure Cool Link, Pure Hot+Cool Link)

What it does

  • Commands: on/off, speed 1 to 10, auto mode, oscillation, night mode, heating + setpoint, humidification
  • Sensors: temperature, humidity, PM2.5, PM10, VOC and NO2 indices, formaldehyde (K models), filter wear
  • The displayed state is the one confirmed by the device. Changes made via the remote or the Dyson app are also reported.

Scenes (Gladys 5.1+)

Triggers

  • Air quality changed: good / average / poor / very poor. It’s the worst of PM2.5, PM10, VOC and NO2 that counts, with the Dyson app thresholds.
  • Filter soon to be changed: a filter goes below 10 %
  • Connection changed: the device switches to local, cloud, or becomes unreachable

One event per change, and a Gladys restart does not restart your scenes.

Actions

  • Apply Dyson settings: on, mode, speed, oscillation and night mode in one command. Practical for a « night mode » or an « away mode ».
  • Set timer: the device turns off automatically after X minutes

Example: « if air quality becomes poor → auto mode + notification ».

Dashboard widget

The Dyson Air Quality widget displays for a device:

  • PM2.5, VOC, temperature and humidity in real-time
  • the status: air quality, connection, mode, filters, timer
  • buttons: turn on/off, auto mode, refresh

Local and cloud

  • Local: direct MQTT on the device, fast, without Internet. Just provide its IP in the config.
  • Dyson Cloud: used if the IP is not known, or as a backup.
  • « Prefer local connection » switch.
  • A badge per device indicates the path used. An orange dot signals the backup path.

Getting Started

  1. Install the integration from the Gladys store
  2. Enter the email, password and country of your MyDyson account, then save
  3. Click on « Receive a code », then paste the code received by email in « Validate the code »
  4. Add your devices from the Discovery tab
  5. For local, put serial_number=IP in « Device Addresses » (a fixed IP in your box is recommended)

Full documentation: https://github.com/prohand/gladys-dyson/blob/main/docs/fr.md

Not yet managed

  • Dyson vacuum robots. If you have one, let me know the model.
  • Automatic discovery on the network: for now, the IP is entered manually.

Testers welcome :folded_hands:

I don’t have a Dyson on hand, so your feedback is very important (@mutmut first :wink:). Please indicate:

  • your model (or the product code, e.g. 438K)
  • local or cloud, and if the commands, sensors, scenes and the widget work
  • the logs in case of trouble, without email, IP or serial number

Thanks!

Thanks @prohand, I have work tomorrow :wink: