Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add 360 eye device support #9

Merged
merged 8 commits into from
Jul 16, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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