Skip to content

Commit

Permalink
Add 360 eye device support (#9)
Browse files Browse the repository at this point in the history
* Add basic Dyson 360 eye basic features

* Refactor code to be able to use Dyson purifier and 360 Eye devices

* Add Dyson 360Eye unit tests

* Add Dyson 360Eye unit tests - add missing tests

* Refactor and add unit tests

* Add unit test

* Add Dyson 360 eye documentation

* Updated markdown readme
  • Loading branch information
CharlesBlonde authored Jul 16, 2017
1 parent 1464908 commit 23e2363
Show file tree
Hide file tree
Showing 23 changed files with 2,509 additions and 996 deletions.
20 changes: 13 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![Build Status](https://travis-ci.org/CharlesBlonde/libpurecoollink.svg?branch=master)](https://travis-ci.org/CharlesBlonde/libpurecoollink) [![Coverage Status](https://coveralls.io/repos/github/CharlesBlonde/libpurecoollink/badge.svg?branch=master)](https://coveralls.io/github/CharlesBlonde/libpurecoollink?branch=master)[![PyPI](https://img.shields.io/pypi/v/libpurecoollink.svg)](https://pypi.python.org/pypi/libpurecoollink) [![Documentation Status](https://readthedocs.org/projects/libpurecoollink/badge/?version=latest)](http://libpurecoollink.readthedocs.io/en/latest/?badge=latest)

This Python 3.4+ library allow you to control [Dyson fan/purifier devices](http://www.dyson.com/air-treatment/purifiers/dyson-pure-hot-cool-link.aspx) devices.
This Python 3.4+ library allow you to control [Dyson fan/purifier devices](http://www.dyson.com/air-treatment/purifiers/dyson-pure-hot-cool-link.aspx) and [Dyson 360 Eye robot vacuum device](http://www.dyson.com/vacuum-cleaners/robot/dyson-360-eye.aspx).

[official documentation](http://libpurecoollink.readthedocs.io)

Expand All @@ -18,12 +18,13 @@ http://libpurecoollink.readthedocs.io

* Dyson pure cool link devices (Tower and Desk)
* Dyson pure cool+hot devices
* Dyson 360 Eye robot vacuum

## Features

The following feature are supported:

* All devices:
* Purifier/fan devices
* Connect to the device using discovery or manually with IP Address
* Turn on/off
* Set speed
Expand All @@ -34,17 +35,23 @@ The following feature are supported:
* Set Air Quality target (Normal, High, Better)
* Enable/disable standby monitoring (the device continue to update sensors when in standby)
* Reset filter life
* Cool+Hot devices:
* 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:
The following sensors are available for fan/purifier devices:

* Humidity
* Temperature in Kelvin
* Dust (unknown metric)
* Volatil organic compounds (unknown metric)
* Air quality (unknown metric)

## Quick start

Expand All @@ -67,6 +74,5 @@ This [documentation](https://github.com/shadowwa/Dyson-MQTT2RRD) help me to unde
## Work to do

* Better protocol understanding
* Better documentation on how it is working
* Better technical documentation on how it is working
* Get historical data from the API (air quality, etc ...)
* Air Purifier Heater and fan support
101 changes: 95 additions & 6 deletions docs/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,118 @@ Developer Interface
===================

.. module:: libpurecoollink.dyson
.. module:: libpurecoollink.dyson_device
.. module:: libpurecoollink.dyson_360_eye
.. module:: libpurecoollink.dyson_pure_cool_link
.. module:: libpurecoollink.dyson_pure_hotcool_link
.. module:: libpurecoollink.dyson_pure_state

This part of the documentation covers all the interfaces of Libpurecoollink.


Classes
-------

.. autoclass:: DysonAccount
Common
~~~~~~

DysonAccount
############

.. autoclass:: libpurecoollink.dyson.DysonAccount
:members:

NetworkDevice
#############

.. autoclass:: libpurecoollink.dyson_device.NetworkDevice
:members:

Fan/Purifier devices
~~~~~~~~~~~~~~~~~~~~

DysonPureCoolLink
#################

.. autoclass:: libpurecoollink.dyson_pure_cool_link.DysonPureCoolLink
:members:
:inherited-members:

.. autoclass:: NetworkDevice
DysonPureHotCoolLink
####################

.. autoclass:: libpurecoollink.dyson_pure_hotcool_link.DysonPureHotCoolLink
:members:
:inherited-members:

DysonPureCoolState
##################

.. autoclass:: DysonPureCoolLink
.. autoclass:: libpurecoollink.dyson_pure_state.DysonPureCoolState
:members:

.. autoclass:: DysonState
DysonEnvironmentalSensorState
#############################

.. autoclass:: libpurecoollink.dyson_pure_state.DysonEnvironmentalSensorState
:members:

.. autoclass:: DysonEnvironmentalSensorState
DysonPureHotCoolState
#####################

.. autoclass:: libpurecoollink.dyson_pure_state.DysonPureHotCoolState
:members:
:inherited-members:

Eye 360 robot vacuum device
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Dyson360Eye
###########

.. autoclass:: libpurecoollink.dyson_360_eye.Dyson360Eye
:members:
:inherited-members:

Dyson360EyeState
################

.. autoclass:: libpurecoollink.dyson_360_eye.Dyson360EyeState
:members:

Dyson360EyeTelemetryData
########################

.. autoclass:: libpurecoollink.dyson_360_eye.Dyson360EyeTelemetryData
:members:

Dyson360EyeMapData
##################

.. autoclass:: libpurecoollink.dyson_360_eye.Dyson360EyeMapData
:members:

Dyson360EyeMapGrid
##################

.. autoclass:: libpurecoollink.dyson_360_eye.Dyson360EyeMapGrid
:members:

Dyson360EyeMapGlobal
####################

.. autoclass:: libpurecoollink.dyson_360_eye.Dyson360EyeMapGlobal
:members:

Exceptions
----------

.. autoexception:: DysonNotLoggedException
DysonNotLoggedException
~~~~~~~~~~~~~~~~~~~~~~~

.. autoexception:: libpurecoollink.exceptions.DysonNotLoggedException

DysonInvalidTargetTemperatureException
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoexception:: libpurecoollink.exceptions.DysonInvalidTargetTemperatureException
Loading

0 comments on commit 23e2363

Please sign in to comment.