Dyson not connecting anymore

There’s a custom config that allows direct local connection https://github.com/shenxn/ha-dyson but I haven’t been able to figure out how to run the commands on my mac.

I’m so confused… I remember when you could locally connect to the Dyson fans using MQTT directly with homebridge, why hasn’t it been made like that for home assistant :confounded:

Sadly, I haven’t been able to figure out quite anything but putting it in custom_components about this. There is practically no documentation.

I you already applied the curl fix, update the dyson app on your phone, logout and login with using the new 2FA code and restart HA. It works.

This new config does look encouraging. Reading the description it should be stable as it takes the Dyson website out of the equation. I have been using the existing one for over a year and have lost count of the amount of times it has broken due to Dyson changing their website.

I also see in the notes that testing the new config has gone well and someone suggested putting it in 2021.4, I don’t know if it’ll make it for that, but it cant be less stable than the current one!

Agree @monsieurlatte @James-CZ If there was setup documentation, i would give it a go.

There seem to be a consensus about a solution that works for almost everyone (and for me):

  • Update HA to 2021.3.2
  • Use the curl fix (as posted by @lolongan - see below*)
  • Log out of the Dyson app (on iOS or Android)
  • Log back in
  • Use the Dyson app to change the state of your Dyson product
  • Restart HA

Some people had to delete and reinstall the Dyson app on their phone

*curl fix:

The instructions are to execute the following commands directly on your HA instance:

cd /usr/local/lib/python3.8/site-packages/libpurecool/
mv dyson.py dyson.py.old
curl -O https://raw.githubusercontent.com/bfayers/libpurecool/fix_auth/libpurecool/dyson.py

If everything works you can then delete the dyson.py.old file with :

rm dyson.py.old

That worked fine for me, thank you very much for the instructions

I have just managed to get the new integration working that was mention earlier in this thread… It is now available in HACS.

It looks really promising, as you can ditch the Dyson online dependency once setup. Hopefully this means it wont break every five minutes.
There is now some documentation although its still a work in progress.
I had a bit of fun setting it up, but its something like this.

  1. make absolutely certain you have the latest version of the dyson app on your phone.
  2. Logout and login to the Dyson App with the new 2FA code.
  3. Install the 2 HACS integrations Dyson Cloud and local by adding the 2 custom repositories in the link above.
  4. Restart Home assistant.
  5. Go to configuration/integrations and click ‘+’ to add dyson cloud. (i had issues here and had to use incognito mode as the new integrations weren’t in the list. clearing browser cache may also do it)
  6. once you have entered your credentials in Dyson Cloud you should see an integration tile for Dyson Cloud.
  7. now setup Dyson Local (if you don’t want cloud dependency) by clicking add, just leave host blank.
  8. you can remove the cloud instance now if you want.

Worked for me on Home Assistant Container. Thank you :+1:

Edit: It stopped working after a reboot. :unamused:

Worked for me too. Thanks!

Good news: Home Assistant is so stable now I sometimes only restart once a month, when I update
Bad news: every time I get around to updating, I have to come figure out how to fix Dyson. LOL

Since the integration keeps on breaking when HA reboots, I’ve switched to shenxn/ha-dyson as well.

@GFawkes posted instructions above on how to use it with HACS.

Since version 0.6.1 from 6 days ago, installing the cloud component is not mandatory anymore.

If you run HA as a docker container (what install do I run?), you can install ha-dyson manually:

  1. Open a shell in your container ($ docker exec -it <ha_service_name> bash)
  2. Copy the directory dyson_local from shenxn/ha-dyson into /config/custom_components/
  3. Restart HA
  4. Add the ‘Dyson Local’ integration (from the web front-end → Menu > Configuration > Integrations → Add integration)
  5. Setup your device either by using the ‘device wifi information’ or ‘manually
  6. Enjoy! :slight_smile:

Thank you @jay_p that was really helpful and appears to work with the credentials from the information plate. I manually installed the version 0.8.1 from GitHub.

I say appears, as the ‘Dyson local’ integration I now have shows as being for my 360 Eye robot vacuum with one device (N223) and two entities (Battery Charging and Battery Level). That’s it. No controls.

Have I missed something really obvious?

Hi @PanMan, happy to know it helped. As for your 360 Eye robot vacuum, the documentation is sparse and I’d recommend you to post in the issue tracker of the repository.

I’m seeing the same with a 360 Heurist.

I see @GFawkes has raised an issue:

I have added my experience to the GitHub thread. Thanks for your help.

Hi jay_p,
Have I done something wrong. I seem not to ve able to start step 4.

Thanks for any help

Hi @Philipd, add the integration from the front-end : HA → Left handside menu > Configuration > Integrations → Add Integration

Am I searching for the wrong Integration, I can"t find Dyson.

Is this because I am using a container without supervision e.g Home Assistant Container ?.


Nope, that’s the right place. You should see an integration named ‘Dyson Local’.

Have you restarted HA ?

I had the same issues, these are the steps I did to resolve it:

  1. Make sure you have HACS installed
  2. In HACS install Dyson Local and Dyson Cloud
  3. Restart HA
  4. Then go to the regular integrations installations and install both Dyson Local and Dyson Cloud.
  5. Run through the setup of Dyson Cloud, make sure you have all the information at hand

Et voila, after this it worked for me.