API support for Smart Hose timer?

I have a question about the API. Does the API indicate the current status of a hose timer valve being open and/or whether flow is currently detected?

I see in the API docs the valve object is:

{
  "valve": {
    "id": "string",
    "name": "string",
    "connectionId": "string",
    "photo": {
      "id": "string",
      "default": true
    },
    "state": {
      "reportedState": {
        "connected": true,
        "defaultRuntimeSeconds": 0,
        "lastWateringAction": {
          "start": "2023-10-03T10:42:42.663Z",
          "durationSeconds": 0,
          "reason": "QUICK_RUN",
          "programId": "string",
          "flowDetected": true
        },
        "lastSeen": "2023-10-03T10:42:42.663Z",
        "batteryStatus": "GOOD",
        "firmwareVersion": "string",
        "calendarHash": "string"
      },
      "desiredState": {
        "defaultRuntimeSeconds": 0,
        "calendarHash": "string"
      },
      "matches": true
    },
    "color": "LIGHT_BLUE",
    "detectFlow": true,
    "created": "2023-10-03T10:42:42.663Z",
    "updated": "2023-10-03T10:42:42.663Z"
  }
}

(1) I suspect that the “detectFlow” field indicates whether the valve is configured to detect flow, not whether the value is currently detecting flow. Is that right?
(2) The flowDetected field in the reportedState seemingly indicates whether flow was detected the last time the valve watered. But that watering session may have ended already, right? So, the flowDetected field in the reportedState does not seem to indicate whether flow is currently detected.

Am I missing something? That seems like something that the API would provide access to…If the API does not currently provide this information, please consider it a feature request.

It would be great to have the reportedState include:
(1) currentWateringAction; and
(2) nextWateringAction
with the same fields as the lastWateringAction, as applicable.

(1) Is the most important, though, as nextWateringAction can be derived from the dayView part of the API. But I don’t think currentWateringAction could be. In a perfect world, you could check to see if the lastWateringAction is still ongoing accounting for its start time and duration, but there’s no way to know if that is in fact the case, e.g., user could have manually stopped, flow might not be detected, etc.

Thanks!

I too would like to see Webhook support or web socket connection for updates.

Hey Injustin!

Sorry, I missed this. I’ll answer the questions that I currently know and then work with the team to answer what I don’t know. The “detectFlow” field does indicate that the valve is configured to detect flow while “flowDetected” indicates if the valve’s flow sensor detected water flow.

I will need to get back to you on detecting flow for the current watering. I’ve captured your request to have “currentWateringAction” and “nextWateringAction”.

1 Like

Does anyone know if there’s any work on the home assistant side to get this integrated? Thanks.

I’m also here for Home Assistant integration. I see this thread was started back in June, is API integration for hose timers still planned? I bought these specifically to integrate them with Home Assistant, and just learned that there’s no API support for these devices. I’ll hang on if this is just around the corner, otherwise, I’ll be switching to a B-hyve system.

Happy to beta test if that’s an option.

Have you seen the posts about the API for the hose timers? Valve Monitoring - New Rachio Products - Rachio Community
Or are you asking about something different?

Like many on this thread I’m looking to integrate my Rachio hose valves with Home Assistant. It could be that the Home Assistant integration hasn’t yet added support to for these since the API for these is apparently quite new, but when I setup the Rachio integration the API responds with an empty array of devices[]. I do have two hose valves configured that show up in the app (but not at app.rach.io, which may be part of the problem).

Hi there!

Thanks for letting us know about the issue you are having with the Rachio Smart Hose Timer API. I’ll work with our Engineers to help you.

Best,

From the little I’ve looked at it, the hose timer uses totally different endpoints than the controller API. It’s not going to just show up without significant changes to the HomeAssistant Rachio integration.

Thank you for your patience. You are not seeing the devices because app.rach.io/ only supports controllers. Our Smart Hose Timer API is new and on a different host. There is a note about that in our API documentation (you can read that here). It does not look like an integration for Home Assistant has been built, yet.

@dane am I correct that there is still no webhook support for the hose timer? If that’s the case do you know if that’s something that’s being worked on or is in the future plans?

Hi there,

I’d like to be able to integrate my Smart Hose Timer with IFTTT. I have a weather station with a soil moisture sensor and I’d like to have my Hose Timer activate when the soil moisture falls below a certain percentage, and have the Hose Timer turn off once the soil moisture rises above a certain percentage. Is this possible using IFTTT?

Another request that I think might be useful…the ability to enable/disable a hose timer schedule through the API. The current method of finding and skipping individual runs is ok, but also kind of a pain. Would it be possible to add enable/disable schedule, or even make the createSkipOverride endpoint act like its delete counterpart where not providing a timestamp would skip all upcoming runs?

@dane the cloud-rest.rach.io site is showing a 404. Is it just temporarily down, or did y’all for some reason already pull the new site down?

I tried both on my WiFi, and knowing sometimes my network blocks some sites, 5G on my phone, after confirming my smart hose timer valve was online.

Also, is there any way to control the valve locally, instead of having to go through y’all’s servers? (For Home Assistant specifically, as I see you have a 1700 query limit on the cloud calls.)

Hopefully there will be webhook support for the hose timers in the future, that would pretty much make the rate limit a non-issue if polling wasn’t required.

Hi @Paleflyer

I am reaching out to the team about the 404 error that you are receiving. Could I get some more information on what you are trying to do? Are you having any issues running programs

Regarding local control for Smart Hose Timer, we do not have any plans to support this for Smart Hose Timer. @Brg468 mentioned webhooks which I am documenting for future consideration.

1 Like

Wait, I might be being stupid. I assumed the cloud-rest link would open a page like the normal api.rach.io page, to at least confirm my Hose Timer is connected, but I just realized that isn’t what it is, is it. :man_facepalming:

Yea I don’t think you can directly open the cloud-rest endpoint. You could use Postman to verify the timer is connected and see the data. FWIW the hose timer integration in Homeassistant has been working fine for me this whole time. ( I realize it’s not yet released but I wrote it so I get to use it :joy:)

I’d be very interested in getting access to that integration…

But I assume first I would have to get the UUID figured out… And clearly I’m an API noob, as I have no idea how to get that. My attempts have gotten me something, but Postman is still telling me I’m not authorized. (I’m using the API key from the app.rach.io site.)

I’m not in front of the computer right now, but I think you need to set the auth token to the API key from the web/app, then call the Get Person ID endpoint to get your userid, then use that to call List Base Stations