Forum Replies Created
-
AuthorPosts
-
ShawnHarteParticipantSamer,
I have been experiencing this exact issue myself, I thought it was related to something I modified so I never thought to bring it up. But on the 4th day of written logs, the OS will without apparent cause fail to discover any logs on the system. All of the logs are still on the card, they just won’t be read, and new logs are not written until a power down reset of the OS. Soft reboot will not work. After that it will run fine. I have the same problem regardless of size or brand SD card.
I am on HW 2.1, with a fairly well modified ui version. Hopefully the extra information is relevant and helpful in chasing down the problem.
ShawnHarteParticipantSee Vlad, I knew Ray would be able to explain it a little better. The “DC offset,” can occur if you have 2 ground points at differing potentials or more basically ‘voltages.’ At any ground point in the system you can use a basic multimeter or voltmeter to measure across to another ground point and you should read 0 volts, if not this can ‘latch’ the triac and hold the valve open. Like Ray said, divide and conquer… isolate the issue, find a potential cause, fix it, then reintegrate the portion you isolated and test again.
ShawnHarteParticipantThank you for the consideration, this has been a personal project for me for quite a bit now, I finally decided I’d learned enough to move forward and put something into the wild. A few extra eyeballs on this project would be fantastic. A little sprucing up of the code should help make it something everyone could use.
I tell everyone I know about OS, and they all think it’s a pretty incredible product. Keep up the hard work and know that I, at the very least, appreciate your efforts and dedication.
If there is anything you require from me, I will do my best to help out, just please realize summer is incredibly busy for me in the landscaping and irrigation business.
ShawnHarteParticipantTry httpS I had a similar problem with mine. I cleared the cache for my browser and the used https and it worked. Beyond that I won’t be able to help much as I do not own an OSpi. A quick check of port settings may also be warranted. Does the OSpi, use a different port? Also make sure you are using port forwarding if trying to access OSpi from an external network. Something like using the mobile phone app without the phone being connected to the Wi-Fi can cause a similar issue if you haven’t configured port forwarding yet.
ShawnHarteParticipantThe reason I asked about the direction of the valve was concerning diaphragm valves. They will use water flow to help hold them open. In your case you are correct this is not the issue you are describing.
With a measured 24VAC output on your transformer you do not have any DC issue. If you did it would be very apparent in the output measurements.
The only thing I can think of at this point is that perhaps you are running into the power output limit of the OS. Though this should keep the valve from opening, not closing…
Next question would be why are you able to measure 24 VAC when the valve is supposed to be closed? This is probably best answered by Ray but I will look into the hardware for 2.3 to see if I can find something. Also check your common wire vs the ground of the power supply. It should measure 0V, if not you may have a grounding issue, but again this is unlikely as the cause.
ShawnHarteParticipantRay yes I use a rolling balance of precipitation, sprinkler and rain vs need. It’s not perfect but does work to prevent watering after a heavy rainfall. Since it pulls weather forecast information every hour and updates the running total accordingly, it even does well to prevent excess watering the day of or up to 3 days before a major rainfall event.
ShawnHarteParticipantThose valves can be operated as normally open or normally closed, do you have them set as normally closed? They are also 2way valves, have you tried reversing the valve? Some will operate properly in one direction but not the other, personal experience there, I do not have a good explanation as to why though, maybe Ray would know.
Toroidal transformers are not to fond of being fed DC, make sure you do not have a DC offset in your supply power, and no backfed DC to your secondary winding.
Also what is the full part number for the parts you have in your possession, valves and transformer, the numbers can be ‘decoded’ to see what you actually received. The reason I ask is because both sites use a generalized product listing for several products. For instance you could have a 24V*DC* transformer (on board bridge), or a 110VAC valve, either of which wouldn’t work, or would give weird outcomes, such as the one you are seeing being unable to close a valve.
ShawnHarteParticipantI don’t think you will be able to accomplish this using the current firmware…though you could try using something attached to the rain sensor and some clever scheduling to make something work.
I would recommend checking greenhouse suppliers for a thermostatic solenoid, they are often used to cool areas in a greenhouse as well as help with humidity. They are usually not too pricey and would serve their singular purpose well when the health and happiness of your chickens is concerned.Modifying the firmware could be accomplished without too much work but may be at the expense of other features if you would like to go the easiest/least complicated route. If you would like to add it as a feature perhaps using the current checking capabilities would be feasible. You could attach a thermister to one of the valve positions and run the mister zone based on certain parameters. Or use a digital thermometer of some sort with a pulsed output and read/interpret it through the sensor port. Personally I think a local sensor would be better than running based off of the weather, as the weather is only checked once per hour, though I suppose if you are modifying the firmware this could be changed as well. Just keep in mind the number of API calls you can make per hour and day is limited and could result in restrictions to the service if you exceed them too many times.
I do think it is a novel use of the system, I may try to add it to my forked version of the project. If I do make progress I can let you know, but unfortunately summer is a really busy work season for me.
ShawnHarteParticipantIf you see errors like that it means arduino is looking for a file and can not find it. In your case the wire library is not being found. You can check to see if it is in your libraries directory, if not download it as well. If it is you can try copying it to the same directory as mainArduino.
After you correct that error you may see other errors of the same type. Just keep working on getting the right libraries in the right location and it will compile correctly. I had the same issue you are having and it was simply a matter of downloading Wire.
By the way always start at the top with error messages, typically the errors after that are directly related to the first error. If you want to dig into the issue, open the file in the first line DS…(whatever it is) and go to line 28 (first number after the colon) and look for where it is looking for the file in question.
ShawnHarteParticipantYou could go to controller options and select the next value up for number of stations. Create a new station and set it to RF, then add it to your program using the master or pump station. When OS turns on the dummy RF station the master will come on. As far as i know OS has no way to know if it is successfully communicating with an RF station so it should just “send” signals off into oblivion whether or not the station exists.
Of course all that is only possible if you have not actually used all 48 available station slots. The only reason I post this when you specifically stated you have no free slots is because most assume you can only use the number of stations matching the physical number of slots. If you have indeed used all 48, then there is no way to schedule the master on it’s own, without setting it to a normal concurrent station and overlapping its run times with your individual station run times.
I hope this helps
ShawnHarteParticipantT
he repeat every 5 days might be tricky, but other than that everything you want to do is possible.To clarify do you want valve 1 to run Monday, then Saturday, then Thursday? Or run valve 1 every Monday, as in 5 days after valve 3 completes on Wednesday?Option 2 would be easy to accomplish, option one a bit more difficult. I just picked random days of the week for the program to run, if you want different days it wouldn’t change anything.Totally forgot about interval programs, sorry david was right just set 2 back to back run times and you’re set. Sorry if I mislead you at all.
ShawnHarteParticipantI just downloaded arduino 1.0.6, pulled everything from github, added the sdfat library, opened mainArduino in arduino, and hit compile. If you use a usbAsp cable, you can upload it using that straight from arduino.
If you want to use the updater and a USB cable, not sure if it works on 2.3HW it doesn’t on 2.1, you can find the temporary hex file it creates and move it to the correct location, and update away. If you are having trouble finding the hex file, turn on verbose mode for “verify” and one of the last lines will have the file name and location.
ShawnHarteParticipantIce protection would be easy enough to implement using the current rain delay. It would be fair to assume no one would set a 255 hour delay so have the weather script send a delay of 255 if current temp is less than 33f or predicted to be less than 40. Then have the controller turn off all programs until the rain delay goes back to something less than 255. On the controller it would be easy enough to log a 255 hour delay as frost protection.
Properly set up sprinklers should drain enough water to prevent frozen pipe breakage, for short duration freezing. Owners should be shutting their system down before major freeze events in winter. On a side note grass should not be watered in temps less than 45 F anyway, it prevents the grass from properly going into dormancy, and wastes water.
ShawnHarteParticipantHonestly insight3fl this could probably be accomplished simply by using a rolling average of the water level. If you have rain for 2 days with 0% totals and then followed it with a third day of 100, you would have a final average of 33%, meaning a result much closer to what you’d need.
It wouldn’t be perfect but would add very little code to the firmware, and would require 0 extra calls to WU. It’s very similar to what I did with my ET fork of the project which uses a water balance. It just uses whatever yesterday was averaged with today’s calculation. Essentially weighting new data based on recent history. It will water less until enough days have passed without rain.
June 5, 2016 at 11:33 pm in reply to: Penmen-Monteith ETo method python script for possible use as weather script #42832
ShawnHarteParticipant@Martin – If you compile the firmware and load it, as long as you have no need for the “CA restriction,” the ui works well enough to get up and running at ui.veuphoria.com
A few quirks are still present, but are pretty simple to work with. Just make sure Use ET is checked on any program you wish to use weather adjustments with. ET is the only weather algorithm, working on my site. You should enable logging, as currently it is the only way to see your current ET.
Everything is of course use with the knowledge this is not a completely tested solution, and may have problems. If you decide to stop using it just flash back to 2.1.6.
Hope this helps, and please be aware I don’t have a ton of free time to support any of this, so answers to questions may be really slow. I also disappear from the internet at odd times, without warning, sometimes for months.
June 5, 2016 at 8:42 am in reply to: Penmen-Monteith ETo method python script for possible use as weather script #42821
ShawnHarteParticipantYou are correct, if the balance is over the minimum it will water, if over the maximum divide watering over the available time slots until all are maxed.
So you will only have watering times if the adjusted ET (aET) is over the minRunmm.June 4, 2016 at 1:23 pm in reply to: Penmen-Monteith ETo method python script for possible use as weather script #42803
ShawnHarteParticipantOkay I found out what the heck I was doing. I wrote everything after watering season here in Colorado, so I had it disable the starttimes but create the logs as though it ran to make sure it was working. If all the start times are turned off it would be easy enough to check for and clear the log, or use the logs from the controller.
I can edit it if you need, but it seems like you have a solid grasp of how to do it as well, so just let me know.
ShawnHarteParticipantZone / station mapping is entirely dependent upon how you wired the valves. You could wire them in any order you’d like, run them manually to see which station starts and name accordingly if you don’t care about the order in which they run. If order matters run them all manually and switch the wiring around, then name them according to the order you put them in.
There is no ‘rule’ for wiring valves other than the common wire, which is why google won’t help you. No one else will know what ‘you want.’
If you have a master station find that wire and put it anywhere you want then set it as a master station. After that follow the procedure above.
June 2, 2016 at 10:29 pm in reply to: Penmen-Monteith ETo method python script for possible use as weather script #42778
ShawnHarteParticipantWhen I wrote the script I had no direct interaction with anything on the controller, other than sending the program update to it. To stop for rain, high wind, or freezing it would set all the starttime values to -1. This would effectively say “we need to run ‘x’ amount, but not now because of precip, wind or temp.” I would occasionally run into a situation where the ET would be just less than required to run the program when forecast precip was factored in, and cause the exact scenario you are seeing. In the long run it won’t cause any problems simply because it would subtract a small fraction of a mm from the result of the mmfromlogs, typically resulting in about a second or less difference in run times, which is lost by the granularity of the OS anyway.
I ran for a full season and saw about 3 seconds of water time lost, due to what I assume are rounding issues in python. To be honest though I’m not sure why it is writing anything to the logs if it is less than the minRunmm value…unless maybe you have it set to 0 which I never tested.
I’ll attach the most recent version I have of that script, I’m not sure if you are using the same one, maybe I changed something without making notes to myself. You’ll need to edit the lines with “YOUR” in them to get it working, or I suppose a simple comparison should work.
I’m also getting the code cleaned up and doing a bit of testing on the modified firmware which means I should have a replacement for this workaround in easy to use form soon.
Attachments:
ShawnHarteParticipantYour best bet is going to be to use a calculator such as http://www.calculator.net/voltage-drop-calculator.html
If you have a second pair of conductors you could pair them up to each valve on the DC unit. This will help with the DC drop, acting like power injection.
May 31, 2016 at 8:48 am in reply to: Penmen-Monteith ETo method python script for possible use as weather script #42714
ShawnHarteParticipantUnfortunately, the UI baffles me, I’m working on it but it will take me a bit of time to work out what to change, and how to make everything stable with the controller. By now I figure more people have different hardware than I have so testing is a bit rough for me as I do not have the means to test anything other than 2.1.
I also need to work out some minor changes to the firmware. For instance plant height needs to be a station attribute, not part of the program. Right now it doesn’t matter but it isn’t the right way to do it.May 27, 2016 at 10:44 am in reply to: Penmen-Monteith ETo method python script for possible use as weather script #42646
ShawnHarteParticipantSo I finally made a fork to the main project and have been running it for a few days with no issues. I’m sure there are better ways to accomplish everything but it works.
https://github.com/ShawnHarte/OpenSprinkler-ET
The UI has not been updated at all so it can really only be used for displaying status. To get everything working do the following:
1) compile and upload the firmware (I used arduino 1.0.6 and usbASP on OS HW 2.1)
2) Change password, set your timezone and location, enter WU API key, and name your zones, using the UI.
3) Enter a program using the api (there are some changes here so I’ll provide an example)
3a) OS-IP/cp?pw=MD5Password&pid=-1&v=[195,127,0,[20540,16444,12318,8252],[dur1,dur2,…],[planttype1,planttype2,planttype3,1,0…],[etmin,etmax]]&name=Weather1mm (OS-IP use the ip address, pid -1 adds new program, 195 uses weather and et, 127 is everyday, starttimes are based on sunrise/set,dur is duration to 1mm of precip from sprinkler, planttype 0=grass or < 4″ tall 1=shrubs or > 4″ tall, etmin/max are min and max et to water in one run * 10 eg 50,150 will water 5 to 15 mm in one run if less than 5 it won’t water, the name can be anything)4) Reboot the controller while holding B3 and cycle through options until you reach “Weather Algo.” and set it to 3. Hold B3 until OS resets.
5) Enjoy happy plants and grass, with a lower water bill.Things to remember:
You must have an SD card installed, and this requires a good internet connection. If the connection fails the controller will not water.
If you change the weather algorithm used it will reset your ET based water balance. I haven’t found a good way to do this yet.
This requires a WU key, I do not have any other weather algorithms on my server, so if you want to use Zimmerman or auto rain delay you need to change it back to os.com.I know there are much better ways to do this but since it seems the idea died before it got off the ground I decided to get some sort of working implementation out in the wild. If you have suggestions, comments or issues let me know on github. The developers here will probably not be huge fans of dealing with this project. The majority of the work is not mine, so please respect the original authors works.
ShawnHarteParticipantIn response to Ray’s comment your pump at 5watts and 12VDC will be using about half an Amp not the 83mA stated.
P(Watts) = I(Amps) x V(voltage)
So to calculate for I we have:
I = P/V
or in your case Amps = 5Watts/12VDCYour amperage would be about 0.41
May 20, 2016 at 2:35 pm in reply to: Penmen-Monteith ETo method python script for possible use as weather script #42559
ShawnHarteParticipantI had actually considered averaging the cloud cover by hour, and after a lot of different iterations I found grabbing any of them individually would result in a net change less than the rounding error. I would say either first or last is fine. Nice job porting it over to perl, I really need to sit down and learn it. I chose python because it is great for the “just make it work” brute force style programming. Perl had a few more rules to remember :p
May 17, 2016 at 11:52 am in reply to: Penmen-Monteith ETo method python script for possible use as weather script #42498
ShawnHarteParticipantMy hope is to fork the current firmware soon so it is more user friendly to edit.
-
AuthorPosts