Adds docs for RainMachine component/hub (#5251)

* Adds docs for RainMachine component/hub

* Removing references to remote API

* Collaborator-requested changes

* Adding new info (per home-assistant/home-assistant#14225)

* Collaborator-requested changes

* Collaborator-requested changes

* Revert "Collaborator-requested changes"

This reverts commit 34f75ffab911dcd9a9ae3163645c7c6e9dbf54ee.

* I think I got it this time...

* Collaborator-requested changes

* Collaborator-requested changes

* Small tweak
This commit is contained in:
Aaron Bach 2018-05-03 14:56:01 -06:00 committed by Alok Saboo
parent fe352e7dd6
commit d7fcb153de
2 changed files with 85 additions and 74 deletions

View File

@ -0,0 +1,71 @@
---
layout: page
title: "RainMachine"
description: "Instructions on how to integrate RainMachine units within Home Assistant."
date: 2018-04-25 20:32
sidebar: true
comments: false
sharing: true
footer: true
logo: rainmachine.png
ha_category: Hub
ha_release: 0.69
ha_iot_class: "Cloud Polling"
---
The `rainmachine` component is the main component to integrate all platforms
related to [RainMachine smart Wi-Fi sprinkler controllers](http://www.rainmachine.com/).
## {% linkable_title Base Configuration %}
To connect to your RainMachine device, add the following to your
`configuration.yaml` file:
```yaml
rainmachine:
ip_address: 192.168.1.100
password: YOUR_PASSWORD
```
To configure switch-related functionality, add configuration options beneath
a `switches` key within the `rainmachine` sections of `configuration.yaml`
as below:
```yaml
rainmachine:
ip_address: 192.168.1.100
password: YOUR_PASSWORD
switches:
# switch configuration options...
```
{% configuration %}
ip_address:
description: the IP address or hostname of your RainMachine unit
required: optional
type: string
password:
description: your RainMachine password.
required: true
type: string
port:
description: the TCP port used by your unit for the REST API
required: false
type: int
default: 8080
ssl:
description: whether communication with the local device should occur over HTTPS
required: false
type: boolean
default: true
switches:
description: switch-related configuration options
required: false
type: map
keys:
zone_run_time:
description: the default number of seconds that a zone should run when turned on
required: false
type: int
default: 600
{% endconfiguration %}

View File

@ -13,84 +13,24 @@ ha_iot_class: "Cloud Polling"
ha_release: 0.51
---
The `rainmachine` switch platform allows you to control programs and zones within a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/).
## {% linkable_title Configuring the Platform %}
The platform allows for either local (i.e., directly across the LAN) or remote (i.e., through RainMachine's cloud API) access; the route you choose will dictate what your configuration should look like.
For local access, specify the IP address/hostname of your RainMachine unit, your RainMachine password, and optionally, the device's HTTP port:
```yaml
switch:
platform: rainmachine
ip_address: 192.168.1.100
password: YOUR_PASSWORD
```
For remote access, specify your RainMachine username/email and password:
```yaml
switch:
platform: rainmachine
email: user@host.com
password: YOUR_PASSWORD
```
{% configuration %}
password:
description: Your RainMachine password.
required: true
type: string
email:
description: "Your RainMachine username/email. Cannot be used with the `ip_address` parameter."
required: false
type: string
ip_address:
description: "The IP address of your RainMachine unit; cannot be used with the `email` parameter."
required: optional
type: string
port:
description: The TCP port used by your unit for the REST API.
required: false
type: int
default: 8080
ssl:
description: Whether communication with the local device should occur over HTTPS.
required: false
type: boolean
default: true
zone_run_time:
description: The number of seconds that a zone should run when turned on.
required: false
type: int
default: 600
{% endconfiguration %}
The `rainmachine` switch platform allows you to control programs and zones
within a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/).
<p class='note'>
You must have the [RainMachine component](https://www.home-assistant.io/components/rainmachine/)
configured to use this switch. After configuring that component, switches will
automatically appear.
</p>
## {% linkable_title Controlling Your Device %}
After Home Assistant loads, you will see new switches for every enabled program and zone. These work as expected:
After Home Assistant loads, new switches will be added for every enabled
program and zone. These work as expected:
- Program On/Off: starts/stops a program
- Zone On/Off: starts/stops a zone (using the `zone_run_time` parameter to determine how long to run for)
- Zone On/Off: starts/stops a zone (using the `zone_run_time` parameter to
determine how long to run for)
Programs and zones are linked. If a program is running its final zone, you will see both the program and zone switches turned on; turning either one off will turn the other one off (just like in the web app).
## {% linkable_title Weblink %}
If you would like to see and control more detailed information, create an [iFrame](/components/panel_iframe/) that renders the RainMachine web app:
```yaml
panel_iframe:
rainmachine:
title: RainMachine
url: "https://my.rainmachine.com/s/<YOUR_DEVICE_ID>/ui/"
icon: mdi:water-pump
```
You can find `<YOUR_DEVICE_ID>` by logging into [https://my.rainmachine.com](https://my.rainmachine.com ) and taking note of the URL.
## {% linkable_title For Awareness %}
The remote RainMachine API currently has two broken operations (i.e., they return error codes): starting a program and stopping a program. Please note that starting/stopping programs with the remote API is disabled until RainMachine can fix the issue.
Programs and zones are linked. While a program is running, you will see both
the program and zone switches turned on; turning either one off will turn the
other one off (just like in the web app).