From f76f45f33c789395df02cf795e8eb0bc9d78ace2 Mon Sep 17 00:00:00 2001 From: guillaume1410 Date: Sat, 26 May 2018 16:47:01 -0400 Subject: [PATCH] Initial documentation for Ryobi cover (#5424) * Initial documentation for Ryobi cover * Update 'ha_release', configuration style and setup --- source/_components/cover.ryobi_gdo.markdown | 59 ++++++++++++++++++++ source/images/supported_brands/Ryobi.png | Bin 0 -> 13389 bytes 2 files changed, 59 insertions(+) create mode 100644 source/_components/cover.ryobi_gdo.markdown create mode 100644 source/images/supported_brands/Ryobi.png diff --git a/source/_components/cover.ryobi_gdo.markdown b/source/_components/cover.ryobi_gdo.markdown new file mode 100644 index 00000000000..eac9454463d --- /dev/null +++ b/source/_components/cover.ryobi_gdo.markdown @@ -0,0 +1,59 @@ +--- +layout: page +title: "Ryobi GDO Cover" +description: "Instructions on how to integrate Ryobi Garage Door Opener (RyobiGDO) within Home Assistant." +date: 2018-04-22 09:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: ryobi.png +ha_category: Cover +ha_release: 0.71 +ha_iot_class: "Cloud Polling" +--- + + +The `ryobi_gdo` cover platform lets you control [Ryobi](https://www.ryobitools.com/gdo/) garage door opener through Home Assistant. + +## {% linkable_title Setup %} + +In order to be able to use your Ryobi garage door opener, you will have to get the DEVICE_ID_OF_YOUR_COVER (one for each garage door). + +The DEVICE_ID_OF_YOUR_COVER can be retrieved using `curl`, simply use your username and password using the following example. Your `DEVICE_ID_OF_YOUR_COVER` will be `varName`: + +```bash +$ curl -H "Content-Type: application/json" -X GET \ + -d '{"username":"RYOBIGDO_USERNAME","password":"RYOBIGDO_PASSWORD"}' \ + https://tti.tiwiconnect.com/api/devices +``` + +## {% linkable_title Configuration %} + +To enable Ryobi covers in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +cover: + - platform: ryobi_gdo + username: RYOBIGDO_USERNAME + password: RYOBIGDO_PASSWORD + device_id: + - DEVICE_ID_OF_YOUR_COVER#1 + - DEVICE_ID_OF_YOUR_COVER#2 +``` + +{% configuration %} +username: + description: Your RyobiGDO account username. + required: true + type: string +password: + description: Your RyobiGDO account password. + required: true + type: string +device_id: + description: List of your doors. + required: true + type: list +{% endconfiguration %} diff --git a/source/images/supported_brands/Ryobi.png b/source/images/supported_brands/Ryobi.png new file mode 100644 index 0000000000000000000000000000000000000000..154ecec84cbed46fe92a3409707e0d5d7bdc124a GIT binary patch literal 13389 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