[RELEASE] Rachio Community (dashboard + hose timers)

Rachio Community has all of the features provided by the native Rachio integration, plus:

  • Dashboard. See your watering schedule and skips, in conjunction with Rachio weather information, on your smart home dashboard. Rachio Community notably includes different icons for different types of skips, to give you the insight you need to make sure your irrigation system is working as you expect. Ability to color code different schedules/programs. Highly configurable.
  • Full support for Rachio smart hose timers
  • Next Run and Last Run data exposed for automation & display. Automate based on when your next run will occur and/or when your last run occurred. And share your use cases with everyone!
  • Rain Sensor State exposed. Use your irrigation system's rain sensor for automation and/or see its status on your smart home dashboard.
  • Next event data exposed. See information about your system's next event, e.g., scheduled run or skip.
  • Monthly watering summary exposed. See monthly minutes used and saved, as well as monthly weather intelligence skip count.
  • Pause a running zone. Temporarily pause a zone. Set up automations (e.g., using Rule Machine) to pause a running zone upon any condition's occurrence, e.g., upon detecting motion in the yard or upon a door opening.

Filled Icon Pack

Outline Icon Pack

Icon Key:

image Watering occurred or is scheduled

image Rain Skip due to predicted rain

image Soil saturated skip

image Wind skip

image Freeze skip

image Rain Sensor skip (Tentative skip if rain sensor remains triggered)

image Manual Skip

Flex Daily Note that a Rachio Flex Daily schedule flexibly adapts the irrigation schedule every day, so any re-scheduling due to weather intelligence changes the schedule rather than skipping a scheduled watering day. As a result, "skips" as Rachio uses that term do not exist in Flex Daily schedules, are not reported as such in the Rachio API, and will not show up on the dashboard if you are using a Flex Daily schedule. That may or may not also be the case for a Flex Monthly schedule (please report this to me if you use Flex Monthly).

Dashboard Output Format
The Dashboard outputs an SVG image to a local endpoint as well as a cloud endpoint, so you can embed the resulting image into any image tile of any dashboard, e.g., Sharptools dashboard, Smartly, etc. Note that you would want to embed the image into a dashboard image tile with a dark background if you select a white color scheme, and embed the image into a dashboard image tile with a light background if you select a black color scheme. The controller device also has the dashboard as an attribute.

Configurability
The dashboard is highly configurable with regard to:

  • Number of days on dashboard
  • Hide/Show precipitation percentage, precipitation amount, high/low temp
  • Select from predefined color schemes or customize every color
  • scale up or down in size

Uses undocumented Rachio API Note that some aspects of the Rachio Community integration rely on an undocumented API to extend the native Rachio functionality. For example, pulling in Rachio’s own weather for the dashboard uses an undocumented API, but the core device functionality uses the stable public API. Rachio has stated in its community forum that, although use of the undocumented API is allowed, there is no guarantee about its availability, meaning it could change without notice at any time. Accordingly, some of the expanded functionality in Rachio Community cannot be guaranteed. This especially since this community version of the app and drivers has been developed by the Hubitat community, without any affiliation or cooperation with Rachio.

Supported Controllers
Rachio controllers 1, 2, 3, and 3e are supported.
If your install doesn't work well, with your devices not populating state, please send me your model number and # of zones. Rachio keeps adding different models with different numbers of zones, which requires updating the app to support.

Instructions to Install via Hubitat Package Manager (HPM)

  1. Uninstall the Hubitat Built-In Rachio Integration app
  2. Install Rachio Community within the HPM App

Manual Install Instructions

  1. Uninstall the Hubitat Built-In Rachio Integration app
  2. Install the Rachio Zone driver
  3. Install the Rachio Controller driver
  4. Install the Rachio Community app
  5. Enable Oath
  6. Follow the install instructions in the Rachio Community app

Setup
Some users report that, after installing Rachio Community, they needed to use the Rachio mobile app (not Rachio Community) to trigger an automatic schedule to run for each zone. It was only then that Rachio pushed data to Rachio Community for populating and configuring each zone for them. Accordingly, if after installing you do not have but a few attributes showing on the device page of a zone, use the Rachio mobile app to trigger a schedule for that zone.

Polling Interval
Polling interval warning: Rachio gives you 1700 API calls per day. Setting the polling interval to less than 15 minutes risks going over this limit, as each poll takes up multiple API calls, with the number depending on the size of your system. If you see warnings or errors in your log that the API limit is near or exceeded, increase the poll interval. You can see today’s API call count in the state of the Rachio Community app for reference. Note, too, that the irrigation controllers have webhooks, so a short poll interval isn’t really needed for them as changes should be picked up quickly even with a long poll interval. At the moment, though, hose timers do not yet have webhooks, so changes on the hose timer side will only be picked up at the polling rate. Hopefully Rachio will add webhooks for hose timers soon.

