Overview


OpenSprinkler can utilize online weather data to automatically make daily adjustments to the station water time. By default, it uses Apple WeatherKit as the weather data provider, offering global coverage. Below we outline the available weather adjustment methods and provide a brief overview of their implementation details.


Configuration


On the controller's homepage, go to Edit Options --> Weather and Sensors tab, where you can select an Adjustment Method, set Weather Restrictions, as well as choose a Weather Data Provider. Each adjustment method has a set of parameters, which it uses to determine how watering percentages are calculated.



Select an Adjustment Method:

  • Manual Adjustment (Default)
    • Allows manual setting of watering percentage (0% to 250%).
    • Programs with "Use Weather Adjustment" enabled will scale watering times based on the set percentage.
    • Example: A program schedules 60 minutes for a zone.

      If watering percentage = 50%, the zone waters for 30 minutes.

      If watering percentage = 125%, the zone waters for 75 minutes.

  • Zimmerman
  • Auto Rain Delay
    • Uses the current precipitation data to automatically set a rain delay.
    • Does NOT modify watering percentage, only triggers a rain delay when weather data indicates it's raining.

  • ETo (Evapotranspiration)
    • A more advanced method based on industry standards.
    • Utilizes additional weather parameters, such as the geolocation, altitude, solar radiation, and yearly baseline ET value of your location.
    • Requirements: You must 1) provide a Baseline ETo (or click "Detect Baseline ETo" to auto-detect using your location); 2)  set your Elevation for accurate calculations.
    • Implementation details about ETo and its parameters are explained below..

  • Monthly Adjustment
    • Similar to Manual mode but allows setting fixed watering percentages per month.
    • Useful for seasonal watering schedules.

Use Multi-Day Average Watering Levels

Starting with firmware 2.2.1(3), multi-day average watering levels can be used to adjust a program’s run time. When the selected adjustment method is Zimmerman or ETo, a checkbox appears that enables this option for interval programs (programs that run on a fixed interval). For example, a program scheduled every 5 days will use the average watering levels from the past 5 days, rather than relying only on yesterday’s value. This provides more accurate adjustments for programs that don’t run daily, accounting for all weather changes since the last run.


This feature applies only to interval programs and does not affect other program types. When enabled, the array of multi-day watering levels is shown in System Diagnostics. The array length depends on the selected weather provider—Apple supports up to 10 days, while others may provide fewer. Refer to the Historical weather data capability of each provider in the table below.


Weather Restrictions

Starting with firmware 2.2.1(3), the following weather restrictions can be enabled with any adjustment method:

  • Rain – skip watering if the total forecast rain exceeds a set amount over a user-defined number of days (e.g. 0.5 inch in the next 3 days). Setting either value to 0 disables this rule. Note that the forecast capability is limited by your selected weather provider (refer to the Forecast weather data capability of each provider in the table below). If the number of forecast days exceeds the provider's data, the maximum available is used.
  • Temperature – skip watering if the current temperature falls below a set value (e.g. 50°F or 10°C). A value of -40 (either °F or °C) disables this rule.
  • California Rule – Legacy option that prevents watering if rainfall in the past 48 hours exceeds 0.1".

If any weather restriction is activated, it's displayed on both the homepage and in System Diagnostics.


Select a Weather Data Provider

OpenSprinkler's weather service offers multiple weather provider options for flexibility and accuracy. The table below lists each provider along with its historical and forecast data capabilities.


Provider
Requires API Key?
Note and Capabilities
No
Default option. Recommended for general use. Historical: 10 days; Forecast: 10 days.
✅ Yes
Historical: 1 day; Forecast: 5 days.
✅ Yes
Open-source alternative to Dark Ski with similar API.
Historical: 1 day; Forecast: 8 days.
✅ Yes
Historical: 1 day; Forecast: 8 days.
No
Free and open-source.
Historical: 7 day; Forecast: 7 days.
No
Only works for German locations.
Historical: 7 day; Forecast: 7 days.
✅ Yes
Requires the location to be a PWS station
Historical: 6 day; Forecast: 6 days.


Entering an API Key (if required):

  • If the provider requires an API key, an entry box labeled "Weather API Key" will appear.
  • Enter your API key and click Verify to check its validity. Then submit the changes.

Set a Program to Use Weather Adjustment


Each sprinkler program can be individually set to use use weather adjustment. The program's editing page has a "Use Weather Adjustment" checkbox. By default, this option is OFF when creating a new program. Simply check it to enable it. Once enabled, the program’s watering time will be automatically adjusted based on the selected weather adjustment method and options.



