[BETA] Rachio Community v3.0.0 Hose Timer Support

OK picked up my irrigation controller control/etc but I lost my hose timer. I uninstalled the Rachio Community and then installed it again, entered API key and the irrigation controller came over but the hose timer is empty (no place to put/select serial number). So my irrigation controller now works but no hose timer.

You mean there’s no dropdown menu for it? That would be odd. Screen shot and/or debug log?

Don’t worry, will get it working for you!

1 Like

Sorry for the late reply I just got back. When I just checked everything is there (hose timer now in the dropdown) and working! Maybe it just needed a longer refresh time I don't know but all good. Thanks for all of your work on this!

1 Like

BTY Hose Timer Duration is in seconds, correct? The others (irrigation Zones) are in minutes so just checking.

Correct.

So I gather that the devices are all working now? What about the dashboard? Is it representing watering well? How about the schedule-specific coloring?

Someone else will have to tell you about that as I don’t use a dashboard as I voice command everything but I can tell you that both Alexa and Google are working just fine. Also I use HomeSeer and send the commands over via the Hubitat Maker API to HS and I can control everything from there as well.

The Hose Timer Duration setting changes but it won't override the settings in the Rachio app. For example if I set the Hose Timer Duration in Hubitat to 15 minutes (900 seconds) it will show up in Hubitat fine but if the default duration for the hose timer in the Rachio is 10 minutes (600 seconds) then even if the Hubitat Hose Timer Duration was set to 15 minutes then the Rachio app will reset it for 10 minutes. You can set the Rachio for 15 minutes or whatever you want and it will change in the Hubitat Hose Timer Duration but it doesn't work the other way around. It's just FYI and not a problem as if it's known that the Hubitat Hose Timer Duration must be set for less than the Rachio app default duration time. This isn't a problem with the irrigation zones.

Good find. Looks like you found a small bug in the code that was supposed to make that work. Bug squashed and should work as desired now. I assume you're talking about setting the default watering duration from Hubitat so that it is reflected in the Rachio app. If so, that's what should work now with the latest code.

1 Like

That's what I was talking about and the updated code fixed and I tested it all working correctly now. Thanks!

2 Likes

@kewashi @a.mcdear any feedback on your beta test? Get it working ok?

Yes, the installation was simple and there were no hiccups. For reference, I am using Rachio Gen3 4-zone.

So far all of the functions seem to work as intended. I am really impressed that it picks up status changes nearly instantly. When I start a custom run from the Rachio Android app, Habitat updates all pertinent states within seconds. When I pause or restart the run, again changes are reflected right away. Very nice.

Almost all of the main valve functions work. "On" "Off" "Open" "Close" etc all work. However, when I am on a device page for a particular zone, the pause command does not function. On the Rachio Android app itself, when I try to pause, it asks me to specify a pause duration, so maybe there is a parameter that needs to be sent with the pause command?

Anyway, so far it works great! I am very happy with it.

1 Like

I see what happened. The pause function on the controller page should work. But the pause function on an individual zone page should not be there. It's a controller function to pause whatever zone is currently running, not a zone-specific function. So I have updated the code now to remove the pause command from the device page, and it is now only on the controller page. Thanks for the feedback!

I have it installed and i can control my 2 zones just like the built in version, but I cant load the dashboard - which is the whole point. I get this error:

{"error":true,"type":"java.lang.Exception","message":"An unexpected error occurred."}

EDIT: I thought it might be caused by the lack of any Hubitat dashboards on this hub, so I made one, but get the same error. Turned on logs, so here is the cause:

Hmm ok. Can you turn on debug level 3 and send me the live log from when you try to load the dashboard?

I just did -- turned on level 4 and pasted it above. Looking at your code in line 2283 looks like you need to check for a null weather object. I don't have weather on this hub.
EDIT...
----- turned on level 3 -------
Here you go @JustinL

[app:102](http://192.168.4.114/logs#)2023-10-21 11:57:17.310 AM[error](http://192.168.4.114/logs#)java.lang.NullPointerException: Cannot get property 'precipProbability' on null object on line 2283 (method buildDashboard)

[app:102](http://192.168.4.114/logs#)2023-10-21 11:57:17.260 AM[debug](http://192.168.4.114/logs#)Weather: null)

[app:102](http://192.168.4.114/logs#)2023-10-21 11:57:17.256 AM[error](http://192.168.4.114/logs#)sendJsonGetResponse Exception Error: groovyx.net.http.HttpResponseException: status code: 400, reason phrase: Bad Request

[app:102](http://192.168.4.114/logs#)2023-10-21 11:57:17.020 AM[debug](http://192.168.4.114/logs#)Selected Devices: [baseStations:[:], controllers:[01552b71-3413-4c77-adba-7a04664556d4:[locationId:null, name:Rachio-006F00, zones:[9effd07c-17fd-4eca-880c-b13204e886b8:Zone 2, 3e59e8f0-0614-4070-a865-b9a99a86a294:Zone 1]]]]

[app:102](http://192.168.4.114/logs#)2023-10-21 11:57:17.016 AM[debug](http://192.168.4.114/logs#)Using Controller 01552b71-3413-4c77-adba-7a04664556d4 for dashboard weather

Thanks I’ll look into it. The weather is not from the hub, though. It’s provided by Rachio so your Hubitat dashboard will display the same weather as on the Rachio app. It would still be helpful to see the whole log so that I can see what the parameters/calls are before that.

my locatioID is null... that seems to be the culprit

Agreed. Have you set a weather source in the Rachio app (in the controller settings or profile)? And set your address in the Homes section of your profile settings of the Rachio app?

If so, im not sure why you wouldn’t have a locationId returned by Rachio’s API and might need the full debug log set at level 5 to further investigate. If you provide that, better to PM me rather than post it.

yes, i went to check when i saw that error and my address is set and weather source set to "Weather Network"

I forced it to use the alternate approach and that gave another error on line 2311 since my selectedBaseStations[weatherBaseStationId] parameter returns null. I'm made a hacked version to ignore weather and then the watering icons work fine but of course no weather info, which makes the dashboard quite uninteresting. Not sure why my controller doesn't give weather. The device is a Rachio 3 Smart Sprinkler 8 zone unit. Firmware iro3-firmware-hk-5-640