github OpenSprinkler/OpenSprinkler-Weather 3.1.0

9 hours ago

New

  • Add /weatherSensorData, a compact endpoint for current, forecast, and historical weather values to be used used by OpenSprinkler firmware's WeatherSensor.
  • Add selectable current, forecast, and historical scopes.
  • Add persistent multi-day history for local personal weather stations.

Improvements

  • Normalize historical observations into complete local calendar days, including daylight-saving transitions.
  • Improve ETo calculation, validation, and handling of incomplete historical data.
  • Improve weather-data normalization across Apple WeatherKit, Open-Meteo, DWD, AccuWeather,
    OpenWeather, Pirate Weather, Bright Sky, and Weather Underground.
  • Share provider caches between adjustment, forecast, and weather-sensor requests.
  • Coalesce concurrent cache misses to reduce duplicate provider requests.
  • Improve geocoder cache persistence.
  • Honor format=json for watering-adjustment error responses.
  • Update the container runtime to Node.js 24.
  • Expand API, configuration, provider, and testing documentation.

Fixes

  • Allow Zimmerman calculations from local weather stations that do not report wind or solar
    radiation (#178).
  • Restore support for configuring the server with the documented PORT environment variable
    (#179).
  • Correct humidity, precipitation, wind, solar-radiation, and forecast normalization issues
    across multiple providers.
  • Improve handling of missing, zero, stale, and malformed provider values.

Compatibility

Existing /0 through /3, /weatherData, and legacy weatherX.py routes remain supported.
Legacy watering-adjustment response formatting remains the default unless format=json is
requested.

Local weather persistence incorporates work proposed by @mpietruschka in #144 and @ruimarinho
in #150.

Full Changelog:
3.0.2...3.1.0

Don't miss a new OpenSprinkler-Weather release

NewReleases is sending notifications on new releases.