[RELEASE] Rachio Community (dashboard + hose timers)

It doesn't look like GENERATION3_16ZONE_USI was added yet so I'm still seeing the same error. Let me know if that should no longer be the case and I can dig in further.

V3.0.3 Add Gen 3 USI support

1 Like

I have 6 controllers and I can see them all, but I'm only able to see the zones from one. Any tips on what I could be doing wrong?

Did you do this?

Setup
Some users report that, after installing Rachio Community, they needed to use the Rachio mobile app (not Rachio Community) to trigger an automatic schedule to run for each zone. It was only then that Rachio pushed data to Rachio Community for populating and configuring each zone for them. Accordingly, if after installing you do not have but a few attributes showing on the device page of a zone, use the Rachio mobile app to trigger a schedule for that zone.

Thanks, I missed that. Works perfectly now!

1 Like

Hello - I have successfully installed this app, and can see my hose timer hub, and hose valves, however the devices themselves don't show up in my 'list of devices' to be able to create scheduling rules:
image

Did I miss a step somewhere? Thanks!!

Not sure. I'm going to need more information. Which list of devices are you talking about? A list in ths Rachio Community App or a different app? Because the picture you provided shows a number of valves - are those not the hose valves you're looking for? If it's a different app, which app and what types of devices are expected in your list of devices?

A hose timer device has the following capabilties. Any list of devices will need to expect one of these capabilities in order for a hose timer to show up in it:
capability "Switch"
capability "Actuator"
capability "Valve"
capability "Sensor"

What I mean is: After adding them via the Rachio Community App, and seeing the devices listed there -- When I go to Hubitat's list of devices (https://[hubitat]/device/list), no valves show up, even if I try to manually 'add device' and search by 'brand'.

In the pics below, I'm just using the search to filter out the other devices I have, but using some keywords that I thought might show the valves.



Ok. Please go into the Rachio Community App, make sure debug logging is on, open up another tab with live logging, and press Done. Please provide the log output to help troubleshoot.

1 Like

There's a bunch of 'debug' info, then an error (I've redacted some identifying info):
app:1192024-01-09 15:25:57.254erroraddRemoveDevices Exception: java.lang.RuntimeException: java.sql.SQLException: Value too long for column "LABEL CHARACTER VARYING(255)": "'Rachio - [serialNumber:CA-S/N-HERE, timezone:America/New_York, valves:[cc38dc06-38... (265)"; SQL statement: INSERT INTO DEVICE (version, device_network_id, label, name, controller_type, zigbee_id, endpoint_id, device_type_id, location_id, hub_id, ht_group_id, parent_installed_app_id, parent_device_id, is_component, display_as_child, create_time, lan_id, max_events, max_states, mesh_enabled, collection_id, spammy_threshold, compatible_device_id, default_current_state) VALUES (1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [22001-214] Query: INSERT INTO DEVICE (version, device_network_id, label, name, controller_type, zigbee_id, endpoint_id, device_type_id, location_id, hub_id, ht_group_id, parent_installed_app_id, parent_device_id, is_component, display_as_child, create_time, lan_id, max_events, max_states, mesh_enabled, collection_id, spammy_threshold, compatible_device_id, default_current_state) VALUES (1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Parameters: [30f3d47d-6431-41e3-9503-cbcc289187cb, Rachio - [serialNumber:CA-S/N-HERE, timezone:America/New_York, valves:[cc38dc06-3843-4c16-bdf0-032cf8dd2fec:Backyard, 81946d85-f156-4bdd-8629-6c66804e0cc9:Front Yard South - Zone 1, d2aa2b2d-3de6-4701-9e16-21fd765f4456:TBD], LatLon], Rachio Wifi Hub, null, null, null, 709, 1, 1, null, 119, null, 0, 0, Tue Jan 09 15:25:57 EST 2024, null, 11, 30, false, null, 300, null, null]

The debug info is helpful. Please provide it all. You can PM if you'd prefer.

1 Like

Is there away of telling if a Zone is Active? We use a flow sensor that disables a zone if too much water is being use and would love to see this information within Hubitat

A new user, I've been following the stats for avgAPICallsPerDay and dailyAPICount, leaving pollingPeriod at 15 minutes. For reference, I have 1 controller and six stations, and the system has been mostly inactive over the past week as we've had regular rain.

Invariably, whenever I check the stats between individual heartbeats, the 'dailyAPICount' increases by a count of six, which seems reasonable enough.

Image4

The issue is this; The way I read the posts here and the resetAPICount() function in the code, the dailyAPICount should reset to 0 every night. But mine just continues to count upward. This seems particularly curious to me as the numDaysInstalled and the avgAPICallsPerDay are being incremented and/or recalculated as scheduled, as can be seen below.

Image5

(The first four columns are taken directly from the app details page, while the others are my own calculations).

Is there something I've misunderstood or done wrong?

When are you grabbing those numbers? Is the api count like that even right after midnight? If so, my guess is that you’ve got an error in the log somewhere - and that error is killing the code before the reset happens. Any errors in the logs?

The times are on the second image. And I have no idea what the numbers look like right after midnight, because I'm not awake at the time. :wink:

There are no errors in the log, but I can increase the logging level to whatever level you suggest (it's currently 2) if that will help.

This has had me puzzled me for a couple of days, as it appears the resetAPICount() function is being executed as the numDaysInstalled and the avgAPICallsPerDay are changing overnight.

I’ve reproduced the issue. I believe what’s happening is that the heartbeat() scheduled to occur every 15 minutes is being called at 12:00am, one second before resetAPICount() is being called at 12:00:01am. Because heartbeat is called first, it is using a snapshot of the program state that occurs before the resetAPICount(( call. But it is not finishing until after resetAPICount(), so it is effectively overwriting the dailyAPICount = 0 statement in resetAPICount().

I’ve coded a simple fix on my hub and will watch it to see if it works.

2 Likes

latest version should fix this issue. Update to latest version, open app, and then check "Reset all API Count Stats" at the bottom, to clear out all of the old data. Should be good after that.

2 Likes

Thanks!