Special thanks to @tomw for high-level consult and beta testing, as well as to @josh for proof of concept for outputting an SVG at an endpoint for Sharptools . And thanks to @tonesto7 for the base Rachio code and permission to enhance.

13 Likes

One thing missing from the built in app is the enable/disable zone. Does this have it built in? Every winter, I have to go into the Rachio App and disable my grass zones to put in winter grass(it is an Arizona thing). Didn't know if this might have that capability.

Interesting - no, that's not a use case that I have here. I don't see that command exposed via the public API. I would have to fish around to see if the undocumented API has it. If it doesn't, would you be able to create two different schedules for different times of the year to solve that problem?

1 Like

The funny thing is except for that the Rachio works perfectly for the rest of the year. I have 2 weeks of no watering, then I "scalp" the lawn, seed and fertilize, then I run 5 minutes every 8 hours to keep the seeds moist for 2-3 weeks, then back to the normal rachio setup.
If I had that function, I'd have 2 virtual switches for those 2 modes, and then I'd be done. I'll still play around with this, to see if there is a way to do it.

Your installation instructions state to remove the Rachio native app (Rachio's own mobile app). Is there a conflict in allowing the Rachio's own mobile app AND your new Hubitat Rachio Community app to be used at an the owners discretion ? In a sense, switching back and forth between the two? Much appreciated! Tony

Good question. There wouldn't be any inherent conflict per se. But there could end up being race conditions that would cause the simultaneously installed apps/drivers to fight one another perhaps. Simultaneous installation has not been tested, so use at your own discretion and report back how it goes. But since Rachio Community is built from the same code base, I believe, as the native Rachio, having both installed may be unnecessarily redundant. At least for now. If/when native Rachio changes, I'll try to keep this up to date as well.

Emphasis in bold above is mine. You're referring to uninstalling the Hubitat Built-In Rachio 'app', not the native Rachio Android/iOS mobile app, right @JustinL?

1 Like

Ah, good catch Josh. Sorry I missed that. Yes, I'm referring to the Hubitat built-in Rachio 'app', not the mobile app. Definitely keep the mobile app!

Ok got it now. Sorry for the confusion. Just wanted to make sure the Rachio's own mobile app was ok to also use and it was the Hubitat's intergration app was the one needed to be uninstalled.

Update: Perhaps the 3e isn't supported by the API?

Thanks for doing this. I just got my Rachio recently so had not yet set up the built-in Rachio app. I have now installed your zone driver, controller driver, community app, and enabled Oath. I've successfully entered my API key. I selected my controller and active zones as shown. But when I launch the local dashboard link, I get:

{"error":true,"type":"java.lang.Exception","message":"An unexpected error occurred."}

Note the "null" device also.

What have I missed?

Hmm. Not sure. PM me and I'll help you figure it out. Send me a screenshot of your controller state to see if it "took" to the API. And the log.

Can you add this to HPM?

I'll certainly look into it.

1 Like

Sorry Justin, I never used the original Hubitat
Rachio app so I'm unaware of its functionality. On your app does it provide just data and no functionalities such as adjusting duration of zones or the ability to quick run a particular zone or provide a manual skip? Your app sounds great and a clearer picture of whats happening is a welcome addition to Rachio owners.

It provides both data and functionality. Here's screen shots of the commands from the device pages:
Controller


Zone

1 Like

Do I understand correctly that all I need to do to add to HPM is to generate those two JSON files? Pretty simple if so, and trying out HPM today went well - pretty cool app.

That is correct

How do you uninstall the app all together including the drivers? I disabled the app,and removed it. I went into App code and removed Rachio Community. It wont allow me to deleted the Rachio Controller and Rachio Zone driver codes. I keep getting "Driver cannot be deleted, it is in use by the following devices: [ Rachio - Tony's Rachio-E12C8F]". I went into Rachio and don't see anywhere to disassociate it from the app. Any help would be greatly appreciated.

Just click "Remove" in the Rachio Community App and it removes all installed devices, including the controller and zones. I'm not sure what you mean by "disabled" the app... You're running into an issue now where your devices aren't removed so you can't delete the driver code. At this point you might have to remove the devices from the respective device pages, and then delete the driver code. Feel free to PM me if you're having trouble....

1 Like

Question. Could the dashboard display more than 1 schedule? I run the yard based on allowed watering days and then on a separate schedule I have the remaining zones that water a garden daily. It would be great to display both schedules