Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

etheralm/libpurecoollink

Repository files navigation

Dyson Pure Cool Link Python library

Build Status Coverage Status PyPI Documentation Status

This Python 3.4+ library allow you to control Dyson fan/purifier devices and Dyson 360 Eye robot vacuum device.

official documentation

Status

This library is becoming quite stable but backward compatibility is not yet guaranteed.

Full documentation

http://libpurecoollink.readthedocs.io

Supported devices

  • Dyson pure cool tower (TP04)
  • Dyson pure cool desk (DP04)
  • Dyson pure cool link devices (Tower and Desk)
  • Dyson pure cool+hot devices
  • Dyson 360 Eye robot vacuum

Features

The following feature are supported:

  • Purifier/fan devices
    • 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)
    • Reset filter life
    • Adjust oscillation angle (TP04/DP04)
  • Cool+Hot purifier/fan devices
    • Set heat mode
    • Set heat target
    • Set fan focus mode
  • 360 Eye device (robot vacuum)
    • Set power mode (Quiet/Max)
    • Start cleaning
    • Pause cleaning
    • Resume cleaning
    • Abort cleaning

The following sensors are available for fan/purifier devices:

  • Humidity
  • Temperature in Kelvin
  • Dust (unknown metric)
  • Air quality (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 technical documentation on how it is working
  • Get historical data from the API (air quality, etc ...)

About

Dyson Pure Cool link python library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%

AltStyle によって変換されたページ (->オリジナル) /