New Homebridge (HomeKit) plugin for older Rachio’s

Hi!

I’ve built out a new plugin for Homebridge to allow you to control your system with HomeKit.

It’s a slightly advanced plugin, as it involves opening and forwarding ports (basic network configuration) from your modem to your homebridge server so webhooks can be used to update HomeKit when the rachio controller is executing.

I’m up to 1.0.0-beta.2 now, and would appreciate more testers.

You can find it at https://github.com/kcharwood/homebridge-rachio-platform

Please let me know if will help test!

6 Likes

I’m interested. Did you check with the Rachio developers to see if there was a way to avoid opening ports? And if that is unavoidable, can we get IP ranges for Rachio’s servers so we can limit what gets forwarded into the local network?

I don’t see that I would start or stop watering based on Homekit rules, but I could see setting automations to active when currently watering, or if a cycle completed. Really wish the Gen 2 would have been updated with Homekit support.

Unfortunately I don’t think there is a way to avoid opening ports.

I do see they recently added HTTP Basic Auth support to web hooks, so I could pretty easily add support for that.

Awesome! I’m on it though it won’t see much use until irrigation season. Been using HomeBridge for a while now and have been patiently waiting for this. Thank you. (I’ll test what I can :slight_smile:

Working well already – I did not need to set up forwarding. When turning on a zone Rachio responds nearly instantly. Very cool! I ran a disabled zone for 5 minutes via Home, Rachio let me know it stopped, but HomeBridge hasn’t updated so it shows the zone as still running. I killed HomeBridge and restarted it; the zone still shows as running. Maybe that is because I haven’t setup forwarding? :stuck_out_tongue: I may mess with that later today.

Disabled zones do show up in the Home app but they’re easy to remove from Favorites. I’ll let you know how stability is over time. FYI, I use a 2011 MacMini to run HomeBridge, directly wired into my ASUS 68u router.

Ya you definitely need to have port forwarding setup to allow HomeKit to stay in sync.

Working on a patch to remove disabled zones.

1 Like

OK I’ll implement that later today and will report back! Very cool to now have customized default quick run times per zone :-0

I enabled port forwarding and got the expected behavior; zones turn off. Nice test interface! Glad my dyndns host was acceptable instead of an IP for external IP.

3 Likes

Just pushed Beta 4, with support for disabled zones, as well as an improved way to test the web hook configuration.

This is fantastic! Installed and tested a bit, even though its winter here so full testing won’t be possible for a couple months.

Turning zones on and off through both the Home app and Siri worked great. One thing that didn’t work though was when I said something like “water the front yard” where I have 3 zones, she responded with “OK watering 3 valves for 5 minutes”, but instead of queuing them up to run one after another, they all were started at the same time causing only the last one to actually run. This could very well just be a Siri/HomeKit issue, I’ve never used an irrigation system in HomeKit to know otherwise. I’ll do some digging to see if I can find out what the official Rachio 3 does in this scenario.

Also, the versioning system you’re using with beta numbers doesn’t seem to be updating the latest version in NPM. npm install -g homebridge-rachio-platform from the README installed beta0, so to install the latest version I had to use npm install -g homebridge-rachio-platform@1.0.0-beta.4. Not a big deal and easily fixed, just posting to hopefully help others get the latest version installed.

Thanks again for making this, I’ve been considering putting in some time to make it myself but hadn’t gotten around to it. I’m subscribed to the Github repo and will keep an eye out for any features I can help out with in the future.

2 Likes

Yea I still have it published under a beta tag until I can get more feedback.

The Siri use case is a good example there. I don’t think I have any way to make it that work, since my Rachio doesn’t support having multiple zones on at the same time.

1 Like

I hadn’t caught that. I’m now on Beta 4. Thank you.

1 Like

sweet! Looks good from my end! Thank you!

1 Like

I just installed this and web hooks tested successfully. I will need to wait till the weather warms and the foot of snow is gone.

Great Work. I installed beta 4. is it supposed to say “Not Supported” on the icon in the home app.

Ya the controller itself will say Not Supported, but the sprinkler heads should show up as individual accessories.

I’m having issue after installing it. Please see the screenshot. I have taken care of the port forwarding. Still getting errors. Please see screenshot

Please help.

Could you please send me config.json file. I need to see what I’m doing wrong. You may take your public IP and port number out.

I would really appreciate it.

thanks,
B

It says you’re not authorized at the very top. Did you get your API key from app.rach.io Account Settings and tapped the Get API Key at the bottom of account settings? Then put it in the appropriate part of the config file per the plugin’s directions? Don’t reveal that key. I don’t have easy access to my config so it’ll be a while. JSON configs are annoyingly sensitive to typos and format and everything else including space dust.

You may get faster results asking the r/homebridge on Reddit. But redact your API key, IP address.