best

How to control irrigation without cloud

Learn how to control your irrigation system locally with Home Assistant, using open protocols and hardware that doesn't rely on cloud services.

On this page
  1. Drive Your Valves With a Local Relay
  2. Add Local Sensors for Smarter Watering
  3. Build the Schedule in Home Assistant
  4. Quick Verdict

Controlling your irrigation system locally is a practical way to build a smart home that prioritizes privacy, reliability, and control. Many smart irrigation systems lean on cloud apps for scheduling, but you can run watering entirely on your own network. This guide focuses on Home Assistant as the hub, with notes for Hubitat users who also want to avoid cloud dependencies.

The honest summary: there is no single magic “local irrigation controller” that does everything. The reliable approach is to drive your existing 24 V AC sprinkler valves (or a hose-bib valve) with a local relay, then handle scheduling and sensor logic in Home Assistant.


Drive Your Valves With a Local Relay

Most residential sprinkler systems use 24 V AC solenoid valves. To control them locally, you switch each valve with a relay that exposes a local API or MQTT — no cloud account required.

A common, well-supported choice is the Shelly Plus 1 Mini Gen3, a compact Wi-Fi relay. It works fully on your LAN, has a local REST/RPC API, and supports MQTT, so Home Assistant can switch it directly. Note that a Shelly relay only switches a circuit — for 24 V AC valves you wire the relay’s dry contact in line with the valve, and you’ll want a separate 24 V AC transformer (the kind your old controller used) to power the solenoids.

If you want more than one zone, the Shelly Plus 2PM gives you two independently switched channels with power metering. To be clear about what it is: the Shelly Plus 2PM is a Wi-Fi device. It does not speak Zigbee or Z-Wave. (Shelly’s newer 2PM Gen4 adds Zigbee, Matter and Bluetooth, and Shelly’s separate Wave line uses Z-Wave — but the original Plus 2PM is Wi-Fi only.)

For a single hose-bib or a pump, a smart plug such as the Shelly Plus Plug US can switch a 120 V pump or a plug-in transformer on and off on a schedule. It’s a blunt instrument compared to per-zone valve control, but it’s cheap and fully local.

If you’d rather buy a purpose-built unit, dedicated multi-zone Wi-Fi sprinkler controllers exist that offer local control and Home Assistant integration; see our picks for the best smart irrigation controllers with rain skip. Check the specific model’s documentation before buying — confirm it has a documented local API or MQTT, because “works with Home Assistant” sometimes means cloud-to-cloud.


Add Local Sensors for Smarter Watering

The point of a local system is that it keeps working when the internet doesn’t. Add sensors that report to your hub directly over Zigbee, Z-Wave, or Wi-Fi/MQTT rather than a vendor cloud:

  • Soil moisture sensors so you skip watering when the ground is already wet.
  • Rain or weather data — Home Assistant can pull a local weather integration, or you can use a physical rain sensor wired to a relay input.
  • Temperature sensors to avoid watering during a freeze.

Battery Zigbee soil and environment sensors pair to a local Zigbee coordinator and report straight to Home Assistant with no cloud. Whatever you choose, verify the device is locally controllable before relying on it.


Build the Schedule in Home Assistant

With valves on local relays and sensors reporting to the hub, the scheduling lives in Home Assistant:

  • Use automations triggered by time of day, then gated by conditions (soil moisture below a threshold, no rain forecast, temperature above freezing).
  • Run zones in sequence with delays so you don’t exceed your water pressure or transformer capacity.
  • Consider a community add-on like the Irrigation Unlimited custom integration if you want richer scheduling UI than core automations provide.

Because the relays have their own local web UI, your zones can still be turned on manually even if Home Assistant is down — a useful failsafe.

If you use Hubitat instead, the same pattern applies: pair Z-Wave or Zigbee relays and sensors to the Hubitat Elevation C8 and build rules in its local rule engine.


Quick Verdict

Local irrigation control is straightforward once you stop looking for an all-in-one cloud-free box. Switch your 24 V AC valves with a local relay like the Shelly Plus 1 Mini Gen3 or Shelly Plus 2PM, feed Home Assistant local moisture and weather data, and keep the schedule in your hub. You get privacy, reliability, and manual fallback — all without the cloud.

Next steps

Compare this category side by side

If you want fewer opinions and more matrix-style tradeoffs, the comparison pages are the next stop.

See comparisons →

Inspect all products

The full product database keeps the caveats, setup notes, and compatibility details attached to each device.

Browse products →

Back up and read the explainers

If a buying guide feels too specific too fast, the guides section covers the broader local-first logic behind it.

Read guides →

Related articles

Best local-first smart home hubs

The best smart home hubs and controllers for people who care about local control, Home Assistant compatibility, and fewer long-term regrets.

Read article →

Best smart plugs with local control and energy monitoring

The best local smart plugs with energy monitoring for Home Assistant: real local control over Zigbee, Z-Wave, or Wi-Fi plus accurate power data, no cloud.

Read article →

Best local security cameras for Home Assistant

The best Home Assistant-friendly local camera options for buyers who care about RTSP, ONVIF, NVR compatibility, and lower cloud dependence.

Read article →
New guides and product notes, no inbox required. Follow via RSS →