Giter VIP home page Giter VIP logo

rachio-indigo's Introduction

About the Rachio Sprinkler plugin

This Indigo plugin integrates Rachio Sprinkler controllers as standard Indigo sprinkler devices. Any Rachio device that is supported by v1 of their API should work.

Requirement
Minimum Indigo Version 2022.1
Python Library (API) Official
Requires Local Network No
Requires Internet Yes
Hardware Interface None

Check out the full documentation for a complete description of how to use the plugin. You can always get the latest release directly from the Indigo Plugin Store or from the Indigo Plugin Store.

rachio-indigo's People

Contributors

flyingdiver avatar indigodomo avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

rachio-indigo's Issues

KeyError: 'current' in _update_forecast_data line 373

Symptom: logs full of

   Rachio Sprinklers Debug         _update_from_rachio
   Rachio Sprinklers Error         Error getting forecast data from Rachio via API.
   Rachio Sprinklers Debug         API error: 
Traceback (most recent call last):
  File "plugin.py", line 373, in _update_forecast_data
    current_conditions = reply_dict["current"]
KeyError: 'current'

Other than the obvious key check before entering that logic, what is it used for? Is it ok to just skip that logic?

"id" state causes SQL Logger plugin to fail

The SQL Logger plugin uses state names directly as column names, which can cause a column name conflict if the state name is "id". Should be fixed in the sql logger plugin, but a faster turnaround is likely to be a fix in this plugin.

T# Forecast High High in UI

When selecting a t#forecast_temperatureMin/Max through the UI, both Min and Max are displayed as High. The first one resolves to Min

image

Add error notification event

There are several cases where a failure could mean a big problem (leading to over watering or missing a schedule). We should probably add events such that a problem of that kind (the recent throttling by Rachio being one of them) would fire a trigger that users could then trigger from to notify in whatever way they think is appropriate.

Implement webhooks for status

The Rachio API supports webhooks to receive status updates. Our current architecture makes accepting connections from some outside source difficult. The IWS rewrite that we're working on now will make that better (possibly significantly better) so we're just going to table doing it for now.

If Rachio becomes even more draconian when throttling API calls then we may have to re-evaluate.

Share Webhooks

More of a discussion before it's even a proposed enhancement.

@FlyingDiver - do you use Homebridge?

My use case is such that I let Rachio control its own schedule. I do not schedule from Indigo. For manual starts, I prefer to use the Home app, so I'm interested in using this Homebridge plugin: https://github.com/valiquette/Homebridge-Rachio-Irrigation#readme

Problem is, Rachio will block the multiple plugin connections. It's been a while since I tried, but I believe that is the case.

I only use Rachio status in Indigo for a few minor behaviors. If I had to choose between the two plugins, I would choose to disable Indigo.

I think a potential resolution would be to share webhooks, where both plugins could get the messages simultaneously. The Homebridge plugin supports something called Webhook Relay, which I have never used.

Any thoughts?

API missing some fields

Starting with a new release of their apps, their API stopped returning 'elevation', 'timeZone', and 'utcOffset' for devices.

Ignore .gitignore in git

So it's not included in the repository. At least, I don't think there's any real reason to include it and it cleans up the repository a little.

Set "max duration" for zones in device config

It would be nice to set the maximum zone duration in the plugin settings. Occasionally, there are issues that prevent Indigo from stopping the current zone when running a schedule. In those cases, being able to limit the max duration (in minutes?) would help avoid running for a VERY long time.

2022.0.0 subscribes to webhooks even if no API key provided

Started plugin "Rachio Sprinklers 2022.0.0"
   Rachio Sprinklers               Rachio Sprinklers Started
   Rachio Sprinklers Warning       Unable to set up Rachio webhooks - no reflector API key
   Rachio Sprinklers Debug         Using Reflector, webhook_url: https://flyingdiver.indigodomo.net/message/com.indigodomo.opensource.rachio/webhook?api_key=None
   Rachio Sprinklers Debug         subscribed to webhook: DEVICE_STATUS_EVENT (5)
   Rachio Sprinklers Debug         subscribed to webhook: ZONE_STATUS_EVENT (10)
   Rachio Sprinklers Debug         subscribed to webhook: RAIN_DELAY_EVENT (6)
   Rachio Sprinklers Debug         subscribed to webhook: WEATHER_INTELLIGENCE_EVENT (7)
   Rachio Sprinklers Debug         subscribed to webhook: SCHEDULE_STATUS_EVENT (9)
   Rachio Sprinklers Debug         subscribed to webhook: RAIN_SENSOR_DETECTION_EVENT (11)
   Rachio Sprinklers Debug         subscription failure for webhook: WATER_BUDGET (8)
   Rachio Sprinklers Debug         subscribed to webhook: ZONE_DELTA (12)
   Rachio Sprinklers Debug         subscribed to webhook: DELTA (14)

water usage

If I add a water meter to the Rachio Gen 2 will this report daily water usage in indigo

Gen 3 controller cannot configure

Gen 3 using rachio plugin 1.1.3 and using indigo 7.2. Trying to configure in indigo a new Rachio device after inputting the API key results in an error message:

Rachio Sprinklers Error Error in plugin execution GetUiDynamicList:

Traceback (most recent call last):
File "plugin.py", line 476, in availableControllers
File "plugin.py", line 242, in _get_device_dict
AttributeError: 'Plugin' object has no attribute 'person'

Using the curl commands to trouble shoot I (curl -H "Content-Type: application/json" -H "Authorization: Bearer xxxx" "https://api.rach.io/1/public/device/{"id":"xxxxxxxxx"}"
The first xxx is the API key, the second is the device ID. The result is: {"code":"301","error":"Device id:xxxxxxx not found"}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.