Skip to content

Smart Garden & Irrigation

Garden Irrigation Automation

Smart garden irrigation saves up to 50% water by using weather data, soil moisture, and intelligent schedules. Stop watering when it rains, and ensure your plants get exactly the amount of water they need.


TypeDescriptionInstallationPrice
Sprinkler controllerReplaces existing timerElectrical work💰💰
Hose timerMounts on faucetSimple💰
Drip systemFor raised beds/potsDIY💰
DIY ESPHomeFull controlAdvanced💰
graph TD
A[Do you have existing sprinkler system?] -->|Yes| B[Rachio or B-hyve]
A -->|No| C[Watering type?]
C -->|Garden hose| D[Orbit B-hyve XD]
C -->|Drip system| E[Eve Aqua or Zigbee valve]
C -->|DIY| F[OpenSprinkler or ESPHome]

Price: ~$180 (8 zones)

Rachio 3 is the market leader in smart irrigation:

  • ✅ Weather Intelligence Plus (hyperlocal weather)
  • ✅ EPA WaterSense certified
  • ✅ Saves up to 50% water
  • ✅ 8 or 16 zones
  • ✅ HomeKit, Alexa, Google, SmartThings
  • ✅ Native Home Assistant integration
  • ✅ Excellent app and support

Disadvantages:

  • ❌ Requires outdoor enclosure ($30 extra)
  • ❌ Cloud-dependent
  • ❌ More expensive than competitors

Models:

ModelZonesPrice ~
Rachio 38$180
Rachio 316$230
Rachio 3e8$130

Buy: Amazon, Rachio.com


Price: ~$95 (8 zones)

B-hyve provides nearly the same features at half the price:

  • ✅ WeatherSense technology
  • ✅ EPA WaterSense certified
  • ✅ Weatherproof enclosure (XR model)
  • ✅ 6, 8, or 12 zones
  • ✅ Alexa and Google Assistant
  • ✅ Manual controls on device
  • ✅ Easy app with guided setup

Disadvantages:

  • ❌ No HomeKit
  • ❌ Less precise weather data than Rachio
  • ❌ Limited HA integration

Models:

ModelZonesLocationPrice ~
B-hyve6Indoor$80
B-hyve12Indoor$100
B-hyve XR8Outdoor$120

Buy: Amazon, Home Depot


Price: ~$190 (8 zones)

OpenSprinkler is open source and 100% local:

  • ✅ No cloud - full local control
  • ✅ Open source software
  • ✅ MQTT support
  • ✅ Raspberry Pi version (OSPi)
  • ✅ Advanced watering algorithms
  • ✅ Add sensors via GPIO

Disadvantages:

  • ❌ More complex setup
  • ❌ No voice assistant directly
  • ❌ Requires technical understanding

Models:

ModelTypePrice ~
OpenSprinkler 3.2Standalone$190
OSPiRaspberry Pi HAT$110
OpenSprinkler DC9V battery$165

Buy: OpenSprinkler.com


For gardens without sprinkler systems - mount directly on faucet:

ProductProtocolPrice ~HA Integration
Orbit B-hyve XDBluetooth/WiFi$65Via B-hyve integration
Eve AquaThread/HomeKit$100Via HomeKit
Zigbee water valveZigbee$40Direct
Meross Smart Water TimerWiFi$55Via Meross integration
# B-hyve integration via HACS
# Supports hose timers too
automation:
- alias: "Water raised bed every evening"
trigger:
- platform: sun
event: sunset
offset: "+01:00:00"
condition:
- condition: numeric_state
entity_id: sensor.openweathermap_precipitation
below: 0.1
action:
- service: switch.turn_on
entity_id: switch.bhyve_hose_timer
- delay: "00:15:00"
- service: switch.turn_off
entity_id: switch.bhyve_hose_timer

Price: ~$20

The popular 4-in-1 plant sensor:

  • ✅ Soil moisture
  • ✅ Temperature
  • ✅ Light intensity
  • ✅ Soil conductivity (nutrients)
  • ✅ Battery (1 year+)
  • ✅ Bluetooth → HA via ESP32 proxy
# Via Xiaomi BLE integration
# Auto-discovered with Bluetooth
# Or via ESPHome Bluetooth Proxy:
esphome:
name: ble-proxy
esp32:
board: esp32dev
bluetooth_proxy:
active: true
# Entities in HA:
# - sensor.mi_flora_living_room_moisture
# - sensor.mi_flora_living_room_temperature
# - sensor.mi_flora_living_room_illuminance
# - sensor.mi_flora_living_room_conductivity
# - sensor.mi_flora_living_room_battery
# configuration.yaml
plant:
tomato_plant:
sensors:
moisture: sensor.mi_flora_tomato_moisture
temperature: sensor.mi_flora_tomato_temperature
conductivity: sensor.mi_flora_tomato_conductivity
brightness: sensor.mi_flora_tomato_illuminance
min_moisture: 20
max_moisture: 60
min_temperature: 59 # Fahrenheit
max_temperature: 95
min_conductivity: 350
max_conductivity: 2000
min_brightness: 2000
max_brightness: 50000
# Automation for thirsty plant
automation:
- alias: "Notification - Plant thirsty"
trigger:
- platform: state
entity_id: plant.tomato_plant
to: "problem"
action:
- service: notify.mobile_app
data:
title: "🌱 Plant needs water"
message: "Tomato plant has low soil moisture"
SensorProtocolFeaturesPrice ~
Xiaomi Mi FloraBLEMoisture, temp, light, nutrients$20
ECOWITT soil sensor433MHzMoisture only$20
SensorPushBLE/WiFiMoisture, temp (precise)$55
ThirdRealityZigbeeMoisture only$20

