A core-ready Home Assistant integration for Dyson air purifiers, heaters, humidifiers, fans, and robotic vacuums featuring real-time MQTT communication and complete platform coverage.
- Cloud Discovery - Automatic device detection via Dyson API
- Manual Setup - Sticker-based or network-isolated configuration for local devices
- Capability Based Detection - Automatic platform setup based on device features
- Fan Control - Speed adjustment (1-10), on/off, night mode
- Air Quality Monitoring - PM2.5, PM10, real-time sensor data
- Smart Controls - Auto mode, oscillation
- Status Monitoring - Connectivity, filter life, fault detection, firmware version
- Precise Adjustments - Timers, oscillation angles
- Heating Support - Climate Control with Heater mode, Heater Thermostat, and Fan Direction
- Humidifier Support (e.g. PH models) - All functions should currently work except for humidification controls
- Climate Control - Climate Control with Humidistat
- TBD - Any features found which can be supported, will be
- Battery Sensor - Monitor your 360 robotic vacuum's battery
- TBD - Any features found which can be supported, will be
- lec Support - We hope to someday support Dyson "lec" or BLE devices such as lights via BLE proxy devices
-
Add Custom Repository to HACS
- Open HACS in Home Assistant
- Go to Settings (three dots menu)
- Select Custom repositories
- Add repository URL:
https://github.com/cmgrayb/hass-dyson - Select category: Integration
- Click Add
-
Install Integration
- Search for "Dyson" in HACS
- Click Download
- Restart Home Assistant
- Go to Settings → Devices & Services → Add Integration
- Search for "Dyson"
- Choose setup method:
- Cloud Discovery - Enter Dyson account credentials
- Manual Setup - Enter device details from sticker or information gained through the Get Cloud Devices Action, or external tooling such as libdyson-rest or opendyson
When selecting Cloud Discovery, you'll be guided through the following steps:
- Email: Your Dyson account email address
- Password: Your Dyson account password
- Country: Verify your country and culture (affects API region and localization)
The integration will:
- Connect to Dyson's cloud API using your credentials
- Prompt the user for configuration preferences
- Extract device capabilities and configuration from cloud data
- If configured to do so (default), automatically discover and add all supportable devices linked to your account
- Alternatively, prompt to add a list of found devices for selection
- If polling and auto-add are both deselected, the cloud account may be used for fetching account and device data via Home Assistant Actions only. For more information, see: Actions
- Device List: All Dyson devices registered to your account
- Device Info: Model, serial number, and current online status
- Automatic Setup: Each device configured with appropriate sensors and controls
Based on your device capabilities and category, you'll automatically get:
All Devices (Basic Support):
- Basic binary sensors (online/offline, faults)
WiFi-Enabled Devices (EC/Robot Categories):
- Connection status sensor (Local/Cloud/Disconnected)
- Reconnect button to attempt to re-establish preferred connectivity
- WiFi signal strength sensor (diagnostic)
- Temperature sensor
- Humidity sensor
- Carbon filter sensors
- HEPA filter sensors
Air Quality Models (ExtendedAQ Capability):
- PM2.5 air quality sensor
- PM10 air quality sensor
- HEPA filter life sensor (%)
- HEPA filter type sensor
- Carbon filter life sensor (%)
- Carbon filter type sensor
- VOC sensor
- NO2/NOx sensor
- CO2 sensor
- HCHO/Formaldehyde sensor
Heating Models (Heating Capability):
- Climate control platform
- Heating controls
Humidifier models (Humidifier Capability):
- Climate control platform
- Humidifier controls
Robot Models:
- Battery sensors
- Cleaning modes
- Dustbin status
See Device Compatibility Matrix for complete entity breakdown by device type
- Initial connection: 10-30 seconds
- Device discovery: 5-15 seconds per device
- Entity creation: Values may take a minute or two to show up after new device creation or boot
- Invalid credentials: Verify email/password and account region
- No devices found: Ensure devices are registered in Dyson app
- Connection timeout: Check internet connection and Dyson API status
- Partial device data: Some devices may need additional setup time
Please note: some sensors (like Firmware version) will not work without access to the Cloud API
Required information from device sticker, libdyson-rest, or opendyson:
- Serial Number (e.g., MOCK-SERIAL-TEST123)
- Device Password (from sticker)
- MQTT Prefix (e.g., 438M for Pure Cool models)
- Device Type (e.g., EC for air purifiers)
hass_dyson:
devices:
- serial_number: "MOCK-SERIAL-TEST123"
discovery_method: "sticker"
hostname: "192.168.1.100" # Optional: IP address
credential: "your_device_password"
device_type: "ec"
mqtt_prefix: "438M"
capabilities: ["AdvanceOscillationDay1", "Scheduling", "ExtendedAQ"]- Actions - Information on included Home Assistant Actions
- Controls - Information on included controls for devices
- Device Compatibility Matrix - Complete breakdown of which entities are available for each device type and capability
- Device Management - Information on device discovery and configuration
- Entities - Information on entities to expect for a given device type
- Sensors - Information on included sensors for devices
- Supported Devices - Information on devices tested and known to be supported
- Setup Guide - Detailed installation and configuration instructions
- Troubleshooting - Troubleshooting Guide
- API Documentation - Comprehensive API documentation with code examples and usage patterns for developers
- Developers Guide - See something you can help with? This is where to start!
- Home Assistant 2025.8+
- Python 3.11+
- Dependencies (auto-installed):
libdyson-rest>=0.8.2paho-mqtt>=2.1.0cryptography>=3.4.0
- libshenxn - For getting the Dyson community started with the original libdyson
- dotvezz - For maintaining the libdyson-wg working group, ha-dyson, and opendyson, the inspiration for this integration
- libdyson-wg - For maintaining excellent documentation and tooling without which this integration would not have been possible
- paho-mqtt - Reliable MQTT communication library
- Home Assistant - Amazing home automation platform
- Dyson - For making great products worth putting in the work for
This project is licensed under the MIT License - see the LICENSE file for details.
