I have the Rachio controller from Costco. There is an integration with Hubitat. It works ok. I had to setup a rule to poll the cloud every 1.5 minutes (you’re only allowed so many a day) because the API doesn’t push evens to Hubitat, but it sees zone/valve changes on a refresh.
So I have 5 remote zones that are connected to a Zwave relay, because I couldn’t run wire to those zones. When Hubitat sees a zone turn on, it fires that corresponding Zwave relay. One negative experience I had was the API for Rachio went down in the middle of a watering, so Hubitat never saw the zone stop watering, which resulted in a zone staying on until I noticed it. The lawn got like a 2 hour extra watering that day.