Update Rain Bird documentation for config flow and yaml deprecation (#25614)

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
This commit is contained in:
Allen Porter 2023-01-07 11:00:15 -08:00 committed by GitHub
parent e51630d079
commit 1415381ba1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,12 +3,15 @@ title: Rain Bird
description: Instructions on how to integrate your Rain Bird LNK WiFi Module within Home Assistant. description: Instructions on how to integrate your Rain Bird LNK WiFi Module within Home Assistant.
ha_category: ha_category:
- Irrigation - Irrigation
- Binary Sensor
- Sensor - Sensor
- Switch - Switch
ha_config_flow: true
ha_release: 0.61 ha_release: 0.61
ha_iot_class: Local Polling ha_iot_class: Local Polling
ha_codeowners: ha_codeowners:
- '@konikvranik' - '@konikvranik'
- '@allenporter'
ha_domain: rainbird ha_domain: rainbird
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor
@ -21,109 +24,44 @@ This `rainbird` integration allows interacting with [LNK WiFi](https://www.rainb
There is currently support for the following device types within Home Assistant: There is currently support for the following device types within Home Assistant:
- [Binary Sensor](#binary-sensor)
- [Sensor](#sensor) - [Sensor](#sensor)
- [Switch](#switch) - [Switch](#switch)
## Configuration {% include integrations/config_flow.md %}
To enable it, add the following to your `configuration.yaml` file: ## Configuration Options
```yaml The integration has a configuration option to change the default amount of time that the irrigation
# Example configuration.yaml entry will run when turning on a zone switch (default is 6 minutes). This can be overridden with a service call (see below).
rainbird:
host: IP_ADDRESS_OF_MODULE
password: YOUR_PASSWORD
trigger_time: 360
``` ## Binary Sensor
{% configuration %} The `rainsensor` sensor will tell if you if the device has detected rain.
host:
description: IP Address of the Module
required: true
type: string
password:
description: The password for accessing the module.
required: true
type: string
trigger_time:
description: Irrigation time. The time will be rounded down to whole minutes.
required: true
type: time
zones:
description: Dictionary of zone configurations
required: false
type: map
keys:
ZONE_NUMBER:
description: Zone ID
type: map
keys:
friendly_name:
description: Friendly name to see in GUI
required: false
type: string
trigger_time:
description: Irrigation time. Seconds are ignored.
required: false
type: time
{% endconfiguration %}
More complex configuration using all possible features could look like this example:
```yaml
# Example configuration.yaml entry
rainbird:
- host: IP_ADDRESS_OF_MODULE
password: YOUR_PASSWORD
trigger_time:
minutes: 6
zones:
1:
friendly_name: My zone 1
trigger_time:
minutes: 6
2:
friendly_name: My zone 2
trigger_time:
minutes: 2
- host: IP_ADDRESS_OF_ANOTHER_MODULE
password: YOUR_ANOTHER_PASSWORD
trigger_time: 0:06
zones:
1:
friendly_name: My zone 1
trigger_time: 0:06
3:
friendly_name: My zone 3
trigger_time: 0:05
```
<div class='note'>
Please note that due to the implementation of the API within the LNK Module, there is a concurrency issue. For example, the Rain Bird app will give connection issues (like already a connection active).
</div>
## Sensor ## Sensor
This `rainbird` sensor allows interacting with [LNK WiFi](https://www.rainbird.com/products/lnk-wifi-module) module of the Rain Bird Irrigation system in Home Assistant. The `raindelay` sensor reports the number of days, if any, the automatic irrigation schedule
has been delayed.
The integration adds `rainsensor` and `raindelay` sensors and their `binary_sensor` alternatives.
## Switch ## Switch
This `rainbird` switch platform allows interacting with [LNK WiFi](https://www.rainbird.com/products/lnk-wifi-module) module of the Rain Bird Irrigation system in Home Assistant.
Switches are automatically added for all available zones of configured controllers. Switches are automatically added for all available zones of configured controllers.
## Services ## Services
The Rain Bird switch platform exposes a service to start a single irrigation for a given duration. The integration exposes services to give additional control over a Rain Bird device.
| Service | Description | ### `rainbird.start_irrigation`
| ------- | ----------- |
| rainbird.start_irrigation | Set a duration state attribute for a switch and turn the irrigation on.| Start a Rain Bird zone for a set number of minutes. This service accepts a Rain Bird sprinkler
| rainbird.set_rain_delay | Set how long automatic irrigation is turned off.| zone switch entity and allows a custom duration unlike the switch.
| Service Data Attribute | Optional | Description |
| ---------------------- | -------- | ----------------------------------------------------- |
| `entity_id` | no | The Rain Bird Sprinkler zone switch to turn on. |
| `duration` | no | Number of minutes for this zone to be turned on. |
The service can be used as part of an automation script. For example:
```yaml ```yaml
# Example configuration.yaml automation entry # Example configuration.yaml automation entry
@ -135,6 +73,16 @@ automation:
action: action:
- service: rainbird.start_irrigation - service: rainbird.start_irrigation
data: data:
entity_id: switch.sprinkler_1 entity_id: switch.rain_bird_sprinkler_1
duration: 5 duration: 5
``` ```
### `rainbird.set_rain_delay`
Sets the number of days to disable automatic irrigation. This service accepts a target of
a Rain Bird config entry.
| Service Data Attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------ |
| `config_entry` | no | The configuration entry id for the rainbird controller |
| `duration` | no | Number of days for the device to be turned off. |