Skip to content
Crop Steering

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 Assistantboth 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

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
QuestionA timerCrop Steering
When it watersAt fixed timesWhen the zone has dried back to your target, at the pace it is drying
How muchThe same every timeEach shot sized from your substrate volume, plant count and dripper flow, adjusted for pore EC
What it knowsThe clockMoisture and pore EC from each zone's probes, the feed tank and the lights
When a probe failsKeeps goingLeaves the probe out; a zone with no usable reading falls back to a timer and tells you
What you seeThat it ranEvery 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.

One grow-day of substrate water content across the four irrigation phasesAn illustration, not data. The horizontal axis runs from lights-on at 10:00 to the next lights-on. In P0, the morning wait, the line keeps falling after lights-on until it reaches the dryback target: with a 60 percent peak and a 10 percent dryback target that is 54 percent. In P1, the ramp-up, the line climbs a staircase of six steps; each vertical riser is one irrigation shot. In P2, maintenance, the line is a sawtooth: it dries down to a dashed threshold, a shot lifts it, and this repeats until lights-off at 22:00. In P3, overnight, the line slopes smoothly down through the night, well above a separate dashed emergency floor. A thinner second line underneath stands for the recorded probe, following the plan a little late and a little low, and stopping at now.P0P1P2P345%50%55%60%10:0022:0010:00lights onlights offP2 thresholdemergency floornowshots
  • P0 Morning dryback10:00 to 11:00
  • P1 Ramp11:00 to 12:30
  • P2 Maintenance12:30 to 22:00
  • P3 Overnight dryback22: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. P0Morning 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. P1Ramp

    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. P2Maintenance

    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. P3Overnight 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, pore EC, dryback, shot. Full glossary

The steps of a single shot

  1. Step 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. Step 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. Step 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. Step 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. Step 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. Step 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.
Done, held and planned shots on one timeline. Synthetic demo data.

What gets checked before each shot

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 The MCP connector

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.
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.