automation:
- alias: "Skip watering on rain in forecast"
trigger:
- platform: time
at: "04:00:00" # Check before scheduled watering
condition:
- condition: template
value_template: >
{% set dominated = namespace(rain=false) %}
{% for forecast in state_attr('weather.home', 'forecast')[:2] %}
{% if forecast.precipitation > 0.1 %}
{% set dominated.rain = true %}
{% endif %}
{% endfor %}
{{ dominated.rain }}
action:
- service: input_boolean.turn_on
entity_id: input_boolean.skip_watering_today
- service: notify.mobile_app
data:
title: "Watering skipped"
message: "Rain expected - skipping watering"
automation:
- alias: "Intelligent garden watering"
trigger:
- platform: time
at: "05:30:00"
condition:
- condition: numeric_state
entity_id: sensor.garden_soil_moisture
below: 35
- condition: state
entity_id: input_boolean.skip_watering_today
state: "off"
- condition: template
value_template: >
{{ states('sensor.openweathermap_precipitation_probability') | float < 40 }}
action:
- service: switch.turn_on
entity_id: switch.garden_zone_1
- delay: "00:20:00"
- service: switch.turn_off
entity_id: switch.garden_zone_1
- service: switch.turn_on
entity_id: switch.garden_zone_2
- delay: "00:15:00"
- service: switch.turn_off
entity_id: switch.garden_zone_2
automation:
- alias: "Vacation - Increased watering"
trigger:
- platform: state
entity_id: input_boolean.vacation_mode
to: "on"
action:
- service: rachio.set_schedule
data:
entity_id: switch.rachio_zone_1
duration: 1800 # 30 min instead of 15
- service: notify.mobile_app
data:
title: "Vacation mode activated"
message: "Watering time increased to 30 min per zone"

# esphome/garden_irrigation.yaml
esphome:
name: garden-irrigation
esp32:
board: esp32dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# 4-channel relay module for valves
switch:
- platform: gpio
pin: GPIO16
name: "Garden Zone 1 - Lawn"
id: zone_1
- platform: gpio
pin: GPIO17
name: "Garden Zone 2 - Flower bed"
id: zone_2
- platform: gpio
pin: GPIO18
name: "Garden Zone 3 - Raised bed"
id: zone_3
- platform: gpio
pin: GPIO19
name: "Garden Zone 4 - Hedge"
id: zone_4
# Soil moisture sensor (capacitive)
sensor:
- platform: adc
pin: GPIO34
name: "Lawn Soil Moisture"
update_interval: 60s
unit_of_measurement: "%"
filters:
- calibrate_linear:
- 0.0 -> 100.0 # Wet
- 3.3 -> 0.0 # Dry
- sliding_window_moving_average:
window_size: 5
send_every: 5
# Auto-off after 30 min (safety)
script:
- id: auto_off_zone_1
then:
- delay: 30min
- switch.turn_off: zone_1

  • 1x Orbit B-hyve XD ($65)
  • Total: ~$65
  • 1x Zigbee water valve ($40)
  • 1x Xiaomi Mi Flora ($20)
  • Drip hoses ($20)
  • Total: ~$80
  • 1x Orbit B-hyve 8-zone ($120)
  • 2x Xiaomi Mi Flora ($40)
  • Total: ~$160
  • 1x Rachio 3 8-zone ($180)
  • 1x Rachio Flow Meter ($55)
  • 4x Xiaomi Mi Flora ($80)
  • 1x ESP32 BLE Proxy ($15)
  • Total: ~$330


Ofte stillede spørgsmål

How much water can I save with smart irrigation?
Typically 20-50% depending on your current usage. EPA WaterSense certified controllers like Rachio and B-hyve are designed to minimize water consumption.
Do Rachio and B-hyve work internationally?
Yes, both work worldwide. Weather data is fetched via internet, so location isn't an issue. You just need the appropriate voltage transformer for your region.
Can I use plant sensors for automatic watering?
Yes! Combine Xiaomi Mi Flora with a Zigbee water valve in Home Assistant. When soil moisture drops below a threshold, watering activates automatically.
What's the difference between Rachio and OpenSprinkler?
Rachio is easier to set up with an excellent app, but cloud-dependent. OpenSprinkler is 100% local and open source, but requires more technical knowledge.
How do I get Mi Flora data to Home Assistant?
Either via the built-in Xiaomi BLE integration (requires Bluetooth on HA), or via an ESP32 as Bluetooth proxy placed closer to your plants.
Can I water based on weather forecast?
Yes! Home Assistant can check weather forecast and skip watering if rain is expected. Rachio and B-hyve also have built-in rain skip functionality.


Last updated: December 2025


Kommentarer