Safety features
Crop Steering switches real pumps and valves, often with nobody in the room. If anything looks wrong, it stops watering and alerts you. This page lists each safety check and what you still need to set up yourself.
If something can't be read, watering stops
When a value cannot be read, Crop Steering treats it as the safe answer. An unreadable kill switch or room switch counts as off. A switch that does not read back stops watering. A missing setting holds the room.
What gets checked before each shot
Stage 1: Is this zone allowed to water?
Room on, kill switch on, zone on, setup accepted, valve mapped, plumbing matches, no hardware fault, no manual override or external hold, waste valve closable, tank above minimum, feed EC and pH readable and in range, equipment online.
Stage 2: Which zone goes first?
Pump capacity and exclusive groups decide the order. This step only orders shots; it never cancels one.
Stage 3: Is the shot within its size limits?
Shot sizing, the maximum shot and the daily cap.
Stage 4: Final checks before the valve opens
Hardware fault, another shot already running, plumbing, switch back-off, a tank too short for this shot, waste valve closed, dosing not running.
If any check fails, the shot is held. The hold shows on the dashboard and is logged with its alert code.
Terms used here: shot, hold, read-back, kill switch (Watering), rescue floor. Full glossary
Safety limits on water
- A maximum shot length. Every shot is cut to it.
- A daily water cap. It stops routine shots. Ramp, rescue and watchdog shots and high-EC flushes may go past it, so a zone is never starved or salted out.
- A max-run latch: a zone whose last 3 shots all ran to the maximum length gets no more water until you clear its Repairs card (on by default in rooms set up since it was added).
Minimums work the other way: they make sure a zone gets enough water.
- The P3 rescue floor (an owner power, off by default, lets the AI set it within its range).
- A minimum daily floor.
The AI cannot change the maximum shot, the daily cap or the max-run latch.


How it checks each shot actually happened
Pump, main line and valve are read back as on when the shot starts and as off when it ends. The controller reads at 1 second, then every half second up to 6 seconds, so a slow plug is not mistaken for a fault. A switch that never reports off latches a hardware fault and stops the room. With a flow meter, less water than counted raises an alert, and water with no zone open raises a leak alert. A later check looks at whether moisture rose after the shot.
What happens after a crash or restart
When the controller is stopped, it closes the shot in progress. After a restart it resumes the setup it had accepted. A controller that sees the heartbeat of a second controller on the same room stops that room, and the alert says why. Never run two controllers for one room.
Dosing safety
Dosing pumps time their own doses from a volume Crop Steering sends. Crop Steering runs a dosing motor directly only for a short prime or a calibration run. Watering holds during a batch, and every dosing switch is read back. After a restart, dosing hardware is switched off.
Tested how
Dosing was tested against a scripted pump, not yet on real plumbing.
What the AI isn't allowed to do
- It never operates a pump, a valve or the main line, never starts a shot and never calculates the duration of a shot.
- It never stops a safety action: the daily minimum and maximum water, the rescue shot, a flush for high EC, or the watchdog.
- It can only move a zone to its next phase, and only earlier than the rules would.
- By default it can change only the P2 shot size and the re-water point, one small step a night inside a range around your value, and only when Auto setpoints is on. Two owner powers, off by default, let it set a zone's targets (including the rescue floor) and its ramp and maintenance shot sizes, within each setting's own range. The daily cap, kill switch, valve read-back, feed checks and max-run latch still apply.
- When it is off, slow, out of budget or unsure, the controller uses its rules only and does not wait for it.
Your responsibilities
Warning
Do not use the software as an emergency stop. Use the physical shutdown procedure of your installation. The “Watering” switch and the “Room in use” control do not isolate the electrical power.
Warning
Isolate the electrical power before you do work on a pump, a valve or the wiring. Water and mains power near each other can cause an electric shock.
Caution
Install valves that close when the power is lost. Install a float switch or a timer that can stop a pump without the software. The software does not replace these physical safety devices.
Caution
Keep the “Watering” switch off until each probe and each switch of the room is correct. A wrong valve or a wrong probe can flood a zone or let it dry out.
Before the first shot
- Configure the room with the “Watering” switch off.
- Examine each probe that the room uses.
- Examine each switch that the room uses.
- Do a catch test: measure the water that comes out of the drippers in a known time.


Testing status
Each release lists what the automated checks cover and what has been seen on a live installation. Release 3.18.0 passed its automated tests, including a real Home Assistant on the newest and oldest supported versions and a controller container smoke test; 3.18.1 changes only documentation and two dashboard screens. Release 3.18 has not yet been run on real plumbing. The first item on the roadmap is a field validation with catch tests and fault drills.
Feature matrix: what is tested and what isn't The roadmap One shot, step by step
Alert codes
Each hold and fault has a code, from CS-101 to CS-9xx. The list gives each code's meaning, effect and fix.
Getting started: test on one zone first
Check your hardware and physical safety first, then try the dashboard.