Technical Details on Weather Adjustment Methods

1. Zimmerman Method

The Zimmerman method calculates the watering percentage based on temperature, humidity, and precipitation. It uses a baseline reference, and any deviation from this baseline increases or decreases the watering percentage. The Default Baseline Parameters are:

  • Temperature: 70°F (21°C)
  • Humidity: 30%
  • Precipitation: 0 inches

At these baseline values, the watering percentage remains 100% (i.e., no change to scheduled watering).
The adjustment formula is:

Watering Percentage = 100 + (T - 70) × 4 + (30 - H) - 200 × (P - 0)

Where

  • T = Average temperature (°F) from the previous day.
  • H = Average humidity (%) from the previous day. 
  • P = Total precipitation (inches) from the previous day.

Clamping Rule: The final watering percentage is always limited between 0% and 200%.


Example: If yesterday's conditions were: T=86°F, H=68%, P=0.12 inches. Using the formula:

100 + (86 - 70) × 4 + (30 - 68) - 200 × (0.12)  = 112%

This means the watering time will be adjusted to 112% of the original scheduled time.



Customizing Baseline Parameters & Weights

Due to regional variations in weather data accuracy, you can fine-tune the Baseline values in the Adjustment Method Options. In addition, each factor is assigned a Weight parameter (0% to 100%) to fine-tune its influence. So you can: 

  • Modify the baseline parameters if data consistently under- or overestimates any of the T, H, P values.
  • Modify the weight of each factor (T, H, P) to increase or decrease the influence of each factor. 

For example: if your weather data consistently over-estimate the humidity, you can increase the humidity baseline  (BH) to counter-act the inaccuracy. If you want to reduce the influence of humidity, decrease its weight WH. If you don't want precipitation to affect the calculation at all (e.g. due to watering indoors), set its weight WP to 0.



The Final Formula accounting for both baseline and weight adjustments:

Watering Percentage = 100 + (T - BT) × 4 × WT + (30 - BH) × WH - 200 × (P - BP) × WP  

Where

  • BT, BH, BP = Baseline values for Temperature, Humidity, and Precipitation
  • WT, WH, WP = Weights for each factor

2. Evapotranspiration (ETo) Method

Evapotranspiration (ET) measures water loss from soil and plants due to evaporation and transpiration. The ETo adjustment method compares the reference ET index (ETo) and precipitation from the previous day against the baseline ETo for your location to calculate the watering percentage. Its formula is:


Watering Percentage = ((Yesterday's ETo - Yesterday's Precip) ÷ Baseline ETo) × 100%  


Clamping Rule: The final watering percentage is always limited between 0% and 200%.


The Baseline ETo represents the average ETo for your location. You can either click "Detect Baseline ETo" to auto-detect the baseline ETo, or manually enter it. 


How is ETo different from Zimmerman?

  • It is more advanced: considers geolocation, altitude, solar radiation in addition to temperature, humidity, and precipitation.
  • It is based on the FAO-56 Penman-Monteith equation (industry standard).


Precautions When Transitioning from Zimmerman to ETo

If you've previously used Zimmerman and switch to ETo, you may notice significant differences in watering percentage calculations. This happens because ETo is fundamentally a different algorithm, and it accounts for more weather factors, leading to different results.


To adjust for this change, set your programmed watering times based on the yearly average, instead of summer-only schedules. Ideally in programmed water times should be based on the yearly average (as opposed to summer only). This way, during hot seasons, watering percentage will increase above 100%; and during cooler seasons, it will drop below 100%.


Fine-Tune ET Calculations

The auto-detection of baseline ETo may not be accurate. If you found the ET method consistently over- or underestimates watering, you can adjust the Baseline ETo value. Example: If the system overestimates watering by 20%, increase the Baseline ETo by 20%. Specifically:

  • If your Baseline ETo was 0.112, increase it to 0.134 (a 20% increase).
  • Since the formula divides by Baseline ETo, this counter-acts the overestimate and reduces the watering percentage accordingly.


Manually Calculating ETo

If you want to manually calculate an ETo value, follow these rules:

  • Use the potential evapotranspiration (not actual evapotranspiration).
  • The ETo must be calculated using the FAO-56 Penman-Monteith method.
  • The ETo should use data from the same time of year that the watering schedule was designed for. If you use the same watering schedule year-round, you should use the annual ETo; if you change the watering schedule with the seasons, you should use the ETo for the current season.