I’ve been looking for some alternatives for an intelligent sprinkler system to integrate within Home Assistant.
Having said this, Rachio Smart Sprinkler system requires a professional system while I was looking something more like to use my current hoses and sprinklers that I have.
They don’t have an API, however I’m working on a project to create a Python library to integrate this. It is still in progress, but you can have an idea by accessing https://github.com/tchellomello/raincloudy.
So, I would like to know if someone else is interested on this kind of solution and if so, what you think that would be nice to have integrated in HA.
A friend developed this ESP8266-based solution for SmartThings and I’ve been meaning to try and shoehorn that work into Hass. If you do have a traditional in-ground system you’ll have a hard time beating $17 for an 8-zone sprinkler controller. The trick is getting Hass to deal with sprinklers in some consistent and useable manner.
This of course doesn’t apply to your situation as it’s meant to drive an existing installed solution. So, to answer your question as to what I’d like to see Hass do more generally to support a sprinkler system, here’s a quick list off the top of my head
Normal irrigation scheduling, meaning the ability to set one or more schedules on set days at set times, with dwell time settings for each zone along with safety measures such as a maximum number of running zones, minimum run time for a zone, and a minimum time to switch between zones.
Pump control for well-fed systems
Weather forecast integration (if today’s forecast calls for > 1 inch of rain, don’t run the spinklers)
Individual zone control to start/stop a zone for automation purposes (if OpenCV detects rabbit activity in garden, turn on the garden zone for 1 minute. If it detects my wife walking out the front door, trigger camera recording and turn that zone on)
Individual zone enable/disable for maintenance or other outages
Floorplan integration for a full clickable map of the yard and individual zones
Pull data from soil moisture sensors and adjust zone run times based on readings
Looks great so far! How does scheduling a sequence of zones work? Like, I want to kick off Zone 1 at 5:00am for 20 minutes, then Zone 2 for 15 minutes, then Zone 3 for 5 minutes, etc.
I would expect to see raincloud or something in the device name. Did I misconfigure something or is this expected? I wanted to make sure before finding out I did something wrong and have to change all of the device names.
Just got a raincloud and trying to get it to work with HASS 0.55. Getting an error -
configuration.yaml:
raincloud:
username: secret
password: secret
Log:
2017-10-26 14:25:48 ERROR (MainThread) [homeassistant.setup] Error during setup of component raincloud
Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.4/site-packages/homeassistant/setup.py”, line 194, in _async_setup_component
component.setup, hass, processed_config)
File “/usr/lib/python3.4/asyncio/futures.py”, line 388, in iter
yield self # This tells Task to wait for completion.
File “/usr/lib/python3.4/asyncio/tasks.py”, line 286, in _wakeup
value = future.result()
File “/usr/lib/python3.4/asyncio/futures.py”, line 277, in result
raise self._exception
File “/usr/lib/python3.4/concurrent/futures/thread.py”, line 54, in run
result = self.fn(*self.args, **self.kwargs)
File “/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/raincloud.py”, line 100, in setup
from raincloudy.core import RainCloudy
File “/srv/homeassistant/lib/python3.4/site-packages/raincloudy/core.py”, line 4, in
import urllib3
ImportError: No module named ‘urllib3’
Ok, it works now after installing urllib3 in the virtualenv. I’m not seeing the nice zone cards like your screenshot, but I can toggle the switches etc.
The code worked great for me. I wrote a little code to send me an email if the controller goes offline.
Looking forward to having it support more than one valve unit!
@Bschaff I’m glad that you are interested in this project.
Currently, the external library only works with 1 controller but if you are willing to test it, please open a new issue at https://github.com/tchellomello/raincloudy and I will be glad to work with you add support to the library if you can test it.