OpenSprinkler Forums OpenSprinkler Unified Firmware Trouble with Zimmerman Method

Tagged: 

  • This topic has 103 replies, 22 voices, and was last updated 5 years ago by Ray.
Viewing 25 posts - 1 through 25 (of 104 total)
  • Author
    Posts
  • #36062

    dankeen
    Participant

    I seem to be having trouble with the Zimmerman method on my OS. I updated to 2.1.3 at the same time as I noticed this… so not sure how long it’s been going on.

    The wunderground diagnostics section says:

    • Min Humidity: 20
    • Max Humidity: 63
    • Mean Temp: 64.3
    • Precip Yesterday: 0.00″
    • Precip Today: 0.00″
    • Method: Zimmerman
    • Current %: 100

    100 is wrong though 🙁 Popping it through the formula, I get 65.7%

    Location is set to “pws:KCASANJO63″

    Anything I can do to help diagnose what’s going wrong? To be clear, this has worked in the past for me.

    #36067

    Ray
    Keymaster

    The most likely reason I can think of is the controller is not getting weather data correctly (the weather data you see in the app are data directly from WUnderground website, and do not necessarily represent what the controller receives). Are you setting OpenSprinkler to use static IP? If so, please make sure you also set the correct router (i.e. gateway) IP, otherwise the controller cannot receive data from weather website. We strongly recommend keep OpenSprinkler in DHCP mode, and use the router’s DHCP reservation feature to set a fixed IP to OpenSprinkler.

    #36086

    vinny
    Participant

    I am having the exact same issue as dankeen (hey dan) above.

     

    I have the sprinkler set to DHCP and it seems to be working fine. it has a static address configured on the router.

    This was working last week as far as i can tell, it has recently stopped working. Nothing has changed on my end, the router and the open sprinkler are configured exactly as they were.

    #36089

    Samer
    Keymaster

    I can confirm there is an issue resolving the data on our end. Even though Weather Underground is returning the correct data, the script which OpenSprinkler uses to calculate watering level is not parsing the data correctly, it appears.

    I am still investigating and once a solution is released I will post here to update.

    Thank you

    #36090

    Samer
    Keymaster

    Okay, I believe this has been fixed. Please check your OpenSprinkler and see if the correct water level is being shown now.

    Some detail: The script was resolving the weather station latitude and longitude to calculate sunrise / sunset times however later in the script the location gets swapped from whatever is provided to the latitude and longitude. This was done before PWS and ICAO locations were supported to allow a uniform query. Of course, this isn’t ideal when using a specific weather station and is also what caused the issue you are both seeing. I have since updated the script (code here: https://github.com/opensprinkler/weather-adjustment) to check if a PWS or ICAO is being used before just changing to latitude and longitude.

    Thanks!

    #36101

    vinny
    Participant

    Thanks, its working now. Its now saying 31% so it seems good now.

     

    #36143

    dankeen
    Participant

    Yep, seems to be working great. Thanks for the quick resolution, and loving the new web UI.

    #36179

    Tom
    Participant

    Hi,

    I’m new here so sorry if the question is a repeat. I see the Zimmerman algorithm needed a fix which was recently added. Can you tell me which firmware requires the fix? Right now I’m running OS with 2.1.2 firmware.

    So my main questions are:

    1. Is the algorithm correct with 2.1.2?

    2. If I upgrade to 2.1.3, will I need to patch the algorithm (appears so from above thread)?

    thanks.

    tom

    #36185

    Samer
    Keymaster

    Hi,

    The fix does not depend on the firmware version and all versions have received this fix (no need to reflash).

    So answering your questions:

    1) Yes it is correct with 2.1.2.

    2) If you upgrade to 2.1.3, everything will work without any patching needed.

    Thanks.

    #36189

    Tom
    Participant

    Great. Thanks.

    #36202

    Tom
    Participant

    Hi again,

    It appears I too am experiencing problems with the Zimmerman method calculation. Here is what my weather diagnostics say:

    • Min Humidity    50%

    • Max Humidity    90%

    • Mean Temp    61.9

    • Precip yesterday 0.13″

    • Precip today        0.02″

    • Current % Watering  14%

    –> However, if I plug these values into the equation I get -102.4 which means the value should be clamped at zero, right? Further, the % watering has not changed in several days even though previously we received no rain and the calculation yielded significantly higher numbers (like around 30).

    It appears no matter what, the number is stuck at 14%. Any ideas?

    Thanks.

    Tom

    #36206

    Sean
    Participant

    Tom,

    Could you point me to the Zimmerman formula?

    Thanks!

    Sean

    #36207

    Tom
    Participant

    Screen shot from the OpenSprinkler manual.

    Tom

    #36209

    Samer
    Keymaster

    The most likely culprit is the controller not successfully retrieving data from the weather service. To quickly test if the controller is having an issue, try a different location and see if the value updates within a few seconds.

    Also, the end point the controller is reaching out to is: http://weather.opensprinkler.com/weather1.py (1 means Zimmerman method to the controller). It takes the location in as ‘loc’ and the API key as ‘key’, as GET parameters. For more information on the code you can refer to Github: https://github.com/OpenSprinkler/Weather-Adjustment

    The reason I am telling you about the end point is for you to test against it. If you see the correct scale on the endpoint but wrong on the OpenSprinkler, then it’s failing to communicate. If it’s wrong on the weather service then it’s a problem in our calculation. This way we can have better data to trace down the issue.

    Thank you

    #36214

    Tom
    Participant

    Hi,

    I’ve tried changing the station location several times; each time the “weather diagnostics” changes almost immediately. That is, everything changes except for the “Current % Watering” value which remains at 14% always. Not sure how long I need to wait to see if that changes.

    So then I used a REST client to hit the URI you gave me with the added parameters of “loc” and “key”. Here is the URI:

    http://weather.opensprinkler.com/weather1.py?loc=pws:KCAROSEV19&key=542f5f8759cd342b

    And the GET returned the following response:

    scale=0&tz=20&sunrise=422&sunset=1159&maxh=90&minh=50&meant=61&pre=0.130000&prec=0.020000&hc=44&eip=1145262083

    …so if I then look on the WebApp and check the “Weather Diagnostics” I get the attached screenshot.

    Interestingly, however, if you plug in the values into the algorithm you get -106.4 which should be clamped to zero. And yet the screenshot shows the % watering is invariant and still at 14% regardless of station.

    Now looking at the response from the GET I see that “scale” is CORRECT in the response to the GET, but wrong on the openSprinkler.

    So does this mean my openSprinkler is not communicating properly?

    What I don’t understand is: how can the openSprinkler get all the values correct except one??

    Tom

    #36219

    Samer
    Keymaster

    As I mentioned earlier, and you confirmed with your feedback, the controller is not communicating with the Internet correctly. Furthermore, I noticed you have another forum post open about intermittent connectivity issues with your OpenSprinkler. I believe the two are related and the connectivity issue is causing your device not to update its weather level.

    Also, the weather diagnostics is showing the live data from Weather Underground, not the control. The watering level is the only variable in out popup that’s actually from the controller. The numbers are what the weather script gets (weather.opensprinkler.com) which is why they are showed there but the actual device watering level is shown since that’s what’s important. Maybe I will add an “expected” value so the difference is more apparent.

    Lastly, yes the “scale” value is the end water level result, which is 0% as you expect.

    #36224

    Tom
    Participant

    OK thanks that info was very helpful. Now I think I understand. I didn’t realize the app was pinging the WU directly for all the weather info and the controller only for the % watering factor.

    I agree the controller seems to be having trouble connecting. It is able to talk on my local subnet ok (with some intermittent issues which was the subject of the other post), but it cannot seem to communicate with the Internet at all.

    I will try to eliminate the wired Ethernet connection as a suspect next.

    In the meantime, can you tell me if there is an easy way to verify if the controller can actually reach the Internet? I’ll try a few things as well…

    Thanks for all your help.

    Tom

    #36232

    Tom
    Participant

    Hi,

    I rebooted the openSprinkler and all problems seem to have gone away. I’ll continue to test the network connectivity to verify things are working well. Thanks for your help.

    Tom

    #37457

    piaband
    Participant

    I am having a problem now. My watering level is always 0%.  I even changed my location to Tampa, Florida and it is still 0%.

     

    My os connects fine to the internet, as I can always control the unit remotely.

     

    Any ideas what could be causing this? Anything I can screenshot to help troubleshoot?

    #37459

    Samer
    Keymaster

    What firmware version are you using? If you are on 2.1.3 or lower, I recommend you upgrade to 2.1.4 which fixes an issue with the weather level not updating after the controller has been running for a few weeks.

    Otherwise, try to reboot the controller and see if the water level will update.

    #40149

    sean1
    Participant

    Hello,

    I am having a similar problem as discussed in this forum. I have 2.1.15(2) firmware on my unit and I am using a local station which is Blairgowrie, Randburg, GAUTENG (IGAUTENG163) according to the Wunderground site. My unit calls it Blairgowrie only.

    It was working fine until my rain sensor was triggered. Since then (3 days now) it has been stuck on 0%.

    When I click weather diagnostics, nothing is displayed, it just has the loading images for a bit. then nothing.

    If I go to select a new location, its slow to display them, but selecting a new one changes nothing.

    I can access the unit remotely.
    It is on DHCP.
    I have rebooted it a few times. Including powering it off and back on

    Any suggestions/help would be appreciated.

    Cheers

    Sean

    #40150

    Samer
    Keymaster

    @Sean, your weather station is not reporting humidity data at all (instead of reporting -999) which is causing the app to error (which is why the diagnostics popup isn’t opening).

    The error specifically is:
    Uncaught TypeError: Cannot read property 'minhumidity' of undefined

    I will fix the error so it handles the situation however ultimately the issue is the station you are using is not reporting correct data.

    Thanks!

    #40151

    sean1
    Participant

    Thanks Samer,

    I will try selecting another station to see if it resolves the issue.

    How do I check that a station is reporting all metrics correctly? If I go to wunderground site, the station (IGAUTENG163) reports 36% humidity.

    I would have thought the Zimmerman formula would assume any missing data to be as per the expected norm. I.e in teh absence of a temp reading it would use 21C base temp.

    Cheers

    Sean

    #40155

    sean1
    Participant

    Hi Samer,

    I tried a new station, FAOR, I still have a 0% watering.

    I then reset all my settings and then selected a different station again, IGAUTENG97. This time I get a watering percentage of 113% but when I select weather diagnostics, nothing comes up as before.

    Cheers

    Sean

    #40178

    sean1
    Participant

    Hi Samer,

    I have been systemically trying the station near my home. Of the 15 odd I tried all gave me the same result. No weather diagnostics or updates.

    I eventually tried a couple in the USA, which worked. The location also updated my timezone.

    When I went back trying at home, I couldn’t get the time zone to revert back either (i.e it stayed on the USA zone).

    Could it be something specific to my area that is causing the issue? I cant believe all the weather stations are faulty at once?!

    Cheers

    Sean

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

OpenSprinkler Forums OpenSprinkler Unified Firmware Trouble with Zimmerman Method