Working with the Hubitat / Rachio Integration and trying to understand the fields exposed through the Rachio API

Hi

I am using the Hubitat’s Rachio App to connect to a Rachio 2. The Hubitat then exposes data elements from the Rachio API. However, Not being into all the details of irrigation, Rachio scheduling and watering terminology, I’m having a hard time understanding the details of what some of the data elements mean. I’m hoping that someone who is very familiar with the Rachio API can provide some guidance.

I have pasted the Hubitat json date elements of a Rachio zone below. Many fields are self explanatory but I’m specifically looking to understand:

  1. What is “available water”?
  2. What are “cycle counts” and what is the difference between “cycle count” and “total cycle count”,
  3. What is “depth of water”?
  4. Please correct me if I’m wrong but I assume that “duration” is how long the zone is scheduled to be watered. Given that what is the difference between “duration”, “zone duration”, and “zone total duration”?
  5. How does “duration” differ from “zone water time”?
  6. What is “duration no cycle”?
  7. What is “efficiency”?
  8. What is “saturated depth of water”?

I apologize for being such a newbie when it comes to the details of irrigation and greatly appreciate the help.

Thanks


“attributes”:[
{
“name”:“availableWater”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“cropName”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“cycleCount”,
“currentValue”:null,
“dataType”:“NUMBER”
},
{
“name”:“depthOfWater”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“duration”,
“currentValue”:null,
“dataType”:“NUMBER”
},
{
“name”:“durationNoCycle”,
“currentValue”:null,
“dataType”:“NUMBER”
},
{
“name”:“efficiency”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“inStandby”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“lastUpdatedDt”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“lastWateredDesc”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“lastWateredDt”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“lastWateredDuration”,
“currentValue”:null,
“dataType”:“NUMBER”
},
{
“name”:“maxRuntime”,
“currentValue”:null,
“dataType”:“NUMBER”
},
{
“name”:“nozzleCategory”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“nozzleName”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“rootZoneDepth”,
“currentValue”:null,
“dataType”:“NUMBER”
},
{
“name”:“saturatedDepthOfWater”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“scheduleType”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“scheduleTypeBtnDesc”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“selectedZone”,
“currentValue”:null,
“dataType”:“NUMBER”
},
{
“name”:“shadeName”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“slopeName”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“soilCategory”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“soilName”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“startDate”,
“currentValue”:null,
“dataType”:“NUMBER”
},
{
“name”:“switch”,
“currentValue”:null,
“dataType”:“ENUM”,
“values”:[
“on”,
“off”
]
},
{
“name”:“totalCycleCount”,
“currentValue”:null,
“dataType”:“NUMBER”
},
{
“name”:“valve”,
“currentValue”:null,
“dataType”:“ENUM”,
“values”:[
“open”,
“closed”
]
},
{
“name”:“watering”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“zoneDuration”,
“currentValue”:null,
“dataType”:“NUMBER”
},
{
“name”:“zoneId”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“zoneName”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“zoneNumber”,
“currentValue”:null,
“dataType”:“NUMBER”
},
{
“name”:“zoneRunElapsed”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“zoneSquareFeet”,
“currentValue”:null,
“dataType”:“NUMBER”
},
{
“name”:“zoneStartDate”,
“currentValue”:null,
“dataType”:“STRING”
},
{
“name”:“zoneTotalDuration”,
“currentValue”:null,
“dataType”:“NUMBER”
},
{
“name”:“zoneWaterTime”,
“currentValue”:null,
“dataType”:“NUMBER”
}
],

Hey jbasen,

I can talk through some of the options that I know about, I’m not 100% on some of the ways zone details are exposed through the public API.

Available Water, Efficiency, and Depth of Water are configuration options for the advanced settings of a zone. You can see some detailed explinations about those settings here: https://support.rachio.com/hc/en-us/articles/115010542148-What-are-Advanced-Zone-Settings-

Zone water time and duration may differ if cycle soak happens on that zone. That’s where watering may pause on a zone for an amount of time to allow the water to soak in and not run off and get wasted. Duration may look at the total time the zone is active for, and the water time may be shorter to not show you the time that it’s paused to allow for soaking.

Saturated depth of water may be showing details about how we’re tracking what your soil moisture levels are. There’s some details here: https://support.rachio.com/hc/en-us/articles/115010379367-What-are-moisture-levels-Flexible-Daily-Schedules-.

Again, these descriptions might not match up 100% with what the API is returning, but hopefully this provides some insight. For some further resources our API is documented here https://rachio.readme.io/docs/data-objects#zone

2 Likes

Thanks @zachio! Great info