OpenSprinkler Forums Hardware Questions OpenSprinkler Pi (OSPi) sprinklers_pi – An alternative sprinkler control program

  • This topic has 191 replies, 62 voices, and was last updated 6 years ago by jay.
Viewing 25 posts - 101 through 125 (of 192 total)
  • Author
    Posts
  • #25024

    LeighGr
    Participant

    Thanks 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.

    #25025

    LeighGr
    Participant

    😳 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.

    #25026

    kenb
    Participant

    @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?

    #25027

    Zodiac69
    Participant

    Brilliant, 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.

    #25028

    MLomax
    Member

    Just 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

    #25029

    MLomax
    Member

    Seems 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

    #25030

    rszimm
    Participant

    Mike, 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.

    #25031

    rszimm
    Participant

    @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…

    #25032

    eddiek2000
    Member

    @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.

    #25033

    rszimm
    Participant

    @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!!

    #25034

    Zodiac69
    Participant

    Is it possible to include the current wind speed and “inhibit” the schedules if the wind speed is above value “X”?

    #25035

    LeighGr
    Participant

    @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.

    #25036

    Zodiac69
    Participant

    Hi 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.

    #25037

    kenb
    Participant

    @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.

    #25038

    Splinters
    Participant

    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?

    #25039

    munga42
    Member

    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

    Regards

    #25040

    rszimm
    Participant

    @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”.

    #25041

    rszimm
    Participant

    @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.

    #25042

    mstormo
    Member

    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!

    #25043

    Dexter1
    Member

    Good 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
    Dexter1

    #25044

    rszimm
    Participant

    Dexter, 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.

    #25045

    rszimm
    Participant

    @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.

    #25046

    Splinters
    Participant

    @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”.

    #25047

    rszimm
    Participant

    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

    #25048

    Splinters
    Participant

    @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!

Viewing 25 posts - 101 through 125 (of 192 total)
  • You must be logged in to reply to this topic.

OpenSprinkler Forums Hardware Questions OpenSprinkler Pi (OSPi) sprinklers_pi – An alternative sprinkler control program