December 24, 2018 at 7:24 pm #53569
I’m in Queanbeyan. Unfortunately the current data feed to the Zimmerman algorithm appears to reset each midnight and is calculated instantaneously before each watering. So the average of min & max is only since midnight rather than the day before, so if you water after midnight it’s all wrong.
What would solve the problem over here is to get the BOM to publish a percent watering data feed for each weather site, they already have the data, which all automatic sprinkler users could use. I think it would save a lot of water. I have some BOM contacts and will see what I can do. There is a similar feed in Southern California.
Happy to invite you here to see my whole setup if you like.
IanDecember 24, 2018 at 8:19 pm #53570
Also the recent firmware update fixed my missing watering log problem, they now come up straight away including the timeline view.December 25, 2018 at 5:39 am #53572
thanks for the reply. Thanks for the kind offer, happy to come over at some stage when I am around. And also thanks a lot for the explanation on the Zimmerman. so it does not make sense to water in the morning using it with the current setting. I think even the current table of bom with Eto would be a great improvement. I am just struggling how to “intercept” the water level request. I try to find the bit in the code where it updates the watering % just before it runs the program. My idea is to have a cron job running that download the bom table once a day (or every hour) and then use it to calculate the %watering. As I said I still have not found a good way to intercept/replace the watering calculation. Must be somewhere in the main loop. There is a getweather function, but still not to sure how to realign it to another script.
PS. YOu mentioned earlier that you use the Zimmerman algorithm. Can you let me know your setting, meaning when do you water and what are your humidity, temp and rainfall setting and sensitivities.
BerndDecember 25, 2018 at 7:42 am #53574
Okay I think I have an idea how to do that.
First I needed to understand how the %watering actually works. The Zimmerman is simply changing in the end in a sophisticated way the value and does this just before the start of a water event. Regardless the switch: use weather adjustment means that a program takes the %watering into account. So if the %watering is changed manually (but not by a weather adjustment method) the watering times are still adjusted if the value is not 100%.
Hence it is quite simple. Run a cron job that monitors evapotranspiration and changes the %watering via an api call.
e.g. http://ipadress:8080/co?pw=mypassword&o23=77 (sets the value to 77%).
So I think what should work beautifully is the following:
Set the sprinkling system to a regular schedule that waters you garden with say (just an example)
10mm of water every 5 days which refills it to 100%
Everyday, check the evapotranspration up to the last sprinkling event and if it is above 10 mm then water back to the 10 mm level.
If during the 5 days the sum of evaporation was below 10mm we again fill up to 10mm. (only what is really needed)
If levels are getting low but forecast has a high chance of rain in the next 24 hours we wait.
Best would be here to have a rain sensor to check if it has rained.
Finally if it rains we “reset” the schedule and start to count the 5 days again (amount of rain needs to be above 10 mm, if this is the reference).
So we simply need a script in say python that grabs all the bom data and changes the water levels/times according to those rules.
A minor difficulty is that there seems to be a lag from the BOM data (the evapotranspiration for the day before is not available before 3 pm afternoon the following day). So there needs to be some buffer in the fill ups to cover that half day.
One more (maybe stupid) question
When is the best time to water (early morning or later in the evening)
I thought in the morning just after sunset, but not sure where I read that.
CheersDecember 25, 2018 at 7:04 pm #53576
Yes Bernd, thats a good interim approach.
But you’d need to test if the cron job get to the controller.
Currently the firmware update API call doesn’t work from a PC connected via ethernet to your WIFI router, so you’d need a separate PC, turned on all the time, connected to your WIFI router by WIFI, to send the call.
For other lurkers, here are a collection of relevant links I found helpful.
Where Ray suggests resetting the Weather Adjustment percent directly.
API documentation, choose your version
You can find version firmware you’re running on your controller webpage, main menu > about down the bottom e.g. ‘Firmware: 2.8.#’
You have to ‘hash’ your controller password, you did change it from opendoor?, otherwise the local kids will be hacking your front lawn sprinkler to hose the postman.
Zimmerman algorithm equation
I’m assuming the algorithm adapts for regions that use celsius, if not, the temperature and rain change parameters needs to be -8% and temp 7.4%, this would be in the code.
Example of the Meteorology Bureau computed weather percentage; WaterWise Santa Barbara, adjusts every week, which I reckon would be fine for most domestic applications.
It would need to be scraped from the site or provided as an API by the relevant bureau.
This would be trivial for the Aust. BOM to provide in their agricultural bulletins.
You must be logged in to reply to this topic.