From 1415381ba1f255a9083ec7b59594fe405b51c1eb Mon Sep 17 00:00:00 2001 From: Allen Porter Date: Sat, 7 Jan 2023 11:00:15 -0800 Subject: [PATCH] Update Rain Bird documentation for config flow and yaml deprecation (#25614) Co-authored-by: Martin Hjelmare Co-authored-by: Franck Nijhof --- source/_integrations/rainbird.markdown | 118 +++++++------------------ 1 file changed, 33 insertions(+), 85 deletions(-) diff --git a/source/_integrations/rainbird.markdown b/source/_integrations/rainbird.markdown index 9af27ed604f..d39ddddb310 100644 --- a/source/_integrations/rainbird.markdown +++ b/source/_integrations/rainbird.markdown @@ -3,12 +3,15 @@ title: Rain Bird description: Instructions on how to integrate your Rain Bird LNK WiFi Module within Home Assistant. ha_category: - Irrigation + - Binary Sensor - Sensor - Switch +ha_config_flow: true ha_release: 0.61 ha_iot_class: Local Polling ha_codeowners: - '@konikvranik' + - '@allenporter' ha_domain: rainbird ha_platforms: - 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: +- [Binary Sensor](#binary-sensor) - [Sensor](#sensor) - [Switch](#switch) -## Configuration +{% include integrations/config_flow.md %} -To enable it, add the following to your `configuration.yaml` file: +## Configuration Options -```yaml -# Example configuration.yaml entry -rainbird: - host: IP_ADDRESS_OF_MODULE - password: YOUR_PASSWORD - trigger_time: 360 +The integration has a configuration option to change the default amount of time that the irrigation +will run when turning on a zone switch (default is 6 minutes). This can be overridden with a service call (see below). -``` +## Binary Sensor -{% configuration %} -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 -``` -
-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). -
+The `rainsensor` sensor will tell if you if the device has detected rain. ## 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 integration adds `rainsensor` and `raindelay` sensors and their `binary_sensor` alternatives. +The `raindelay` sensor reports the number of days, if any, the automatic irrigation schedule +has been delayed. ## 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. ## 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 | Set a duration state attribute for a switch and turn the irrigation on.| -| rainbird.set_rain_delay | Set how long automatic irrigation is turned off.| +### `rainbird.start_irrigation` + +Start a Rain Bird zone for a set number of minutes. This service accepts a Rain Bird sprinkler +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 # Example configuration.yaml automation entry @@ -135,6 +73,16 @@ automation: action: - service: rainbird.start_irrigation data: - entity_id: switch.sprinkler_1 + entity_id: switch.rain_bird_sprinkler_1 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. |