I have been working with the Webhook data for a while, and was in the process of tying individual zones together with water meter data from my Flume device. In trying to explore the Rachio data further, I find the following:
There does not seem to be a unique identifier for an entire schedule that is both schedule-unique and “instance”-unique - something to tie all the zone and schedule events together so that they can be identified and collected as a unit, and distinguishable from both any other run of the same schedule, either scheduled or manual.
In exploring some of the data here, I was interested in the flow from an earlier run of a schedule this morning, and decided to run the schedule again (it was short) to verify water rates. What I found instead was that the events around the two schedule runs are largely indistinguishable from each other.
Yes, you can use timestamps and try to infer things. That’s not a terrible thing, but the webhook API is counting on a pair of round trips to work out without problem. One could imagine missing a single event from a run. Were you to miss the schedule complete event, you might be a bit unhappy.
It would be nice if there were a grouping ID for any run that would allow for easy coalescing and identification. While it’s true especially for a schedule run (same group ID or run ID for all schedule and related zone events for that schedule run), it might as well be true for a manual run, a manual run of an individual station, etc.
Like I alluded to, there is a lot of inference one could - and actually must! - do, but it seems it would be fairly simple and straightforward to add a property to the event that explicitly tied it all together.