Controller and User Data Objects

The Rachio Controller API contains four distinct data objects

  • Person
  • Device
  • Zone
  • ScheduleRule

These objects are explained below.

Webhooks are explained in detail in the webhooks section

Person

{
   "email" : "[email protected]",
   "id" : "xxxxxx-xxxx-xxxx-xxx-xxxxxxxxx",
   "username" : "test",
   "devices" : [
      {}
   ],
   "createDate" : 1520380702000,
   "deleted" : false,
   "fullName" : "Testy McTest"
}

Device

{
  "id" : "55e57aff-d8a2-4e3b-9836-25cf7f6839e7",
  "flexScheduleRules" : [],
  "serialNumber" : "VR1231212",
  "homeKitCompatible" : false,
  "name" : "Rachio-E1323B",
  "zones" : [],
  "on" : false,
  "latitude" : 39.739174,
  "longitude" : -105.04316,
  "createDate" : 1520381260000,
  "status" : "OFFLINE",
  "deleted" : false,
  "scheduleModeType" : "MANUAL",
  "model" : "GENERATION2_8ZONE",
  "macAddress" : "80A589E1323B",
  "scheduleRules" : []
}

Zone

{
  "zoneNumber" : 4,
  "runtime" : 1391,
  "id" : "108e23aa-4999-4da2-994a-62aa6e207221",
  "rootZoneDepth" : 6,
  "efficiency" : 0.8,
  "fixedRuntime" : 0,
  "imageUrl" : "https://prod-media-photo.rach.io/8107d244-1176-44a4-9a7e-d1de3b803f82",
  "scheduleDataModified" : false,
  "customShade" : {
    "name" : "LOTS_OF_SUN"
   },
   "depthOfWater" : 0.51,
   "managementAllowedDepletion" : 0.5,
   "customCrop" : {
     "name" : "Cool Season Grass",
     "coefficient" : 0.8
   },
   "saturatedDepthOfWater" : 0.56,
   "customSoil" : {
     "name" : "LOAM"
   },
   "customNozzle" : {
     "name" : "FIXED_SPRAY_HEAD",
     "inchesPerHour" : 1.5
   },
   "availableWater" : 0.17,
   "yardAreaSquareFeet" : 500,
   "runtimeNoMultiplier" : 1391,
   "maxRuntime" : 10800,
   "name" : "Zone 4",
   "enabled" : true,
   "lastWateredDate" : 1520343540000,
   "wateringAdjustmentRuntimes" : {
     "3" : 1391,
     "1" : 2086,
     "5" : 695,
     "2" : 1739,
     "4" : 1043
   }
}

ScheduleRule

{
    "id": "xxxxx-xxxxxx",
    "zones": [
        {
            "zoneId": "xxxxx-xxxxxx",
            "duration": 780,
            "sortOrder": 1
        },
        {
            "zoneId": "b15ed92d-d171-4730-98f2-e82d9a6aacb0",
            "duration": 840,
            "sortOrder": 3
        },
        {
            "zoneId": "bf7ed8bd-99af-4598-8857-e71c0d26520a",
            "duration": 840,
            "sortOrder": 0
        },
        {
            "zoneId": "108e23aa-4999-4da2-994a-62aa6e207221",
            "duration": 840,
            "sortOrder": 2
        },
        {
            "zoneId": "08b73293-4f42-4105-8a67-48d3ed4c209e",
            "duration": 840,
            "sortOrder": 5
        },
        {
            "zoneId": "0bf273be-a81d-4e6e-9047-d3e1f703a956",
            "duration": 840,
            "sortOrder": 4
        }
    ],
    "scheduleJobTypes": [
        "ANY"
    ],
    "operator": "AFTER",
    "cycleSoakStatus": "OFF",
    "startDate": 1523219613691,
    "name": "My Flex Monthly",
    "enabled": true,
    "startDay": 8,
    "startMonth": 3,
    "startYear": 2018,
    "totalDuration": 4980,
    "endDate": -62167404386309,
    "etSkip": true,
    "externalName": "My Flex Monthly",
    "cycleSoak": false
}

Webhooks

All webhooks follow the same object structure, and will provide different string description of the event.

{
  "id": "8c3f5e90-fb30-3425-a95d-11fa31244f66", // ID of the webhook
  "summary": "Scheduled waterings will now run on controller Rachio-E1323B.", //Summary of the event
  "hidden": false, // Whether the event is hidden to the consumer or not
  "externalId": "123221231", // External ID provided by the POST event when you create a webhook
  "category": "DEVICE", // Category of the event (device, zone, schedule)
  "type": "RAIN_DELAY", // type of event (varies by Hook type)
  "subType": "RAIN_DELAY_ON",  // description of the type of event
  "deviceId": "15c388d3-ca86-4c49-96d1-de11c965988d", // Controller ID 
  "eventDate": 1520803848658, // date the event happend
  "createDate": 1520803848658, // date event was created
  "lastUpdateDate": 1520803848658 // date event was updated
}