Rachio
The rachio
platform allows you to control your Rachio irrigation system.
There is currently support for the following device types within Home Assistant:
- Binary Sensor - Allows you to view the status of your Rachio irrigation system.
- Switch
They will be automatically added if the Rachio integration is loaded.
Getting your Rachio API Key
- Log in at https://app.rach.io/.
- Go to Settings.
- Click Get API Key.
- Copy the API key from the dialog that opens.
In order for Rachio switches and sensors to update, your Home Assistant instance must be accessible from the internet, either via Home Assistant Cloud or another method. See the Remote Access documentation for more information.
Configuration
To add the Rachio integration to your Home Assistant instance, use this My button:
Rachio can be auto-discovered by Home Assistant. If an instance was found, it will be shown as Discovered. You can then set it up right away.
If it wasn’t discovered automatically, don’t worry! You can set up a manual integration entry:
-
Browse to your Home Assistant instance.
-
In the bottom right corner, select the Add Integration button.
-
From the list, select Rachio.
-
Follow the instructions on screen to complete the setup.
Water-saving suggestion:
After setting up the integration, change the options to set the duration in minutes to run when activating a zone switch to a maximum failsafe value when using scripts to control zones. If something goes wrong with your script, Home Assistant, or you hit the Rachio API rate limit of 1700 calls per day, the controller will still turn off the zone after this amount of time.
iFrame
If you would like to see and control more detailed zone information, create an iFrame that renders the Rachio web app.
panel_iframe:
rachio:
title: Rachio
url: "https://app.rach.io"
icon: mdi:sprinkler-variant
Switch
The rachio
switch platform allows you to toggle zones and schedules connected to your Rachio irrigation system on and off.
Once configured, a switch will be added for every zone that is enabled on every controller in the account provided and a switch to start or stop every schedule on a controller. There will also be a switch to toggle each controller’s standby mode, as well as to activate a 24 hour rain delay on the device.
Services
Service rachio.start_multiple_zone_schedule
Allows a list of zones to be passed with a corresponding list of durations to create a custom schedule directly from Home Assistant.
Service data attribute | Optional | Description |
---|---|---|
entity_id |
no | List of zones to run. Will be run in the order listed. |
duration |
no | Duration in minutes to run the zones. If a list of durations is provided, each duration will apply to the corresponding zone listed above. Alternatively, one duration can be provided and will be used for all zones. |
Examples
#Example sctipt to start multiple zones with individual duration for each zone.
script:
run_grass_zones:
sequence:
- service: rachio.start_multiple_zone_schedule
target:
entity_id:
- switch.front_yard_west
- switch.front_yard_east
- switch.side_yard_west
data:
duration: 20, 15, 10
#Example sctipt to start multiple zones with one duration for all zones.
script:
run_grass_zones:
sequence:
- service: rachio.start_multiple_zone_schedule
target:
entity_id:
- switch.front_yard_west
- switch.front_yard_east
- switch.side_yard_west
data:
duration: 20
Service rachio.set_zone_moisture_percent
Set the zone moisture percentage for a zone or group of zones.
Rachio allows for setting the moisture percentage of a zone or group of zones. As Rachio only uses moisture levels for zones in a Flex Daily schedule, this service is only available when at least one zone is part of a Flex Daily schedule.
Service data attribute | Optional | Description |
---|---|---|
entity_id |
yes | String, list or group of zones to set moisture percentage. |
percent |
no | Integer of the desired moisture percentage. Accepts 0-100. |
Service rachio.pause_watering
Pause a currently running schedule.
This service will not be available if only a Generation 1 controller is on the account, as these controllers do not support pause or resume.
Service data attribute | Optional | Description |
---|---|---|
devices |
yes | Name of the controller(s) to pause. If not given, will pause all running controllers on the account. |
duration |
yes | Duration in minutes to pause. Accepts 1-60. Defaults to 60 minutes if not specified. |
Service rachio.resume_watering
Resume a currently paused schedule.
This service will not be available if only a Generation 1 controller is on the account, as these controllers do not support pause or resume.
Service data attribute | Optional | Description |
---|---|---|
devices |
yes | Name of the controller(s) to resume. If not given, will resume all paused controllers on the account. |
Service rachio.stop_watering
Stops all currently running schedules.
Service data attribute | Optional | Description |
---|---|---|
devices |
yes | Name of the controller(s) to stop. If not given, will stop all running controllers on the account. |
Examples
In this section, you find some real-life examples of how to use this switch.
groups.yaml example
irrigation:
name: Irrigation
icon: mdi:water-pump
view: true
entities:
- group.zones_front
- group.zones_back
- switch.side_yard
- switch.every_day_6am
zones_front:
name: Front Yard
view: false
entities:
- switch.front_bushes
- switch.front_yard
zones_back:
name: Back Yard
view: false
entities:
- switch.back_garden
- switch.back_porch