I am interested in building a control device for the IrrigationCaddy. I do not have a published API from this vendor. I have figured out most of the HTTP POST commands and believe a full featured device can be implemented in Vera.
I have finally figured out how to use socket.http to POST to the IrrigationCaddy. I am using FireBug to gather the commands in use by IrrigationCaddy. They appear to be very straightforward so far.
Turn System ON: “http://192.168.xxx.xxx/runSprinklers.htm”,‘run=run’
Turn System OFF: “http://192.168.xxx.xxx/runSprinklers.htm”,‘stop=off’
Scheduling commands are for the programs and are posted to index.htm. e.g. RUN NOW is Program #4, with zone 5 set to 5 mins:
“http://192.168.xxx.xxx/Index.htm”, “pgmNum=4&doProgram=1&runNow=1&z1durHr=0&z1durMin=0&z2durHr=0&z2durMin=0&z3durHr=0&z3durMin=0&z4durHr=0&z4durMin=0&z5durHr=0&z5durMin=5&z6durHr=0&z6durMin=0&z7durHr=0&z7durMin=0&z8durHr=0&z8durMin=0&z9durHr=0&z9durMin=0&z10durHr=0&z10durMin=0”
I am assuming I can create a device and incorporate HTTP POSTS commands to schedule and retrieve statuses. Does anyone have a recommendation on the Device implementation that I should start with? i.e. will the above fit well with an EtherRain device code as a starting point?
Ever got this figured out? I just purchased an IC and would like to hook it up to Vera.
Sorry to bump the post but search has not been fruitful…
Has anyone figured out how to control irrigation caddy with Vera as of yet? I am about to buy an etherrain but Caddy looks much more flexible if there has been progress in its control.
Thanks!
I am interested in this too.
I have one too… any progress?
I’m interested in hearing what you would expect such a plugin would do. That is - why is the IC web page insufficient for you needs? How will integrating with Vera help?
I am also interested in having a Vera plugin for the Irrigation Caddy. I do not have one yet, but it would make the decision to get one (versus EtherRain) easier.
Integrating with Vera is useful for having access to and organizing different home control devices under one app (e.g., lights, security, irrigation etc…). I find this to be more convenient than searching for the correct app/widget among many on my tablet. I rather not have a different widget for each type of device I am controlling (at least the less the better).
Integrating with Vera would also allow more flexibility with event triggers.
I’d like this too. Honestly, just being able to turn the Master switch on/off, and also individual program switches On/Off would be useful to me.
IrrigationCaddy - good unit with a good web page that allows the unit to be set up easily.
I had a shot at making a plugin for the IrrigationCaddy. The result is not particularly good. It’s experimental and may not be worth pursuing. Refer to attached image but keep in mind it might not see light of day.
There are a few problems:
The company 's API documentation is not overly detailed but the API interaction can be decoded fairly easily in most cases. In some cases the API calls are a little disorganised. To make use of the better API features, you need to have this firmware version or better:
ICEthS1-1.3.223 - last Updated 10 Feb 2013 see: http://irrigationcaddy.com/Documentation.html
Lower firmware versions would not allow this experimental plugin to function. On updating the firmware: read the instructions very carefully and in particular how to properly reset the unit.
The API returns information as json, which is great but unfortunately Vera does not have a json parser (when will this happen?). This is perhaps OK if you only want to extract one or two variables - they could be extracted using Lua’s gmatch or similar. Doing any more, becomes a total hack very quickly.
To turn On/Off an individual sprinkler program - refer the on/off radio button on each sprinkler program IrrigationCaddy web page - turns out to be difficult. It “appears” you need to get all of the sprinkler program setup data. Then invert just the On/Off status and then write all the sprinkler program setup data back out to the IrrigationCaddy. This would require a json decoder to ease programming. It could be done without a parser but it’s a hack. Does anyone know of a better solution or an API call to do this more directly? Is such functionality even needed?
Likewise getting the current status really needs a json decoder to ease implementation.
A couple of minor oddities: A “Run Now” command will invoke the sequencer even if the system is off. The valves will be off but the zone timers still run - turning on the system reenables the valves. I would expect that system off would reset the sequencer to the start.
The IrrigationCaddy web page is pretty detailed and it perhaps makes little sense for a Vera plugin to implement any more than say the following?
-
System On/Off:
Turn OFF all the sprinkler progams - it’s raining / it’s winter.
Turn ON all the sprinkler progams - the garden is dry. -
Run a Zone sequence, as set up in sprinkler programs 1, 2 or 3. ie the functionality of the “Run Now” button on each Sprinkler Program. This would allow a Vera user to run the three different sequences determined by a Vera Schedule, via the plugin. However it seems more likely that using the autonomous schedules, that is those set up in IrrigationCaddy, would be far more reliable.
So I have come to the conclusion that 1) ie the on/off function is perhaps the only useful feature for Vera users?? You could turn the unit off, if the forecast is for rain. However IrrigationCaddy allows for a rain sensor.
Would like to hear other points of view!!
The biggest issue is the non-existence of the rain delay. At least with an on/off switch you can program something to go along with the weather functions on MCV to turn the system on and off. I would love that feature alone.
IrrigationCaddy plugin to try out:
Just tried it, but it doesn’t seem to be working. I set it up as instructed, and configured my IP, but it doesn’t seem to change the status of my Irrigation Caddy. It is running ICEthS1-1.3.234. I see that ICEthS1-1.3.251 is available. I’ll try and update to that and see what happens.
An Update. It will see the status of the Irrigation Caddy and set the status of the Device in Vera. If I click ON in Vera it will change the status of Irrigation Caddy from OFF to ON. But if I click OFF it won’t change the status of Irrigation Caddy from ON to OFF. Also Run Prog 1 does not seem to work.
Just upgraded to ICEthS1-1.3.251 The symptoms are the same.
[quote=“a-lurker, post:10, topic:169019”]IrrigationCaddy - good unit with a good web page that allows the unit to be set up easily.
The API returns information as json, which is great but unfortunately Vera does not have a json parser (when will this happen?). This is perhaps OK if you only want to extract one or two variables - they could be extracted using Lua’s gmatch or similar. Doing any more, becomes a total hack very quickly.[/quote]
I had the same problem with my Twine Interface returning the data as JSON. I figured out a way to break it down into something I could use. Take a look at my Twine Interface plugin that I just posted since it may help ([url=http://forum.micasaverde.com/index.php/topic,15617.0.html]http://forum.micasaverde.com/index.php/topic,15617.0.html[/url])
I guess there has been no more work on this? Seems like the basic plugin is just about there…
Yep - basic sums it up - here it is:
http://forum.micasaverde.com/index.php/topic,15324.0.html
It’s been downloaded a few times but I have no idea how it’s working out for people.
Yes, I did download and try it out. I think even this functionality would be useful, but the plugin only turned the IC on if it was in an off state. It would not turn it off or run any of the sequences.
IC does have a nice web interface and I like it as it is, but there is something nice about having everything linking to the same system…
Anyway, thanks for the reply.
Cheers!
PD
I know this is old, but I thought I’d post what worked for me. In order to get both ON and OFF to work, I had to use curl:
os.execute("curl -d ‘stop=off’ http://10.0.1.27/stopSprinklers.htm ") --Turn System OFF
os.execute("curl -d ‘run=run’ http://10.0.1.27/runSprinklers.htm ") --Turn System ON
The other methods listed on the forum would only turn it ON, but I could not get OFF to work.