Webhook Documentation

The server is a micro-service behind a private subnet making simple HTTP POSTs, we are not hosting certificates.


@franz My openHAB binding is working very stable in between. I want to add support to retrieve the zone pictures from the Rachio cloud and make them available to a html widget. The corresponding url is returned as part of the configuration information (get person) - imageUrl.

In the past the imageUrl contained the base URI as well as a unique identifier.

During my last tests I always got only the base URL. I verified the JSON returned by the cloud
which is missing the uniqie id compared to
…“imageUrl”:“https://prod-media-photo.rach.io/daf89bd1-0744-4603-a5b4-32218fceaae6” of early tests. Other testers are reporting the same issue, so it’s not specific to my installation.

I also noticed that some of the standard icons/pics are not located on https://prod-media-photo.rach.io/, but AWS like: https://s3-us-west-2.amazonaws.com/rachio-api-icons/nozzle/fixed_spray.png

Do you have any idea why the unique id for imageUrl is missing?

I see what happened. This issue should be resolved tomorrow.


I could confirm that the imageUrl is working again.

This brought to the following problem: If you try to embed those images to a simple html view it will fail. The browser downloads a file rather than displaying a image when you open this url.

From my understanding the mime type is not set. This should be fixed. I found a work around in rewriting the url and redirecting load requests to my binding, which loads the image from the cloud as binary and sends it as response with mime-type image/png. That works, but I think Rachio should fix the implementation.

Interesting, I’ll have the team look into it.


my work around

  • take the imageUrl provided by the cloud api, strip off the uuid
  • rewrite the image url to a local servlet/uuid
  • the servlets reads the url as binary stream and writes it to the client, but also sets the mime-type
    in this case the servlet acts like a proxy and the html client/browser is happy :slight_smile:

Hi @franz any update here? I would like to remove the work around if the cloud API works as expected (open the provided imageUrl in the browser and the image gets displayed rather than downloaded to a file). Putting my work around in changes provides exactly this change, but the cloud api should work http(s) compliant.

On the App I received a notification about skipping watering. However, I don’t received a webhook event like WEATHER_INTELLIGENCE_SKIP even I registered for those:

How to catch those events (in fact all)?

New images have the correct mime-type. This week we will be updating existing images with the correct mime-type. Thanks for pointing this out. The new images now with directly from the URL.

I’ll have the team look into this.


@franz Do you have an update for me?

@franz I’m still very interested to integrate those events :slight_smile:

@franz I am looking into this for Markus’ binding for OpenHAB.

I would like to make a webhook that calls a Uri like this with basic auth in the Uri:


I have tested this with postman and it works at our end. However, when i register the webhook with Rachio and trigger an event we don’t receive the hook.

Do you support passing basic auth in the uri as above? If not is there a way when registering the webhook to also pass the auth header to use when firing the webhook?


Basic auth is supported, though issue is likely with email use as a username.

I guess you could try replacing dot with “%2E”, but you’ll likely need to use a plain username for native support.

@franz i found your docs on the basic auth support and that the user:pass will be base64 encoded and added to the authorization header. So that got me excited!

However, it looks like Rachio may not uri decode the username:password when the webhook is registered. And i suspect (because i cant see the actual hook you are firing) its base64 encoding the username:password with the Uri encoded chars in it.

webhook: https://myemail%40live.com:somepassword@home.myopenhab.org/rachio/webhook

would result in a auth header like this:

(plain) myemail%40live.com:somepassword
(base64) bXllbWFpbCU0MGxpdmUuY29tOnNvbWVwYXNzd29yZA==

instead of this:

(plain) myemail@live.com:somepassword
(base64) bXllbWFpbEBsaXZlLmNvbTpzb21lcGFzc3dvcmQ=

could you confirm if this is the case?

Doh, Ill have the team fix and put this out today.


@franz wonderful! I can’t tell 100% if this is the problem … but it seems like a high probability!

Thanks for being so responsive! The OpenHAB binding almost complete and i’m testing it out and i cant wait to have Rachio all hooked up to my home automation solution.

I had the team test, definitely the problem.


1 Like

you guys are rockstars! I was worried this would be a blocker. Unfortunately i cant create a username without the “@” in OpenHAB online.

1 Like

Should be fixed now.


Epic. That seems to have worked really well! I confirmed I got the webhook correctly now. Thank you so much for the quick response.

1 Like