Support Rachio flow meters

The Rachio estimated or accurate (via flow meter) water usage is supported via the Rachio API as part of the ZONE_STARTED and ZONE_COMPLETED webhooks as "flowVolume":0:

ZONE_STARTED

{"routingId":"1f9e35cc-f9fe-4615-aac9-2a58371b6cca","mqttTimestamp":1522286371462,"icon":"SCHEDULE","endTimeForSummary":"07:20 PM (MDT)","type":"ZONE_STATUS","title":"Zone 1 Started","deviceId":"1f9e35cc-f9fe-4615-aac9-2a58371b6cca","duration":60,"pin":"de930c65","zoneNumber":1,"zoneId":"59191296-962a-4ad3-9f69-ec383634d3b9","zoneCurrent":-6,"correlationId":0,"id":"6fa13ec6-22e0-39c8-b27f-e149ec7d61ff","iconUrl":"https://media.rach.io/v3_dev_event_icons/zone_run","zoneName":"Zone 1","timestamp":"2018-03-29T01:19:26Z","summary":"Zone 1 began watering at 07:19 PM (MDT).","zoneRunState":"STARTED","durationInMinutes":1,"timeZone":"America/Denver","externalId":"5843","timeForSummary":"07:19 PM (MDT)","eventType":"DEVICE_ZONE_RUN_STARTED_EVENT","sequence":19,"flowVolume":0,"zoneRunStatus":{"duration":60,"scheduleType":"FIXED","zoneNumber":1,"corId":0,"executionType":"MANUAL","startTime":"2018-03-29T01:19:30.462Z","state":"STARTED","endTime":"2018-03-29T01:20:30.462Z","seqId":1094,"ix":0},"subType":"ZONE_STARTED","endTime":"2018-03-29T01:20:30.462Z","category":"DEVICE"}

ZONE_COMPLETED

{"routingId":"1f9e35cc-f9fe-4615-aac9-2a58371b6cca","mqttTimestamp":1522286428025,"icon":"SCHEDULE","endTimeForSummary":"07:20 PM (MDT)","type":"ZONE_STATUS","title":"Zone 1 Completed","deviceId":"1f9e35cc-f9fe-4615-aac9-2a58371b6cca","duration":60,"pin":"de930c65","zoneNumber":1,"zoneId":"59191296-962a-4ad3-9f69-ec383634d3b9","zoneCurrent":-6,"correlationId":0,"id":"5be98268-7ed9-386c-a515-b13a26f20f12","iconUrl":"https://media.rach.io/v3_dev_event_icons/zone_run","zoneName":"Zone 1","timestamp":"2018-03-29T01:20:26Z","summary":"Zone 1 completed watering at 07:20 PM (MDT) for 1 minutes.","zoneRunState":"COMPLETED","durationInMinutes":1,"timeZone":"America/Denver","externalId":"5843","timeForSummary":"07:19 PM (MDT)","eventType":"DEVICE_ZONE_RUN_COMPLETED_EVENT","sequence":20,"flowVolume":0,"zoneRunStatus":{"duration":60,"scheduleType":"FIXED","zoneNumber":1,"corId":0,"executionType":"MANUAL","startTime":"2018-03-29T01:19:27.025Z","state":"COMPLETED","endTime":"2018-03-29T01:20:27.025Z","seqId":1094,"ix":0},"subType":"ZONE_COMPLETED","endTime":"2018-03-29T01:20:27.025Z","category":"DEVICE"}

API reference: https://rachio.readme.io/reference/sample-webhook-json

The Rachio integration currently listens for these events, but doesn’t do anything with the flowVolume key. Ideally, a separate sensor would be created for each zone with the most recent flow value.

This would be valuable for me because I’m currently tracking my household water usage, but my irrigation system branches off before the pulse meter that I’m using. I have a flow meter for the irrigation system that would complete the picture, but that data is not currently available in HA.

I’m also interested in this as I purchased the Rachio and Everydrop flow sensor.