From 24dbd22c2b23526e60afba25076e27d011eb0df7 Mon Sep 17 00:00:00 2001 From: Charles Blonde Date: Sat, 27 May 2017 23:30:32 +0200 Subject: [PATCH 1/2] Add Dyson Pure Cool Link support --- source/_components/dyson.markdown | 54 +++++++++++++++++++++++ source/_components/fan.dyson.markdown | 32 ++++++++++++++ source/images/supported_brands/dyson.png | Bin 0 -> 11616 bytes 3 files changed, 86 insertions(+) create mode 100644 source/_components/dyson.markdown create mode 100644 source/_components/fan.dyson.markdown create mode 100644 source/images/supported_brands/dyson.png diff --git a/source/_components/dyson.markdown b/source/_components/dyson.markdown new file mode 100644 index 000000000000..fd7fc3acd76b --- /dev/null +++ b/source/_components/dyson.markdown @@ -0,0 +1,54 @@ +--- +layout: page +title: "Dyson" +description: "Instructions how to integrate Dyson into Home Assistant." +date: 2017-05-27 10:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: dyson.png +ha_category: Hub +featured: false +ha_release: 0.46 +--- + +The Dyson component is the main component to integrate all [Dyson](https://dyson.com) related platforms (only Cool Link Purifier at this time). + +### {% linkable_title Configuration %} + +```yaml +dyson: + username: + password: + language: + devices: + - device_id: + device_ip: + - device_id: + device_ip: + ... +``` + +Configuration variables: + +- **username** (*Required*): Dyson account username (email address) +- **password** (*Required*): Dyson account password +- **language** (*Required*): Dyson account language country code. Known working codes: `FR`, `NL`, `UK`, `AU`. But others codes should work. +- **devices** (*Optional*): List of devices + - **device_id** (*Required*): Device ID. Available in the mobiles applications (*Settings* page) + - **device_ip** (*Required*): Device IP address + +`devices` list is optional but you'll have to provide them if discovery is not working (warnings in the logs and the devices are not available in Home Assistant web interface). +To find devices IP address, you can use your router or `nmap`: +``` +$ nmap -p 1883 XXX.XXX.XXX.XXX/YY -- open +``` +Where: +- **XXX.XXX.XXX.XXX** is your network address +- **YY** is your network mask + +For example: +``` +$ nmap -p 1883 192.168.0.0/24 -- open +``` diff --git a/source/_components/fan.dyson.markdown b/source/_components/fan.dyson.markdown new file mode 100644 index 000000000000..825f65ace5dd --- /dev/null +++ b/source/_components/fan.dyson.markdown @@ -0,0 +1,32 @@ +--- +layout: page +title: "Dyson Purifier Fan" +description: "Instructions how to setup the Dyson Purifier fans within Home Assistant." +date: 2017-05-27 10:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: dyson.png +ha_category: Fan +ha_release: 0.46 +--- + + +The Dyson fan platform allows you to control your Dyson Purifier fans (Dyson Pure Heat/Cool link). + +You have first to setup the [Dyson component](/components/dyson/) + +### Configuration + +```yaml +fan: + - platform: dyson +sensor: + - platform: dyson +``` + +### Supported fan devices + +- Pure Cool link (desk and tower) +- Pure Hot+cool link (but heating is not yet supported) diff --git a/source/images/supported_brands/dyson.png b/source/images/supported_brands/dyson.png new file mode 100644 index 0000000000000000000000000000000000000000..f15322fb9e14636b75dfa5ec505427cba94b5254 GIT binary patch literal 11616 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
  • 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 literal 0 HcmV?d00001 From b3aa534b5dd3fc4ea4fb1b6dfadc2e79db0349fa Mon Sep 17 00:00:00 2001 From: Charles Blonde Date: Sat, 3 Jun 2017 11:35:12 +0200 Subject: [PATCH 2/2] Code review --- source/_components/fan.dyson.markdown | 9 --------- 1 file changed, 9 deletions(-) diff --git a/source/_components/fan.dyson.markdown b/source/_components/fan.dyson.markdown index 825f65ace5dd..3b93cc9b788e 100644 --- a/source/_components/fan.dyson.markdown +++ b/source/_components/fan.dyson.markdown @@ -17,15 +17,6 @@ The Dyson fan platform allows you to control your Dyson Purifier fans (Dyson Pur You have first to setup the [Dyson component](/components/dyson/) -### Configuration - -```yaml -fan: - - platform: dyson -sensor: - - platform: dyson -``` - ### Supported fan devices - Pure Cool link (desk and tower)