Crop steering for Home Assistant · Free and open source

# Automatic grow-room irrigation, based on substrate moisture

Crop Steering waters each zone of your grow room from what its moisture probes read. It runs inside Home Assistant, works with the probes, pumps and valves you already have. If something looks wrong, it stops watering and alerts you.

[Try the demo](https://cropsteering.growlabs.nz/demo)

No install. Synthetic data.

[Is it for me?](https://cropsteering.growlabs.nz/is-it-for-me) [Get started](https://cropsteering.growlabs.nz/get-started)

MIT licence · No subscription · Version 3.18.1 · Tested on Home Assistant 2024.10 and 2026.9

[Demo dashboard![The Crop Steering dashboard, Status › Today: the room line, a card for each zone with its moisture and pore EC, and the AI assistant's changes today.](https://cropsteering.growlabs.nz/feature-img/today-dark.webp)](https://cropsteering.growlabs.nz/demo)

*The real dashboard, running on synthetic demo data.*

How it works

## How it works, in three steps

1. ### Your probes
  Your probes, pumps and valves connect to Home Assistant the way they always have.
2. ### It checks and decides
  Crop Steering reads them through Home Assistant and decides when each zone needs water. Each day runs in four phases: P0 morning dryback, P1 ramp, P2 maintenance and P3 overnight dryback.
3. ### It waters and shows why
  It switches the pump and valves after its safety checks. You see each watering (the dashboard calls it a shot) on the zone's day chart, with the reason it fired.

Terms used here: [dryback](https://cropsteering.growlabs.nz/glossary#dryback), [P0–P3](https://cropsteering.growlabs.nz/glossary#p0), [shot](https://cropsteering.growlabs.nz/glossary#shot), [kill switch (Watering)](https://cropsteering.growlabs.nz/glossary#kill-switch), [catch test](https://cropsteering.growlabs.nz/glossary#catch-test). [Full glossary](https://cropsteering.growlabs.nz/glossary)

*An illustration of one grow-day, lights-on to lights-on, with the project's own worked example. It is an example, not a recommendation.*

[See how it works](https://cropsteering.growlabs.nz/how-it-works)

Fit

## Is it for you?

If Home Assistant shows your device as the right kind of entity, with a unit Crop Steering understands, Crop Steering can use it.

### Good fit if

- Yes You grow in containers, in rooms you can split into zones with one valve each.
- Yes You run Home Assistant, or are willing to.
- Yes You want watering decided by probe readings, with a record of every shot.
- Yes You are comfortable running self-hosted software and testing it on one zone first.

### Not a fit if

- No You need a vendor support contract or certified hardware.
- No You want one system to also run climate, lights, tasks and compliance records.
- No You need several zones watered at the same moment.
- No Your EC meter only reports in ppm.

[Check your grow](https://cropsteering.growlabs.nz/is-it-for-me) [Check your hardware](https://cropsteering.growlabs.nz/hardware) [Common questions](https://cropsteering.growlabs.nz/faq)

Safety

## Safety features

- An unreadable kill switch or room switch counts as off.
- Every pump and valve switch is read back. One that does not answer stops watering and raises an alert.
- Every watering is cut to the maximum length you set. A daily cap stops routine watering, and the AI cannot change either.

Caution

Software is not an emergency stop. Use valves that close on power loss and a float switch or timer that can stop the pump on its own.

Testing status

Release 3.18 has not yet been run on real plumbing. Start on one zone with a catch test.

[How the safety checks work](https://cropsteering.growlabs.nz/safety) [Security and privacy](https://cropsteering.growlabs.nz/security)

The dashboard

## What the dashboard shows

The first page lists all rooms. Open a room, then a zone, to see each watering on the zone's day chart with the reason it fired. It works on a phone.

Status › All rooms

![Status › All rooms: every room with its zones, current moisture, pore EC and water today, on synthetic demo data.](https://cropsteering.growlabs.nz/upstream-img/status-all-rooms-desktop-light.png)

*All rooms: each zone's moisture, EC and water today.*

Zone 1 · day chart

![A zone's day chart: moisture through the day with each shot marked, on synthetic demo data.](https://cropsteering.growlabs.nz/feature-img/zone-day-chart-dark.webp)

![A zone's day chart: moisture through the day with each shot marked, on synthetic demo data.](https://cropsteering.growlabs.nz/feature-img/zone-day-chart-light.webp)

*Each watering on the zone's day chart, with the reason it fired.*

[Open the live demo](https://cropsteering.growlabs.nz/demo) [All features](https://cropsteering.growlabs.nz/features)

Start

## Getting started: test on one zone first

1. ### Try the demo
  Open the live demo. Nothing to install.
2. ### Check your hardware
  Check your hardware and take the fit check.
3. ### Install
  Two parts: the integration from HACS and the controller from the app store or Docker. Keep watering off until each probe and switch is checked.

- ### Growers
  [Get started](https://cropsteering.growlabs.nz/get-started)
- ### Installers
  [Hardware guide](https://cropsteering.growlabs.nz/hardware)
- ### Hardware and software makers
  [Notes for makers](https://cropsteering.growlabs.nz/hardware#for-makers)

[Get started](https://cropsteering.growlabs.nz/get-started) [Try the demo](https://cropsteering.growlabs.nz/demo)

[Next Is it for me?](https://cropsteering.growlabs.nz/is-it-for-me)

Source: https://cropsteering.growlabs.nz/
