Home Assistant automation blueprint for intelligent garden irrigation from 1 to 12 sections.
Prepared by Smart Service.
Current version: 1.4.0
Manual import URL:
https://github.com/SmartServicePL/smart_irrigation_automation/blob/main/blueprints/automation/smart_irrigation_automation/smart_irrigation.yaml
Version 1.4.0 separates four optional condition checks from the single daily execution decision. Condition checks update the next-watering helper and may write diagnostic Logbook entries, but they cannot create a skipped-watering notification. On a watering day, the persistent notification is first written only after a valve confirms that it is open, then replaced by the final result. On a non-watering day there is one readable skipped-watering result.
The water-balance model now treats a configured soil-moisture sensor as a direct irrigation override at a configurable threshold, normalizes wind speed to km/h, and carries forward water that a section could not deliver because of its maximum runtime. Final section results show confirmed runtime and estimated net water applied. For measured rain, select a rolling 24-hour or current rain-event sensor when available; a midnight-reset daily sensor can miss rain from the previous day.
Version 1.3.0 adds native weather intelligence from MeteoFusion HA. Setup is intentionally short:
- Select the MeteoFusion
weatherentity as Encja pogody do prognozy. - Enable Korzystaj z danych MeteoFusion HA.
- Leave Opcjonalne sensory lokalne i nadpisania collapsed and empty unless a dedicated garden sensor should override one measurement.
The blueprint then receives a rolling next-24-hour rain forecast, daily FAO-56 ETo, current local-station conditions and forecast-quality diagnostics. It refuses unsafe decisions when the MeteoFusion contract is missing, confidence is too low or station data is stale. Existing non-MeteoFusion weather setups remain compatible by leaving the new option disabled.
The blueprint calculates one irrigation decision for the whole enabled cycle. It accumulates a modeled water need from plant demand, soil, temperature, sunlight, rain and optional soil moisture. When watering is needed, every enabled and ready section is run; each section still gets its own calculated runtime from its sprinkler profile, soil, plants and manual adjustment.
The target cycles-per-week setting is used only as a startup/fallback assumption when a section has no watering history, and to estimate the next cycle after a fresh watering. It does not assign weekdays and never forces watering merely because a scheduled day arrived. With Rain Bird RC2, confirmed section completion times are persisted by the integration and used by the next cycle decision.
Supported section count is configurable from 1 to 12. Sections above the selected count stay in the blueprint configuration but are ignored by the automation.
Controllers may be mixed in one automation. For example, sections 1-8 can use native Rain Bird RC2 entities while sections 9-12 use Sonoff, Shelly or ESPHome relays for drip lines. The automation runs them sequentially and applies the same weather checks, water-balance decision and per-section runtime calculation to every enabled section.
Rain Bird is the primary target, with detailed profiles for 5000/3500 rotors, 1800 sprays, R-VAN rotary nozzles and XF dripline. Generic Rain Bird, Hunter and custom mm/h profiles are still available.
Watering need is calculated with a simplified water-balance model inspired by
FAO-56 and extension irrigation scheduling guides. The blueprint estimates daily
crop water use as ETc = ETo * Kc, subtracts useful rain, then starts watering
when the modeled depletion reaches the allowed root-zone depletion for the
selected soil and plant type. If you have a daily ETo sensor, select it; otherwise
the blueprint estimates ETo from temperature, UV/sun and wind.
Soil selection uses garden-friendly names instead of geological labels: piaszczysta / bardzo lekka, lekka ogrodowa, zwykla ziemia ogrodowa, humusowa / prochniczna, czarnoziem / czarna ziemia, gliniasta / ciezka and bardzo ciezka / zbita glina. Existing configurations using the older technical values remain compatible.
For native Rain Bird RC2 switch entities, the blueprint automatically uses
rainbird_rc2.start_zone and passes the calculated runtime in minutes. Other
switch integrations use standard switch.turn_on, wait for confirmation, keep
the section active for the calculated time and then call switch.turn_off.
Normal valve entities are handled with valve.open_valve and
valve.close_valve.
Enable Korzystaj z danych MeteoFusion HA after selecting a MeteoFusion
weather entity. The blueprint validates its smart_service.weather.v1
contract and then uses:
- the rolling next-24-hour precipitation sum and maximum rain probability,
- daily FAO-56 ETo without requiring a separate sensor selection,
- local-station rain rate, rain total, temperature and wind,
- forecast confidence, source count and station freshness.
Explicitly selected rain, temperature, wind, UV or ETo sensors keep priority, so
MeteoFusion can be combined with dedicated garden sensors. Low-confidence or
stale MeteoFusion data safely skips irrigation with a readable explanation.
The optional local sensors are grouped in a collapsed section and may all stay
empty for a MeteoFusion-only setup. Ordinary weather entities remain fully
supported with the MeteoFusion option disabled.
The blueprint waits for the valve or switch to confirm on/open before reporting that watering started. A missing start confirmation or an early controller stop is reported as an irrigation failure instead of a completed section.
Optional logging writes the deficit, start threshold, watering decision and confirmed duration to Home Assistant Logbook. Persistent notifications are kept to one daily lifecycle: start after the first section confirms opening and a final completed result, or one skipped result when no watering begins. A safety interruption replaces the final result with a completed-before-time explanation. All use one notification ID, so the HA panel shows the current outcome instead of accumulating a stack of messages.
Optional condition checks can run during the day and night, by default at 12:00, 18:00, 00:00 and 03:00. These checks fetch current weather and recalculate watering need and update the next-watering helper, but they do not open irrigation sections or create Home Assistant notifications.
Optionally, select an input_datetime helper in the blueprint to store the
estimated next watering time. The automation updates it after each check: when
weather blocks watering it stores the next scheduled check, and when watering
is not yet needed it stores the first scheduled cycle after the modeled water
need reaches the start threshold.
Documentation:
- Smart irrigation setup
- Translations and UI glossary: English, German, Spanish, French, Italian, Dutch and Portuguese.
Blueprint path:
blueprints/automation/smart_irrigation_automation/smart_irrigation.yaml
- Home Assistant 2025.1.0 or newer.
- One
valveorswitchentity per irrigation section. - A
weatherentity that supports daily forecast. - Optional MeteoFusion HA
0.7.0or newer for native 24-hour rain, ETo and forecast-quality data. - Optional local weather entity, rain sensor, rain amount sensor, temperature sensor, wind source, UV/sunlight source and soil moisture sensor.
- Optional Logbook diagnostics and persistent notifications for user-visible irrigation events.
Do not publish Home Assistant storage files, access tokens, exact home address, raw API responses or screenshots showing private garden details.