Rachio sprinkler component dead?

I am trying to get the Rachio Smart Sprinkler component up and running.
But everything fails.
Home Assistant version 0.65.5 Latest

following errors in log file;

2018-03-17 23:42:21 ERROR (MainThread) [homeassistant.components.switch] Error while setting up platform rachio
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/homeassistant/helpers/entity_platform.py", line 82, in async_setup
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/lib/python3.5/asyncio/tasks.py", line 406, in wait_for
    return fut.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 294, in result
    raise self._exception
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.5/dist-packages/homeassistant/components/switch/rachio.py", line 39, in setup_platform
    from rachiopy import Rachio
  File "/var/homeassistant/deps/lib/python3.5/site-packages/rachiopy/__init__.py", line 14, in <module>
    _HTTP = httplib2.Http('.cache')
  File "/var/homeassistant/deps/lib/python3.5/site-packages/httplib2/__init__.py", line 915, in __init__
    self.cache = FileCache(cache)
  File "/var/homeassistant/deps/lib/python3.5/site-packages/httplib2/__init__.py", line 675, in __init__
  File "/usr/lib/python3.5/os.py", line 241, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '.cache'

I cannot find out where this .cache folder should be.

running on Ubuntu Linux

Rachio just updated their mobile app - did you install it? If so, I think it migrates your account to a new system. The component may need to be updated.

Hi Steve,

Thanks for the update.
I just started to implement the connection via IFTTT. But that is also not so easy.
Starting a zone via a switch in HA is easy. But put the switch back to OFF once the zone stops watering is more difficult. Rachio API doesn’t include wich Zone stops. Just that a schedule has finished.

Yeah Rachio is not working , the new app its not giving API Key , and the old one seems that its not longer working.

The API Key is available via the web interface

Thanks I checked again and now its showing, is the component working for you ?

Well I toke a different path. I created a switch for each Zone. Then in combination with IFTTT and some scripts I start and stop the zones.

@conradh Mind sharing your setup?

Hi. I am sorry for the late response. I wasn’t home the last couple of days.
No problem to share my setup.

First step change configuration.yaml, insert the IFTTT service and create switches for each zone:

In configuration.yaml

  key: get-the-key-from-IFTTT

    name: Nice name for zone1
    initial: off
    name: Nice name for zone2
    initial: off

automation: !include automation.yaml
group: !include groups.yaml
script: !include scripts.yaml

Next add to automation.yaml

- !include rachio.yaml
- !include rachio2.yaml

Create script rachio.yaml for zone 1:

id: rachio_zone1
alias: Startup zone1
- platform: state
  entity_id: input_boolean.rachio_switch_zone1
  to: 'on'
  service: ifttt.trigger
  data: {"event":"homeassistant_rachio_zone1"}

Do the same for Zone 2 etc…

If you click the switch in the frontend it will call this script. In the scripts I call an event in IFTTT to start a zone.

Next create scripts.yaml and include a script that will be called by IFTTT if a zone stops.

In scripts.yaml:

rachio_off: !include rachio_off.yaml

Now create the script file rachio_off.yaml:

alias: 'rachio_off'
- service: input_boolean.turn_off
    entity_id: input_boolean.rachio_switch_zone1
- service: input_boolean.turn_off
    entity_id: input_boolean.rachio_switch_zone2

In groups.yaml I added a new group to show the rachio switches, see the online manual how to create group etc:

  name: Rachio
  view: false
  - input_boolean.rachio_switch_zone1
  - input_boolean.rachio_switch_zone2

Final step is to create applets in IFTTT for each zone to start. Link the Rachio service to your account in IFTTT. Next create new applet to start a zone, use the names you used above:
Event name: homeassistant_rachio_zone1
Choose the right zone from the pulldown.
Choose how long the water should run, for example 10 minutes.

Create an zone start applet for each zone.
Finally create an applet with a web request to call home assistant if the schedule stops:
Pick your device in the pull-down, event choose “Schedule completed”, in the URL part:


Method: Post
Content Type: Application/JSON

{"entity_id": ["script.rachio_off"]}

Now you are finished and you can start a zone.

You can create a Home Assistant script to call a stop event if you put the switch manualy back to the off position. Then the watering will stop instant.

On my Home Assistant server I also started the homebridge service.
Within homebridge I configured to show the switches in Apple Homekit.
Now I can start and stop a zone Within Apple Home or even on my Apple Watch.

If you want that setup also let me know.

Succes Conrad