This custom integration is still under development.
This is a HA custom integration for dyson. There are several main differences between this custom integration and the official dyson integration:
- It does not rely on a dyson account. Which means once configured, the integration will no longer login to the Dyson cloud service so fast and more reliable start up process.
- Config flow and discovery is supported, so easier configuration.
If you used the original repository from shenxn, you can migrate fairly easily:
This is less proven, but it is possible to switch over with zero impact to your current integration configuration, entities/devices, or dashboards. I don't know what side-effects it may have though (leftover old config data might start causing issues or something - no guarantees).
- Remove the ha-dyson and ha-dyson-cloud custom repositories from HACS
- Without removing the integrations themselves.
- Add the new ha-dyson and ha-dyson-cloud custom repositories
- The ha-dyson-cloud repository is only necessary if you already use it, or are intending to use its features. It is not required, but currently, it makes setting up new devices like HP07 (527K) much simpler.
- Update the ha-dyson and ha-dyson-cloud repositories using the HACS updater
This is proven to work without any side effects. If you used the default IDs for the entities and devices, then you'll just need to re-configure the devices but your dashboards will not need updating.
- Remove the Dyson Local and Dyson Cloud integrations from your /config/integrations page.
- Remove the Dyson Local and Dyson Cloud integrations from your /hacs/integrations page.
- Remove the dyson-ha and dyson-ha-cloud custom repositories from HACS
- Add the new dyson-ha and dyson-ha-cloud custom repositories
- The libdyson-ha-cloud repository is only necessary if you already use it, or are intending to use its features. It is not required, but currently, it makes setting up new devices like HP07 (527K) much simpler.
- Update the dyson-ha and dyson-ha-cloud repositories
The minimum supported Home Assistant version is 2021.12.0.
You can install using HACS. Adding https://github.com/libdyson-wg/ha-dyson as custom repository and then install Dyson Local. If you want cloud functionalities as well, add https://github.com/libdyson-wg/ha-dyson-cloud and install Dyson Cloud.
You can also install manually
There are two integrations, Dyson Local and Dyson Cloud. Due to the limitation of HACS, they are split into two repositories. This repository hosts Dyson Local, and https://github.com/libdyson-wg/ha-dyson-cloud hosts Dyson Cloud.
Dyson Local uses MQTT-based protocol to communicate with local Dyson devices using credentials. Currently it supports
- Dyson 360 Eye robot vacuum
- Dyson 360 Heurist robot vacuum
- Dyson Pure Cool
- Dyson Pure Cool Desk
- Dyson Pure Cool Link
- Dyson Pure Cool Link Desk
- Dyson Pure Hot+Cool
- Dyson Purifier Hot+Cool
- Dyson Pure Hot+Cool Link
- Dyson Pure Humidity+Cool
Dyson Cloud uses HTTP-based API to communicate with cloud service. Currently it supports getting device credentials and show all devices as discovered entities under the Integrations page. It also supports getting cleaning maps as camera
entities for 360 Eye robot vacuum.
Version 0.6.1 introduced a new way to set up. This is inspired by https://community.home-assistant.io/t/dyson-pure-cool-link-local-mqtt-control/217263. Set up through UI and select "Setup using WiFi information". Find your device WiFi SSID and password on the sticker on your device body or user's manual (See the figure below). Don't fill in your home WiFi information. Note that this method only uses SSID and password to calculate serial, credential, and device type so you still need to setup your device on the official mobile app first.
You can also set up Dyson Cloud first so that you don't need to manually get device credentials. To do so, go to Configuration -> Integrations and click the + button. Then find Dyson Cloud. After successful setup, all devices under the account will be shown as discovered entities and you can then set up Dyson Local with single click. Leave host blank to using zeroconf discovery. After that, you can even remove Dyson Cloud entity if you don't need cleaning maps. All local devices that are already set up will remain untouched.
If you want to manually set up Dyson Local, you need to get credentials first. Clone or download https://github.com/libdyson-wg/libdyson-neon, then use python3 get_devices.py
to do that. You may need to install some dependencies using pip3 install -r requirements.txt
.
To enable debug log, add the following lines to your configuration.yaml
and restart your HomeAssistant.
logger:
default: info
logs:
libdyson: debug
custom_components.dyson_local: debug
custom_components.dyson_cloud: debug
This is a custom integration not a custom add-on. You need to install HACS and add this repo there.