API support for Smart Hose timer?

The API is now available.

:cheers:

2 Likes

Wow, that’s great news!

2 Likes

Awesome! Thanks! I’ve ordered my hose timers now. Looking forward to testing and integrating them with my smart home.

1 Like

Are the existing webhooks also for the hose timer? Or are webhooks for hose timers not implemented (yet)? I am guessing the latter from the documentation but maybe I missed it. Thanks!

Hey @lnjustin! The Smart Hose Timer does not use webhooks. Is this something that you are interested in seeing implemented?

Yes, since that would provide faster state updates and avoid having to poll your servers regularly :slight_smile: win-win. Still, this is huge having the hose timer API, so much appreciated.

3 Likes

typing-fast-typing

1 Like

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?