Dyson Pure Cool link python library
Branch: master
Clone or download
Pull request Compare This branch is 5 commits ahead, 14 commits behind CharlesBlonde:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
libpurecoollink
tests
.coveragerc
.gitignore
.travis.yml
AUTHORS.rst
LICENSE.md
MANIFEST.in
README.md
RELEASES.rst
requirements.txt
requirements_test.txt
setup.cfg
setup.py
tox.ini

README.md

Dyson Pure Cool Link Python library

Build Status Coverage StatusPyPI Documentation Status

This Python 3.4+ library allow you to control Dyson fan/purifier devices devices.

Status

This library is becoming quite stable and I'll do my best to keep backward compatibility.

Full documentation

http://libpurecoollink.readthedocs.io

Devices supported

Dyson pure cool link devices (Tower and Desk)

Devices not tested

Air Purifier Heater and fan

Features

The following feature are supported:

  • Connect to the device using discovery or manually with IP Address
  • Turn on/off
  • Set speed
  • Turn on/off oscillation
  • Set Auto mode
  • Set night mode
  • Set sleep timer
  • Set Air Quality target (Normal, High, Better)
  • Enable/disable standby monitoring (the device continue to update sensors when in standby)

The following sensors are available:

  • Humidity
  • Temperature in Kelvin
  • Dust (unknown metric)
  • Volatil organic compounds (unknown metric)

Quick start

Please read official documentation

How it's work

Dyson devices use many different protocols in order to work:

  • HTTPS to Dyson API in order to get devices informations (credentials, historical data, etc ...)
  • MDNS to discover devices on the local network
  • MQTT (with auth) to get device status and send commands

To my knowledge, no public technical information about API/MQTT are available so all the work is done by testing and a lot of properties are unknown to me at this time.

This library come with a modified version of Zeroconf because Dyson MDNS implementation is not valid.

This documentation help me to understand some of return values.

Work to do

  • Better protocol understanding
  • Better documentation on how it is working
  • Get historical data from the API (air quality, etc ...)
  • Air Purifier Heater and fan support