kcharwood / homebridge-rachio-platform

Homekit support for Gen1/Gen2 Rachio Controllers
MIT License
20 stars 13 forks source link

Support for Queuing Multiple Zones #3

Open stephenwoodford opened 5 years ago

stephenwoodford commented 5 years ago

According to the official support article for the Rachio 3 with HomeKit support, it has the ability to "Queue up and run multiple zones". They also use the example "Hey Siri, Turn on the Backyard Sprinklers" which responds with "OK the backyard is queued up for watering."

https://support.rachio.com/hc/en-us/articles/115015979367

The way this plugin currently works with those Siri requests is by setting each zone in the request to "active" separately, causing each zone to turn on and off rapidly until the last zone stays on for the requested time.

The Rachio NPM library this plugin uses has a class called MultiZone, which I believe is what the Rachio API then uses to create a queue of zones to run instead of trying to start them all at the same time. I'm exploring how that could be integrated with this plugin and will report back with any findings.

kcharwood commented 5 years ago

Thanks for posting this...

Off the top of my head, this looks tricky. I think you would need to queue up incoming Set Active HK requests, queue them up, wait some small amount of time, and then decide to what api to use to start watering.

Interested to hear if you have any ideas.

kcharwood commented 5 years ago

Just saw your PR. Ignore my comment :)