OpenSprinkler › Forums › Hardware Questions › OpenSprinkler Pi (OSPi) › sprinklers_pi – An alternative sprinkler control program
Tagged: _pi, OSBo sprinklers
- This topic has 191 replies, 62 voices, and was last updated 9 years, 2 months ago by jay.
-
AuthorPosts
-
November 1, 2013 at 4:04 pm #25024
LeighGrParticipantThanks guys for some fantastic software for equally fantastic hardware. I’ve got the software running in demo mode on my Raspberry Pi.
The WUnderground integration works very well, though it took me several hours to figure out how to change the WUnderground diagnostics page to display metric values as opposed to the default imperial one. I thought I had it all sorted until I used my phone this morning to check the page, to discover we had 17″ of rain yesterday – should be 17mm. I also still need to sit down and do the maths to see how my changes have affected the Weather::GetScale function. We’ve had three days of rain, and the “Overall Scale” has been 0% from before I started fiddling.
Ideally there should be slide on the setting page to select either imperial or metric units. With my coding skills, it will take me a couple of months to figure it out, though I don’t know what all I’ll break in the process.
I have a few friends coming around tomorrow,and I’ll show them this demo, as two of them have recently installed irrigation systems at their homes. If they are interested, I’ll be able to place an order for four OSPi units (1 for each and a spare) and at least two expansion modules early next week.
Leigh.
November 1, 2013 at 7:04 pm #25025
LeighGrParticipant😳 Found the problem with my phone. After going through the code and not finding a single ‘°F” anywhere, I forced the browser on the phone to refresh, and now it loads properly.
Leigh.
November 14, 2013 at 3:36 pm #25026
kenbParticipant@rszimm wrote:
Great ideas! Pretty busy today but I’ll dig into this tomorrow.
Oh, and yes, the first output of the board is reserved for the “pump” or “master valve” output. That’s why there are only 7 zones.
Just started to play with this package on my setup. I have 8 zones and no need for pump so wondering how difficult it is to modify to support 8 zones with the main board. Seems silly for me to need to buy an expansion. 😀
I haven’t opened the source up to see how things work.
EDIT:
So now I have opened the source up. Looks like the zone control and pump control is in a couple functions: pumpControl(), TurnOnZone() and isZoneOn()Looks like if there was a flag for “Use Pump/Master” then these 3 functions could be modified to allow for the first pin to be used as a Zone vs. used as pump. Are there other assumptions in the code in other places that might also need a change?
November 16, 2013 at 11:20 am #25027
Zodiac69ParticipantBrilliant, Thank you.
My plan is to add a DS1307 on the I2C so if there is no internet connectivity after a re-boot, the PI can still get the time from the RTC and the schedule will still work as normal.
Power is NOT that good and reliable down there in South Africa.
Then only thing i would like to see is to add I2C support for MCP2317. I would prefer to use the I2C I/O instead of the direct R-PI I/O.November 16, 2013 at 8:17 pm #25028
MLomaxMemberJust configuring sprinklers_pi for the first time. While I did find information about configuring the “Settings” section, I did not find anything for the Schedules. Seems fairly simple so that is likely why. However I did run into a problem with Schedules that I wanted to report.
When I try to create an 11th Schedule, it allows me to start the process but presents an error when I Save it. The error popup reads “The page at
: reports error” Until I click the error, I cannot do anything in any of my Chrome windows. I also tried this in IE with a similar result of a popup window that just said “error”. My guess is that there is a limit of 10 Schedules which is fine. I was trying to create one schedule for each plant type for each season or 16 schedules. I can just alter that plan.
May I suggest a couple of things. First if there was a note somewhere on the Schedules webpage that notified you of the limit that would be helpful. Second if the Add button became unselectable and gray after you have 10 schedules created, it would save you from configuring the 11th schedule and then finding out when you save that 11th schedule that there was an error.
Great program… Just a bit of constructive criticism…
Mike
November 20, 2013 at 1:26 am #25029
MLomaxMemberSeems I was the last one to reply on this topic but now I have a new question.
With the Interval program using the Mobile App it appears that you are able to secure the software. This is great if you want to be able to access the software remotely. However I don’t see a way to secure the sprinklers_pi interface. Am I missing something?
If not, are there plans to add this?
THANKS
Mike
November 20, 2013 at 9:22 pm #25030
rszimmParticipantMike, your supposition as to the reason you couldn’t add a 10th schedule are correct. I agree that there should be a more intuitive error message and I’ll put that as a TODO. Ultimately I’d like to get away from the opaque binary settings file (which is there to provide compatibility to the Arduino/AVR version of the software) so that we can have more than 10 schedules.
As for your security settings, I have toyed with the idea of putting Basic HTTP authentication into the system. It wouldn’t be too terribly difficult. However, I would be a bit concerned about putting this up somewhere public facing. Better to secure access via a VPN.
November 20, 2013 at 9:37 pm #25031
rszimmParticipant@kenb wrote:
Just started to play with this package on my setup. I have 8 zones and no need for pump so wondering how difficult it is to modify to support 8 zones with the main board. Seems silly for me to need to buy an expansion. 😀
Ken, if you really want to get into the code, and you’re using the OpenSprinklersPi hardware, I think you only need look at core.cpp line 119 and maybe line 122. I believe that if you change the 16 to a 15 in line 119, you’ll have full 8 zones without the pump. I don’t have the hardware in front of me right now so I can’t try it out, but if you’re daring, give it a shot and let us know the results.
Keep in mind that if you make hard changes like this to the software, you’ll have to re-make them every time a new release is created. I will put this on the TODO list because a number of people have asked and it seems that the master/pump feature isn’t particularly widely used…
November 20, 2013 at 10:33 pm #25032
eddiek2000Member@kenb wrote:
@rszimm wrote:
Great ideas! Pretty busy today but I’ll dig into this tomorrow.
Oh, and yes, the first output of the board is reserved for the “pump” or “master valve” output. That’s why there are only 7 zones.
Just started to play with this package on my setup. I have 8 zones and no need for pump so wondering how difficult it is to modify to support 8 zones with the main board. Seems silly for me to need to buy an expansion. 😀
I haven’t opened the source up to see how things work.
EDIT:
So now I have opened the source up. Looks like the zone control and pump control is in a couple functions: pumpControl(), TurnOnZone() and isZoneOn()Looks like if there was a flag for “Use Pump/Master” then these 3 functions could be modified to allow for the first pin to be used as a Zone vs. used as pump. Are there other assumptions in the code in other places that might also need a change?
I have been thinking about your problem and I think the easy answer is to fool the system. Tell it you have 8 zones. Turn off the master zone for all but the last Zone. Use the master zone as your eighth zone.
November 20, 2013 at 11:17 pm #25033
rszimmParticipant@eddiek2000 wrote:
I have been thinking about your problem and I think the easy answer is to fool the system. Tell it you have 8 zones. Turn off the master zone for all but the last Zone. Use the master zone as your eighth zone.
Brilliant! No code changes and you get a full 8 zones!!
November 27, 2013 at 5:10 pm #25034
Zodiac69ParticipantIs it possible to include the current wind speed and “inhibit” the schedules if the wind speed is above value “X”?
November 29, 2013 at 12:41 pm #25035
LeighGrParticipant@Zodiac69 wrote:
Is it possible to include the current wind speed and “inhibit” the schedules if the wind speed is above value “X”?
I’m still trying to figure out what part of the country you are in. If the part with golf ball sized hail stones, I wonder how many personal weather stations survived yesterdays storm up in Gauteng?
Back to your topic, I’ve been thinking on the same lines as while most early mornings in Durbanville have almost no wind, we do have the odd day where the wind blows enough that I don’t want the sprinklers on, as the wind blows the water against the house, and due to the high Iron content, stains the walls.
I’ve got as far as mangling the code on my Pi to pull the metric values from WUnderground, and have added the current wind speed, but I can’t get the wind reading to display. Inhibiting the schedule is probably the best choice, as the wind only gets stronger during the day.
December 1, 2013 at 5:54 pm #25036
Zodiac69ParticipantHi LeighGr
I am in Duynefontein, next to Melkbosstrand.
As you know this side of the West Coast there is only sand and it does not retain water very well and to top it all the hot summer winds will dry anything to a crisp.December 9, 2013 at 3:24 pm #25037
kenbParticipant@rszimm wrote:
Ken, if you really want to get into the code, and you’re using the OpenSprinklersPi hardware, I think you only need look at core.cpp line 119 and maybe line 122. I believe that if you change the 16 to a 15 in line 119, you’ll have full 8 zones without the pump. I don’t have the hardware in front of me right now so I can’t try it out, but if you’re daring, give it a shot and let us know the results.
Keep in mind that if you make hard changes like this to the software, you’ll have to re-make them every time a new release is created. I will put this on the TODO list because a number of people have asked and it seems that the master/pump feature isn’t particularly widely used…
Understood that any changes I make would need to be redone if I pick up a new version of the code.
Be great to see this make it into baseline support! I haven’t had a chance to play with this yet, so much other stuff going on so I’ve temporarily flipped back to using the “Interval Program”. Until the code is changed, when I get a chance I’m going to try the stellar suggestion from Eddiek2000.
January 2, 2014 at 1:31 pm #25038
SplintersParticipantHi Rich,
Thanks for taking the time to produce such an excellent control interface for OpensprinklerPi.
I’ve been looking at the way you adjust the schedule using WUnderground and have this question. How does the program adjust for today’s rainfall given that the API calls refer only to yesterday’s conditions?January 3, 2014 at 2:56 pm #25039
munga42MemberLooking gd! At the moment I have a float switch in my tank to cut out the pump and restart when tank is full, also a pressure switch on the pump outlet, would this software be able to include these is some way?? I wish to add more zones and I have a pi so this could be a project that I would like to incorporate into my system
Regards
January 8, 2014 at 1:40 am #25040
rszimmParticipant@Splinters wrote:
Hi Rich,
Thanks for taking the time to produce such an excellent control interface for OpensprinklerPi.
I’ve been looking at the way you adjust the schedule using WUnderground and have this question. How does the program adjust for today’s rainfall given that the API calls refer only to yesterday’s conditions?Yes, it looks at today’s rainfall as well. If you look at the WUnderground Check screen (under the Advanced menu), you should see “Precip Today”.
January 8, 2014 at 1:43 am #25041
rszimmParticipant@munga42 wrote:
Looking gd! At the moment I have a float switch in my tank to cut out the pump and restart when tank is full, also a pressure switch on the pump outlet, would this software be able to include these is some way?? I wish to add more zones and I have a pi so this could be a project that I would like to incorporate into my system
Munga, This seems like it would be pretty special purpose and wouldn’t be a feature that a lot of people would use. Keep in mind that you have the full source for the system, so you can do what you want with it. I would probably define a new class with your code in it, make use of the wiringpi libraries to get the state of inputs, and tie into the main control loop in the core.cpp file.
January 15, 2014 at 2:51 am #25042
mstormoMemberRichard,
Awesome software! I just replaced the “dumb” box (a Hunter X-Core, 8-zone) with sprinklers_pi, and it feels liberating!
A couple of questions:
- 1. How do you cancel a Quick Schedule? Rest System on the Advanced page? 😆
- 2. How about showing how long a manual zone has been running on the main page? Right now it just says –:–
- 3. How about taking “tomorrow’s” weather into account as well? I’d hate for it to run a full soak on my lawn when there’s 80% of a Thunderstorm the next day. (I live in Houston Texas, it pours here!)
Again, thank you for your efforts!
January 20, 2014 at 4:37 am #25043
Dexter1MemberGood afternoon Richard.
What an excellent application you have created for the Open Sprinkler PI platform. I have just created a login page for your applicaiton prior to going to the main web page to make it more secure. I require your help in helping to locate the main configuration file for the web server hosting your application. I have been trying hours on end to find it so that the default file it points to is login.php. Currently I converted all the files into .php format, but have noticed your web server is running .html format.
Which configuration file will I need to modify on the web server software to point to the new file I created login.php. Where is it located and in which directory. Your help will be appreciated.
Regards
Dexter1January 20, 2014 at 5:47 pm #25044
rszimmParticipantDexter, the web server is built into the application logic. It’s a very simple web server capable of serving up simple static html web pages, along with dynamic json files for retrieving and storing settings. It will not execute php scripts.
January 20, 2014 at 5:51 pm #25045
rszimmParticipant@mstormo wrote:
Richard,
Awesome software! I just replaced the “dumb” box (a Hunter X-Core, 8-zone) with sprinklers_pi, and it feels liberating!
A couple of questions:
- 1. How do you cancel a Quick Schedule? Rest System on the Advanced page? 😆
- 2. How about showing how long a manual zone has been running on the main page? Right now it just says –:–
- 3. How about taking “tomorrow’s” weather into account as well? I’d hate for it to run a full soak on my lawn when there’s 80% of a Thunderstorm the next day. (I live in Houston Texas, it pours here!)
Again, thank you for your efforts!
1. An easy way would be to cycle the Run Schedules button on the main page.
2. That’s a good idea. On the TODO list.
3. So many people have such wonderful ideas for how to handle the weather. It seems that I should probably make the weather system more easily pluggable module so that people can do what they want. Also on the TODO list.January 21, 2014 at 9:10 pm #25046
SplintersParticipant@rszimm wrote:
@Splinters wrote:
Hi Rich,
Thanks for taking the time to produce such an excellent control interface for OpensprinklerPi.
I’ve been looking at the way you adjust the schedule using WUnderground and have this question. How does the program adjust for today’s rainfall given that the API calls refer only to yesterday’s conditions?Yes, it looks at today’s rainfall as well. If you look at the WUnderground Check screen (under the Advanced menu), you should see “Precip Today”.
I can see that, but the only references to the WUnderground api calls I can find are retrieving values for “yesterday”:
if (usePws)
snprintf(getstring, sizeof(getstring), "GET /api/%s/yesterday/conditions/q/pws:%s.json HTTP/1.0nn", key, pws);
else
snprintf(getstring, sizeof(getstring), "GET /api/%s/yesterday/conditions/q/%ld.json HTTP/1.0nn", key, (long) zip);
Am I missing something? I’ve never seen anything but a zero value for “Precip Today”.
January 21, 2014 at 10:31 pm #25047
rszimmParticipantThe API allows you to combine two different “pages” of information into a single call. The “yesterday” in the URL gives me data for what happened yesterday. The “conditions” in the URL gives me data for current conditions. Put them both in the URL and you’ll get everything in one API call. Here’s a link to the API documentation: http://api.wunderground.com/weather/api/d/docs
January 21, 2014 at 11:51 pm #25048
SplintersParticipant@rszimm wrote:
The API allows you to combine two different “pages” of information into a single call. The “yesterday” in the URL gives me data for what happened yesterday. The “conditions” in the URL gives me data for current conditions. Put them both in the URL and you’ll get everything in one API call. Here’s a link to the API documentation: http://api.wunderground.com/weather/api/d/docs
Ah, thanks Rich – I’ve learned something.
I guess it’s never rained on the same day I’ve run the diagnostic check 🙂I’ve just received and installed the OpenSprinkler Pi board and it all works great! Thanks for a brilliant web interface!
-
AuthorPosts
- You must be logged in to reply to this topic.
OpenSprinkler › Forums › Hardware Questions › OpenSprinkler Pi (OSPi) › sprinklers_pi – An alternative sprinkler control program