# How Crop Steering works

Crop Steering has two parts, both connected through Home Assistant. One stores your setup. The other decides when to water and runs the hardware. This page covers what each part does, the four phases of a day, and the steps of each shot.

## What you install

Installed with HACS

### The integration

Keeps your rooms, zones, settings, plans and history. Adds the Crop Steering page to the Home Assistant sidebar. Does not operate equipment.

Home Assistant both connect here

From the app store, or Docker

### The controller

Reads your probes each minute and decides when to water. Switches the pump and valves, running the safety checks before each shot.

Automatic watering needs both. They share one version number; install and update them together.

## How your devices connect

Every device connects to Crop Steering through Home Assistant. Crop Steering checks two things about each one: its entity type and its unit.

[Check your hardware](https://cropsteering.growlabs.nz/hardware)

## Why water by substrate moisture

A timer waters at fixed times, no matter how much the plants used overnight.

*A timer compared with Crop Steering*

|   | A timer | Crop Steering |
| --- | --- | --- |
| When it waters | At fixed times | When the zone has dried back to your target, at the pace it is drying |
| How much | The same every time | Each shot sized from your substrate volume, plant count and dripper flow, adjusted for pore EC |
| What it knows | The clock | Moisture and pore EC from each zone's probes, the feed tank and the lights |
| When a probe fails | Keeps going | Leaves the probe out; a zone with no usable reading falls back to a timer and tells you |
| What you see | That it ran | Every shot on the zone's day chart, with the reason |

## The four irrigation phases (P0–P3)

Crop steering lets the substrate dry back by a set amount, then brings it back up. Vegetative and generative steering describe an intended direction, not a guaranteed plant response.

- P0 Morning dryback 10:00 to 11:00
- P1 Ramp 11:00 to 12:30
- P2 Maintenance 12:30 to 22:00
- P3 Overnight dryback 22:00 to 10:00

*An illustration of one grow-day, lights-on to lights-on. The bright line is the kind of projection the app draws. Each vertical riser is one irrigation shot. The thin line represents the recorded probe and is drawn, not data. The numbers are the project's own worked example (a 60% peak with a 10% dryback target is 54% VWC). They are an example, not a recommendation. The clock times are illustrative: they assume lights-on at 10:00, and the released default is 12:00.*

1. ### P0 Morning dryback
  After lights-on, the controller uses configured timing and dryback conditions before ramp-up.
  Why: Sets the conditions for the first shot; it does not guarantee a root-growth response.
2. ### P1 Ramp
  The controller gives small shots, some minutes apart, until VWC reaches your peak target.
  Why: The ramp fills the substrate slowly. It does not flood the roots.
3. ### P2 Maintenance
  The controller gives a maintenance shot when VWC falls to your re-water point.
  Why: The maintenance shots keep the roots stable through the day.
4. ### P3 Overnight dryback
  The usual shots stop before lights-off. The controller gives only a rescue shot when a zone becomes too dry.
  Why: Much of the steering occurs during the overnight dryback.

Terms used here: [VWC](https://cropsteering.growlabs.nz/glossary#vwc), [pore EC](https://cropsteering.growlabs.nz/glossary#pore-ec), [dryback](https://cropsteering.growlabs.nz/glossary#dryback), [shot](https://cropsteering.growlabs.nz/glossary#shot). [Full glossary](https://cropsteering.growlabs.nz/glossary)

## The steps of a single shot

1. ### Read the probes
  Devices update Home Assistant. Crop Steering combines each zone's probes into one moisture and one EC reading, leaving out probes that are silent or out of range.
2. ### Decide whether to water
  The engine finds the zone's phase and decides whether to water and how much. A zone on a timer follows its program.
3. ### Run the safety checks
  A fixed list of checks runs in order. If any check fails, the shot is held and the reason is logged with an alert code.
4. ### Water
  Pump on, then main line, then the zone valve. During the shot the controller re-checks the kill switch and holds every 2 seconds.
5. ### Confirm the shot
  Each switch is read back on and then off. With a flow meter, the water counted is compared with the meter. A later check looks at whether the moisture rose.
6. ### Log it
  The shot, any hold, and each setting change are logged in one journal. The dashboard, History and alerts read from it.

Irrigation › Timeline

![Irrigation › Timeline: done, failed and planned shots per zone, on synthetic demo data.](https://cropsteering.growlabs.nz/upstream-img/irrigation-timeline-desktop-light.png)

*Done, held and planned shots on one timeline. Synthetic demo data.*

[What gets checked before each shot](https://cropsteering.growlabs.nz/safety#checks)

## What the AI does (optional)

The AI is optional. Without it, the controller runs on its rules. With it, the controller can ask questions such as “Is the substrate full?” and code checks each answer against hard limits before anything changes. It never runs a pump or a valve, never starts a shot and never stops a safety action.

An AI assistant on your computer can also read your setup and prepare changes through the MCP connector. You review and approve each one. It has no tool to run pumps or valves.

[AI assistant documentation](https://cropsteering.growlabs.nz/docs/ai-assistant) [The MCP connector](https://cropsteering.growlabs.nz/docs/mcp)

## Changing settings and change history

Edits stay a draft until you review and apply them. Each value is then read back, so you see what the controller is using. Each change records who made it, and you can restore earlier values.

Targets · draft review

![Targets with the saved values and the draft ready for review, on synthetic demo data.](https://cropsteering.growlabs.nz/feature-img/targets-review-dark.webp)

![Targets with the saved values and the draft ready for review, on synthetic demo data.](https://cropsteering.growlabs.nz/feature-img/targets-review-light.webp)

*A draft, ready for review before it is applied. Synthetic demo data.*

## Next steps

See the full system map, or try the real dashboard on synthetic data.

[See the system map](https://cropsteering.growlabs.nz/system-map) [Try it in 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/how-it-works
