Skip to content
Crop Steering

Features

Crop Steering waters each zone from what its probes read, stops watering when something is wrong, and shows every shot on the dashboard. The page has ten sections, from why to water by substrate moisture to how to install.

In the current release marks a feature in the current release, 3.18.1.Read the upgrade guide before you update.

01 · Why

Why water by substrate moisture

A timer waters at the same times, whatever the plants did overnight. Crop steering waters from substrate moisture instead.

Free beginner course: the Crop Steering Academy →

How it works: a timer compared with crop steering

A zone's day chart: recorded VWC and pore EC on their own scales, with yesterday for comparison.

A zone's day chart: recorded VWC and pore EC on their own scales, with yesterday for comparison.

In the current release From the dashboard demo, on sample data.

02 · Sensors

What it reads

It reads the moisture (VWC) and pore EC probes in each zone, the feed tank's level, EC and pH, and when the lights go on and off. Several probes in one zone are combined into one reading. A probe that stops reporting is left out. You use the sensors you already have in Home Assistant.

System overview →

Supported hardware

The probes of each zone with their readings, last report and health.

The probes of each zone with their readings, last report and health.

In the current release From the dashboard demo, on sample data.

Features in this section (11)
  • Sensor mapping In the current release

    Search your Home Assistant entities by name, check each reading and unit, and map valves and one or more VWC and EC probes to each zone.

  • Sensor fusion In the current release

    A zone's probes are combined by median, so one wild probe among three is outvoted. A probe that goes quiet for 20 minutes is set aside and the zone reading doesn't jump.

  • Sensor diagnostics and equipment map In the current release

    Every probe of every zone with its reading, when it last reported and whether it counts. A stale or out-of-range probe stands out.

  • Graphical tank and pump overview In the current release

    The feed tank drawn with its level, EC, pH and temperature, the pump state and the last fill. An unknown reading shows as unknown, not as empty.

  • Tank level and watering history In the current release

    The tank level over 12 hours to 7 days, with every zone's shots, pump runs and fills drawn on it, plus the tank minimum and the refill reminder.

  • Sensing, diagnostics and estimates In the current release

    • Probe and substrate diagnostics

      See per-probe detail and optional probe history, shot-response checks, drift and slope information. A diagnostic is evidence for review, not proof of a working emitter.

    • Water and VPD

      Compare estimated water delivery with mapped VPD and inspect the relationship across grow days. Missing observations stay missing.

    • Plant stress

      Optional leaf-temperature mappings support a plant-stress card and CWSI with configurable baselines. It needs appropriate sensors and calibration; it is not a crop diagnosis.

    • Why a shot is held

      A gate report shows the first hold, including waste-policy uncertainty and the rescue-only dead-feed exception, in the same order as the actual admission gates.

    • Shared-sump water balance

      Estimate sump removal from pump power and configured calibration, together with mapped AC/dehumidifier activity. Room runoff and transpiration are model outputs, not measured zone runoff or measured transpiration.

    Details and limits

  • Probe offsets and curves In the current release

    Match a probe to your handheld meter in one step. The offset is applied before the zone's probes are combined, and every change is recorded.

    How it works: Probe offsets and curves

03 · Phases

The four irrigation phases (P0–P3)

You set targets per zone, or a plan for the whole grow, and the engine sizes each shot from the substrate volume and plant count, adjusted for pore EC. Optional modes stay off until you choose them.

Grow plans →

How it works: the four phases (P0–P3)

The daily VWC and EC plan from lights-on to the next lights-on, with the four phases.

The daily VWC and EC plan from lights-on to the next lights-on, with the four phases.

In the current release From the dashboard demo, on sample data.

Features in this section (12)
  • Irrigation: current targets and daily graph In the current release

    All of a zone's targets, phase by phase, beside its daily graph. Edit a number or drag a target on the graph; it stays a local draft until you review it.

  • Reactive combined planning curve In the current release

    The planned VWC and EC for the whole day, through lights-off and overnight to the next lights-on, redrawn as you change a target.

  • Continuous vegetative/generative steering In the current release

    Steering isn't an on-off switch. A grow plan can set each zone anywhere between a vegetative and a generative profile, stage by stage.

  • Different setpoints per zone In the current release

    Every zone has its own targets and its own schedule blocks, so one room can run zones on different plans.

  • Whole-grow day/week schedule In the current release

    Plan the whole run by week or by day, from day 1 to day 366, with each zone's own start date and day-by-day exceptions.

  • P1 runs its full ramp In the current release

    The ramp isn't cut off by the clock. It goes to the target, gives one more shot, and stops only when a shot no longer raises the reading.

  • Phase watering options In the current release

    • Guarded timed maintenance

      Select timed P2 shots with a moisture ceiling and floor rescue, and an optional fixed end before lights-off. Moisture mode and predictive ending remain the defaults.

    • Morning minimum wait and stall exit

      Set a minimum P0 wait, with the low-moisture bypass retained, or enable a trusted slow-dryback exit. Both new options are neutral until selected.

    • Budgeted EC flush

      Flush toward a zone EC target within an episode budget, with spacing, drainage checks and a feed-EC floor. This does not remove daily or shot limits.

    • Zone EC ratios

      Choose zone-specific dilution ratios instead of the room ratios. The choice is off by default.

    • Daily setpoint movement

      Set a daily movement limit and choose which ladder writers it applies to. The default follows the existing follower; it does not cap actual shot volume or bypass safety.

    • Extra ramp shots

      Choose 1 to 30 extra ramp shots, subject to the total ramp-shot limit and the daily water cap.

    Details and limits

04 · Safety

Safety features

Before every shot the controller checks a fixed list: kill switch, room and zone switches, tank level, feed EC and pH, manual holds and equipment that is offline. Every pump and valve switch is read back, and one that does not answer stops watering and raises an alert. If it cannot read the kill switch or a room switch, it treats it as off.

How the controller works →

How the safety checks work

A room's substrate, sizing and safety limits.

A room's substrate, sizing and safety limits.

In the current release From the dashboard demo, on sample data.

Features in this section (12)
  • Source-water/interlock/volume/duration gates In the current release

    Before any shot, the controller checks the feed, the interlocks, the day's water limit and the maximum shot length. If one fails, no shot.

  • Patient switch read-back In the current release

    After each shot the pump, main line and valve are read back for up to 6 seconds. A slow plug isn't a false alarm; equipment that stays on is held.

  • Restart-safe setup In the current release

    The controller remembers the setup it accepted. After a restart it carries on only if nothing changed, and tells you when a new setup needs accepting.

  • Missing or invalid EC In the current release

    If an EC probe stops, the zone keeps watering on VWC alone and the card says which probe is out.

  • Room on / off In the current release

    Switch an empty room off and it gets no water of any kind and sends no alerts, while its readings stay on screen.

  • Timed manual override In the current release

    Take a zone over by hand for a set time. The override ends on its own, and survives a restart of Home Assistant.

  • Operating checks and alerts In the current release

    • Rescue-miss alerts

      An optional alert reports repeated rescue misses. It does not change when the controller waters.

    • Rescue past a dead feed probe

      An opt-in exception admits rescue reasons when a feed probe is dead. Routine shots, bad live readings, waste checks and every other safety gate still apply.

    • Reviewed test-shot length

      Choose the test-shot duration and review the request before sending it. Hardware and watering gates still apply.

    • Waste valve policy

      Choose Off, Check or Close before each shot. A mapped unreadable setting or device holds watering; only a confirmed absent legacy setting can use the old Off behaviour.

    • Stop all and dead-head alerts

      Stop all requests equipment off. Optional pump-power monitoring can warn about a dead-head pattern; that warning is not a certified pressure or flow measurement.

    • Estimated feed tank

      Estimate remaining tank water from configured capacity and controller delivery, with a low-level alert. It is not a level sensor and the estimate never holds irrigation.

    Details and limits

05 · Pumps and dosing

Pumps, valves and dosing

A shot switches the pump, the main line and one zone valve in order, then closes them and counts the water. It can also mix a batch tank to a recipe and keep track of stock. Zones without probes can water on a timer, and a pump queue lets zones take turns when one pump cannot feed them all.

Dosing and batch tanks →

Irrigation › Timeline: done, failed and planned shots per zone, on sample data.

Irrigation › Timeline: done, failed and planned shots per zone, on sample data.

In the current release From the release's own screenshots, on sample data.

Features in this section (9)
  • Water per zone, plant and proposed runtime In the current release

    Zone litres, millilitres per plant and the planned runtime of each shot, worked out from your substrate volume and dripper flow.

  • Catch-test calculator In the current release

    Measure what your drippers really put out and the calculator proposes the flow to enter. It never writes the value for you.

  • Batch-tank dosing In the current release

    Dose a single pump or make a whole batch into the room's tank. The controller does each step, reads back every switch, and holds the water a batch could disturb.

  • Optional protective actions In the current release

    • pH auto-correct

      Opt in to bounded pH correction with configured dose attempts and fail-closed pump readback. A fault remains latched while the enable switch is unavailable; confirmed switch-off clears it.

    • Dry-substrate light dimming

      An optional protective action dims mapped lights to a configured level and restores them later. It does not switch lights off and is not general climate automation.

    Details and limits

  • Timer programs In the current release

    Water mothers, clones and zones without probes on a timer, written as a sentence, with the next 24 hours drawn before you save. Every timed shot still passes the same safety checks.

    How it works: Timer programs

  • Pump queue In the current release

    Set what your pump really delivers and which zones share it. Zones take turns, and the timeline marks a shot that waited. The queue never holds a shot.

    How it works: Pump queue

  • Feed probe calibration In the current release

    Two-point pH and EC calibration of the feed probes in buffer solutions. While a session is open, that probe's reading is not used as the feed.

    How it works: Feed probe calibration

  • Dosing pump prime and calibration In the current release

    Prime the line, run the pump into a measuring jug and enter what it gave. The measured flow sizes doses for a pump without a flow sensor.

    How it works: Dosing pump prime and calibration

06 · Dashboard

The dashboard: rooms, zones and history

All rooms shows each room and its zones with moisture, EC and water today. Open a room for its zone cards, open a zone for its day chart with every shot marked, and use History to compare this run with an earlier one. On a phone the sections sit in a bar at the bottom.

Open the demo (sample data) →

The Status › Today page: the room line, a card for each zone and the AI assistant's changes today.

The Status › Today page: the room line, a card for each zone and the AI assistant's changes today.

In the current release From the dashboard demo, on sample data.

Features in this section (24)
  • All advanced pages in one workspace In the current release

    Status opens All rooms by default. Open a room or zone for detail. Choose this browser’s default in Settings › Dashboards & display.

  • Zone current state and last irrigation In the current release

    Each zone card on Status › Today shows VWC now, a line of the day, the re-water point and peak target, pore EC, water per plant, the last shot and what happens next.

  • Current day: recorded zone and projected day In the current release

    Each zone's page draws its recorded VWC for today and yesterday, its pore EC, and the rest of the day projected from how fast this zone dries. Every shot is marked, and the diamonds are the AI assistant's decisions.

  • Combined recorded VWC + EC history In the current release

    VWC and EC history for a zone on one chart, each on its own axis, pulled from Home Assistant's recorder. Where there is no history, the chart says so instead of drawing a line.

  • Run comparison with daily target overlays In the current release

    Put this run beside an earlier one, lined up by grow week, and see where VWC, EC and water differ most.

  • Activity view and CSV export In the current release

    The room's readings on stacked charts under its phase and shot lanes, with notes where something happened, and a CSV of what is charted.

  • Weekly water usage In the current release

    Litres for each zone today, this grow week and for the run, with an estimate for the whole grow.

  • Native Home Assistant appearance In the current release

    The dashboard follows your Home Assistant theme, light or dark, or you can set it yourself.

  • Room and zone navigation In the current release

    • Room and zone menu

      The menu lists every room with its state, and every zone under it with its phase and moisture. Choosing a room keeps the section you are in; choosing a zone opens its page.

    • Bottom bar on a phone

      On a phone the five sections sit in a bar along the bottom of the screen, where a thumb reaches them. A tap anywhere on a zone card opens the zone.

    • Links remember the room

      The address holds the room you have open, so a bookmark, a shared link or a reload brings you back to the same room. Old links still work.

    • Room water totals

      Each room on All rooms shows its water today: total litres, and litres per plant averaged over the zones that report both.

    Details and limits

  • Display options In the current release

    • Room display preferences

      Choose cards or a table, cameras, probe panels, light readings and overlays from a revisioned per-room Display page. These choices do not change irrigation.

    • Camera, light and environment context

      Optional mappings expose camera views, CO₂, PPFD, DLI and lighting context. Mapping a sensor does not create an environmental control loop.

    • Zone and grow-day detail

      Inspect VWC and EC together, moisture spread, day-over-day differences, planned targets, shot and phase lanes, and timeline overlays.

    • Manual equipment controls

      An off-by-default option exposes reviewed manual hardware requests. It does not remove readback, role checks or equipment holds.

    • Dryback drivers and planner reference

      Review dryback drivers and the controller's phase logic beside the grow plan. Advisory charts describe the available evidence and estimates.

    Details and limits

  • Grow records In the current release

    • Cultivar labels and grow summaries

      Give zones cultivar labels and enable daily grow summaries at lights-on. Recording is off by default and old records without these fields still load.

    • Whole-grow history and harvest entries

      Review the grow timeline, record harvest weight and compare water use or harvest entries across runs. These are operator records, not a prediction or proof of yield improvement.

    • Per-probe grow comparison

      Choose Off, Last grow or a recorded grow separately for each substrate probe. Historical row matching does not change the live sensor mapping or watering.

    • Optional long-term history database

      Use a protected administrator-only connection to an external time-series database for capped, read-only history queries. Recorder remains the default and fallback; a database and credentials are not supplied.

    Details and limits

  • Shot timeline In the current release

    Every shot in every room on one timeline: done, planned, failed or waiting for the pump. A shot the sensors will decide is drawn as expected, not as certain.

    How it works: Shot timeline

  • Display units In the current release

    EC in mS/cm or ppm, temperature in °C or °F, volume in litres or gallons, and a 12- or 24-hour clock. Display only: what the controller works in does not change.

    How it works: Display units

  • Wall dashboards In the current release

    Make a Home Assistant dashboard for a wall screen from ready-made cards.

    How it works: Wall dashboards

07 · Settings

Changing settings

Edits stay a draft until you review and apply them. After you apply, each value is read back from Home Assistant, so you see the value the controller now uses. Plans are saved as a draft and only take over after you arm them.

User guide →

Targets with the saved values and the draft ready for review.

Targets with the saved values and the draft ready for review.

In the current release From the dashboard demo, on sample data.

Features in this section (6)
  • Reviewed manual setpoint writes In the current release

    Every change goes through a review that shows the old and new value before anything is written to Home Assistant. If a write fails, your draft stays.

  • Persistent plans and safe activation In the current release

    Plans are saved as drafts, previewed, then armed. An armed plan starts at the next lights-on, and arming never turns the watering on by itself.

  • User-authored recipe library In the current release

    Save a plan as a recipe and load it into another room later. A recipe only loads into a draft; nothing changes until you review and save.

  • Journal and put back In the current release

    Every change in one list: what changed, who or what changed it, and why. An administrator can put an earlier value back in one step. It is refused if the value has moved since, and read back after.

    How it works: Journal and put back

  • Undo In the current release

    For 10 seconds after a change, Undo puts it back. If it cannot, it says why.

    How it works: Undo

  • Presets and copy In the current release

    Save a room's or a zone's settings as a preset, and copy settings to other rooms or zones. You see only the values that will change before you apply, and each one is read back.

    How it works: Presets and copy

08 · AI

The AI assistant (optional)

Optional AI judges can move a phase on, distrust a probe or nudge a setpoint, but only inside limits you set, and every decision is logged. An AI client on your computer can also read your rooms and prepare setup or plan changes through the MCP connector. Nothing it prepares is saved until a person reviews it.

The AI assistant and its limits →

Glossary

What each AI assistant judge can do, with its limits.

What each AI assistant judge can do, with its limits.

In the current release From the dashboard demo, on sample data.

Features in this section (7)
  • Auto Setpoints In the current release

    Off until you turn it on. Then the controller nudges a zone's targets in small, bounded steps from what the zone actually did, and your own edit always wins.

  • Optional scoped MCP server In the current release

    Connect an AI client on your computer to read your rooms and prepare changes for your review. It can never switch equipment or start a plan.

  • AI instructions In the current release

    • Exact prompt, source and hash

      Inspect the instructions the controller actually builds, with source, revision and SHA-256 per block. A local rebuild refreshes that snapshot without making a paid model call.

    • Reviewed room context

      An administrator can add structured context and house notes, review the difference, save a revision or roll back. Context appears only when supplied; it cannot replace shipped safety rules or change the live substrate or stage.

    • Cache settings and usage

      Choose 5-minute or 1-hour instruction caching and A/B/C/evidence breakpoints. Breakpoints cache the cumulative prefix, so caching a later block can include earlier ones. Evidence remains at 5 minutes.

    • Reported cost, labelled estimates

      See reported cache-hit tokens and spend. Net savings are explicitly estimated from known usage and model prices. Rebuild does not purge the provider's cache.

    Details and limits

  • Preview, then apply, for more changes In the current release

    The AI client can also prepare timers, alert rules, presets, copies and probe offsets. Each one comes back as a preview of what would change, and a person applies it.

    How it works: Preview, then apply, for more changes

09 · Alerts

Alerts and system status

Alerts go to the phones you choose, with a code that says what happened and what to check. They arrive as Home Assistant notifications and Repairs cards. You can also write your own alert rules and test them against yesterday, see open alerts in one inbox, give each phone quiet hours, and check a status page for what has gone silent.

Alerts and who gets them →

Settings › System status: the health line, the Upgrade report, software, the controller heartbeat and every mapped device, on sample data.

Settings › System status: the health line, the Upgrade report, software, the controller heartbeat and every mapped device, on sample data.

In the current release From the release's own screenshots, on sample data.

Features in this section (7)
  • Who gets which alerts on which phone In the current release

    Tick the kinds of alert each phone gets, for every room or some. An emergency always reaches a phone.

  • Complete usage documentation In the current release

    Every alert code is explained in the dashboard's Help: what it means, what happens to the water, the causes and the fix.

  • Live deployment In the current release

    Each release is installed on a working two-room installation, and the installed files are checked against the release.

  • Alert rules In the current release

    Write a rule as a sentence, such as tell my phone when the tank stays below 30% for 10 minutes. Before you save, it shows how often the rule would have fired yesterday. A rule only sends a message: it never starts, stops or holds a shot.

    How it works: Alert rules

  • Alerts inbox In the current release

    Open alerts in one place, each on the room or zone it belongs to, and marked when someone has seen it.

    How it works: Alerts inbox

  • Quiet hours In the current release

    Each phone can have its own quiet hours. Pushes that are not critical wait and arrive as one digest when they end; urgent pushes always come through. For now they are set through a service, not on a page.

    How it works: Quiet hours

  • System status In the current release

    How much of the setup is reporting, whether the controller is running, and which sensors have gone silent and for how long.

    How it works: System status

10 · Start

Getting started: test on one zone first

Install the integration and the controller from Home Assistant, map your probes and valves in Setup, and start with one zone. Or try the dashboard first in the demo, on sample data, without installing anything.

Install guide →

Get started in three steps

Status › All rooms: every room with its zones and readings.

Status › All rooms: every room with its zones and readings.

In the current release From the dashboard demo, on sample data.

Features in this section (4)
  • Installation shortcuts and sidebar In the current release

    Buttons open the right screens in Home Assistant to download the integration, add Crop Steering and add the controller. The dashboard then appears in the sidebar.

  • HA sidebar integration In the current release

    Crop Steering is a page in the Home Assistant sidebar, with its own menu: Status, Irrigation, History, Equipment and Settings. The menu also lists every room and its zones.

  • Room and zone creation/removal In the current release

    Add rooms and zones from the dashboard. Removing one archives it, so its ID is never reused for different hardware.

  • Interactive demo In the current release

    The real dashboard on sample rooms, in your browser. Nothing connects to Home Assistant.

All features and settings

106 features and settings in 9 groups, with where each one applies and its default. New features stay off until you turn them on. You change them on the dashboard's Settings › Features page.

Show all settings
Watering phases (14)

How each phase waters: when it starts, the shot sizes and the time between shots.

  • Auto setpoints

    room · default false

    Moves the P1 target and the P2 re-water point to what each zone reaches, and stops the P2 shots in the afternoon for today's dryback.

  • Steering mode

    room or zone · default Vegetative

    Vegetative or generative steer. It selects the dryback target and the EC targets.

  • Growth stage

    room · default Vegetative

    The stage of the crop.

  • P0 morning dryback

    room or zone

    After lights-on, the zone waits for a drop from its peak, or for the maximum wait, before the ramp starts.

    Settings: Vegetative dryback target (35), Generative dryback target (45), P0 dryback drop percent (15), P0 maximum wait time (120), P0 additional dryback (0)

  • P1 ramp

    room or zone

    Shots that grow in size until the zone reaches its P1 target.

    Settings: P1 target vwc (65), P1 initial shot size (2), P1 shot size increment (0.5), P1 time between shots (15), P1 minimum shots (3), P1 maximum shots (6), P1 rise pts (0.5), P1 maximum extra shots (3)

  • P2 maintenance

    room or zone

    A shot when the zone drops below its re-water point. A time between shots of 0 is off.

    Settings: P2 vwc threshold (60), P2 shot size (5), P2 time between shots (0)

  • P3 night rescue

    room or zone

    Before lights-off and at night, a shot only when the zone drops below its rescue floor.

    Settings: P3 emergency vwc threshold (40), P3 emergency shot size (2), P3 time between shots (10)

  • P3 dryback hold

    zone · default false

    Holds the zone's night rescue shots so the zone dries back overnight.

  • Morning dryback minimum wait

    room or zone

    Minimum minutes in P0; the low moisture bypass remains available.

    Settings: P0 minimum wait (0), P0 stall exit (false)

  • Max setpoint move per day

    room

    Limit automatic moisture setpoint movement in VWC points; zero removes the limit.

    Settings: Setpoint max step per day (1), Setpoint step limit applies to (Auto setpoints)

  • EC flush target

    room or zone · default 0

    Continue budgeted flush shots to this target, with a feed EC floor; zero disables.

  • Use zone P2 EC ratios

    room or zone

    Use each zone dilute ratio instead of the existing 1.2 ratio.

    Settings: P2 dilute ratio (1.2), Use p2 ec thresholds (false)

  • P2 mode

    room or zone

    Choose Timed with guards for scheduled shots with a moisture ceiling and floor rescue.

    Settings: P2 end hours before off (0), P2 mode (Moisture), P2 timed first hours (0), P2 timed interval min (60), P2 timed shot size (0)

  • Watering by

    zone · default steering

    Steering: the engine waters the zone, as always. Timer: the room's timer programs water it. Off: nothing waters it.

Safety and holds (15)

The switches that stop or hold watering, and the limits on each shot and each day.

  • Watering (kill switch)

    room · default null

    Off: the controller fires no shot in this room.

  • Room on

    room · default null

    Off: the room is empty or resting. The controller waters nothing and sends no room alerts.

  • Zone on

    zone · default null

    Off: the controller fires no shot in that zone.

  • Zone hold (manual override)

    zone · default null

    On: the controller holds the zone and fires no automatic shot until the hold ends.

  • Max-run latch

    room · default true

    On: a shot that runs to its time limit holds the zone until a person resets it in Settings > Repairs.

    Settings: Max shot duration (900)

  • Daily water limits

    zone

    The most water a zone gets in a grow-day, and the least each plant gets. A minimum of 0 is off.

    Settings: Max daily volume (20), Min daily ml per plant (0)

  • Zone limits

    room or zone

    Field capacity, the maximum EC and the watchdog hours of each zone.

    Settings: Field capacity (70), Maximum ec (9), Watchdog hours (3)

  • Dim lights on dry substrate

    room · default false

    Dims a dimmable room light while a zone is dry with the lights on. Never off, and it restores the brightness it found.

    Settings: Dry dim floor vwc (15), Dry dim level pct (50), Dry dim after min (10), Dry dim max h (4)

  • Rescue misses

    room

    Alert when rescue shots fail to raise moisture; never holds watering.

    Settings: Rescue miss action (Off), Rescue miss count (4)

  • Rescues past dead feed probe

    room · default false

    Allow P3 emergency and watchdog rescues past a dead feed probe; bad readings and other interlocks still hold.

  • Waste valve rule

    room · default Off

    Choose Close for each shot to close and verify the waste valve before the pump primes.

  • Manual shot length

    zone · default 10

    Test Shot seconds; maximum duration and daily budget still apply.

  • Tank size for estimate

    room

    Capacity in litres enables the estimate when no tank level sensor is mapped; zero disables.

    Settings: Tank estimate low pct (20), Tank size l (0)

  • Pump dead-head power

    room · default 20

    Alert after 60 seconds above this power with all valves shut and no active hold or batch.

  • Pump power sensor

    app

    Optional room=sensor power mapping enables the dead-head alert; never stops the pump.

Dosing and feed (5)

The EC steer, the EC targets and the source-water gate.

  • EC stacking

    room · default false

    On: P2 shots let the EC rise toward its target instead of washing it down.

    Settings: Ec min interval (10)

  • EC targets

    room or zone

    The EC each phase steers to, for each steering mode.

    Settings: Ec target veg p0 (3), Ec target veg p1 (3), Ec target veg p2 (3.2), Ec target gen p0 (4), Ec target gen p1 (5), Ec target gen p2 (6)

  • Source-water gate

    room

    No shot while the feed pH or EC is outside its band. An EC band of 0 to 0 is off.

    Settings: Irrigation ph min (5.5), Irrigation ph max (6.5), Irrigation ec min (0), Irrigation ec max (0)

  • pH auto-correct

    room · default false

    Corrects a batch tank outside the feed pH band with a few small doses of the pump in the pH role. It locks and alerts if a dose does not work.

    Settings: Ph correct dose s (5), Ph correct max tries (2), Ph correct mix min (5), Ph correct daily max (3), Ph correct margin (0.1)

  • Pump pH role

    room · default none

    Which dosing pump raises (pH up) or lowers (pH down) the tank pH; set per pump in Equipment > Dosing > Dosing setup.

AI assistant (10)

What the AI assistant may change in this room.

  • Pause AI changes

    room · default Off

    A period in which the AI assistant asks nothing and changes nothing in the room.

  • AI: start the next phase early

    room · default true

    Starts the morning ramp or the night dryback early.

  • AI: end the morning ramp

    room · default true

    Ends the morning ramp when the slab is full.

  • AI: set a probe aside

    room · default true

    Sets aside a probe that does not follow the substrate.

  • AI: change the EC steer

    room · default true

    Selects steer, hold or decay for the EC in maintenance.

  • AI: adjust maintenance watering

    room · default true

    Moves the P2 shot size or re-water point by one small step a night.

  • AI: apply today's plan day

    room · default true

    Applies today's plan values when a stale probe holds the plan.

  • AI: set targets from what a zone reaches

    room · default false

    Sets a zone's targets from the values it really reaches.

  • AI: tune shot sizes

    room · default false

    Changes the shot sizes inside their limits.

  • AI instructions

    dashboard · default visible

    Review the instructions and editable context used by the AI assistant.

Alerts (2)

What the notifications say.

  • Shots held alert

    room · default 0

    A critical alert when a zone that asked for water is held this many hours. 0 is off.

  • Predictions in notifications

    room · default true

    The vitals notification says what each zone does next.

Display panels (23)

How the dashboard shows the room. These change no watering.

  • Water today shown as

    room · default Zone total

    Each zone's total, or what each plant got.

  • Water vs VPD

    room · default false

    Keep per grow-day water, quiet dryback rate and VPD records and show how each zone's drying answers VPD (History > Water use); read only.

  • Plant stress card

    room · default false

    Leaf minus air temperature and leaf VPD on Today and the zone page, where a leaf temperature sensor is mapped in setup (room or zone).

  • CWSI lower baseline

    room · default 0

    Leaf minus air (deg C) of a well-watered canopy, your own; CWSI shows only when the upper baseline is above it.

  • CWSI upper baseline

    room · default 0

    Leaf minus air (deg C) of a canopy that has stopped transpiring, your own; both 0 keeps CWSI off.

  • Shot check

    room · default off

    off | table (last shots and whether the water landed, zone page) | table_and_alert (also CS-701 from code while the AI assistant is off).

  • Manual hardware controls

    room · default false

    Show operator hardware controls on zone pages. Off until enabled.

  • Live dryback

    zone · default published

    Read-only: each zone's relative dryback from its peak, with the drop in VWC points beside it; always on, changes nothing.

  • Rules

    dashboard · default visible

    Read-only: the doctrine rules with the room's live settings and a bounds-only double-check list.

  • Zone links on notices

    dashboard · default on

    Each notice names its zones as links, and a merged notice flags every zone it covers; display fix, always on.

  • Before the next shot

    zone · default published

    Read-only list of every pre-shot gate with pass or hold on the zone page; the gates themselves can never be switched off.

  • Tank readout

    room · default false

    Optional room display preference; changes no watering.

  • Zones as

    room · default cards

    Optional room display preference; changes no watering.

  • Room climate

    room · default false

    Optional room display preference; changes no watering.

  • Root-zone temperature

    room · default false

    Optional room display preference; changes no watering.

  • Today against yesterday

    room · default false

    Optional room display preference; changes no watering.

  • Room camera

    room · default false

    Optional room display preference; changes no watering.

  • Equipment lanes

    room · default false

    Optional room display preference; changes no watering.

  • Zone lanes

    room · default false

    Optional room display preference; changes no watering.

  • Dryback drivers

    room · default false

    Optional room display preference; changes no watering.

  • Reference rows

    room · default false

    Optional room display preference; changes no watering.

  • Day curve in the planner

    room · default false

    Optional room display preference; changes no watering.

  • Dryback markers

    dashboard · default off

    Optional relative percent-of-peak markers on short moisture history windows; a 30-day preset is always available.

History and data (4)

What the room records.

  • Record grow days

    room · default false

    Keep a daily summary at lights-on for grow comparisons. Off until enabled.

  • Cultivar

    zone · default empty

    Optional cultivar label entered in room setup and copied into each grow record.

  • Long history source

    room · default recorder

    Use a tested read-only InfluxDB connection for room history; Recorder remains the default.

  • Per-probe grow comparison

    dashboard · default off

    Select Off, Last grow or a recorded grow independently for each substrate sensor row. Historical row matching never changes sensor mappings or watering.

Equipment and sizing (17)

The room's hardware, substrate and probes.

  • Pump and line timing

    room

    The pump prime time and the main-line lead time before each shot.

    Settings: Pump prime time (2), Main line lead time (1)

  • Zone sizing

    zone

    Plants, substrate litres and drippers. Shot length comes from these.

    Settings: Plant count (4), Substrate volume (10), Dripper flow rate (1.2), Drippers per plant (2)

  • Lights schedule

    room

    The lights-on and lights-off hours. The grow-day starts at lights-on.

    Settings: Lights on hour (12), Lights off hour (0)

  • Substrate and drainage

    room

    What the room grows in, and how its runoff leaves it.

    Settings: Substrate (generic), Drainage (unknown), Sump power threshold w (20)

  • Readings from probes

    zone

    How a zone's probes become its moisture and EC readings.

    Settings: Vwc method (Median), Ec method (Median)

  • Runoff estimator

    room · default off

    off | shadow (publish the room-wide sump water-balance estimate) | shown_alerts (also CS-314 when a grow-day's sealed-room balance does not close) | ai (also a hint to the AI assistant); never waters.

  • Sump litres per run

    room · default 0

    Litres one sump run empties (bucket test); 0 = unknown, then pump flow x run time, else the sealed-room closure.

  • Sump pump flow

    room · default 0

    L/min, used with the run time when the litres per run are 0; 0 = unknown.

  • Runoff reaches the sump within

    room · default 90

    Longest shot-to-sump delay tried (min); the estimator learns the best one.

  • AC and dehumidifier run power

    room · default 50

    An AC or dehumidifier mapped by its power sensor counts as running above this (W).

  • ACs and dehumidifiers

    room · default []

    Each unit's switch, state or power sensor, mapped in Equipment > Setup for the runoff estimator; read only.

  • Room leaf temperature

    room

    Optional sensor mapping in Equipment > Setup; empty on existing and new rooms, read only.

  • Zone leaf temperature

    zone

    Optional sensor mapping in Equipment > Setup; empty on existing and new rooms, read only.

  • Room camera

    room

    Optional sensor mapping in Equipment > Setup; empty on existing and new rooms, read only.

  • Room CO2

    room

    Optional sensor mapping in Equipment > Setup; empty on existing and new rooms, read only.

  • Room PPFD

    room

    Optional sensor mapping in Equipment > Setup; empty on existing and new rooms, read only.

  • Room daily light integral

    room

    Optional sensor mapping in Equipment > Setup; empty on existing and new rooms, read only.

Controller app (16)

Options of the controller app. Change them in the app's Configuration tab. They apply when the app restarts.

  • AI provider

    app · default auto

    Controller app option.

  • AI dry run (propose only)

    app · default false

    Controller app option.

  • AI judges that run

    app · default all

    Controller app option.

  • AI daily budget (USD)

    app · default 1.0

    Controller app option.

  • AI calls a day

    app · default 5000

    Controller app option.

  • AI budget warning (%)

    app · default 80

    Controller app option.

  • AI model

    app · default claude-haiku-5-5

    Controller app option.

  • AI key

    app · default empty

    Controller app option.

  • Hold entities

    app · default none

    Controller app option.

  • Feed EC sensor

    app · default none

    Controller app option.

  • Feed pH sensor

    app · default none

    Controller app option.

  • Sump power sensor

    app · default none

    Controller app option.

  • Notification service

    app · default none

    Controller app option.

  • Vitals interval (min)

    app · default 30

    Controller app option.

  • Stage arc

    app · default slab_default

    Controller app option.

  • Loop interval (s)

    app · default 60

    Controller app option.

AI instructions and caching (7)
  • House notes — default empty. Administrator context in block C; empty preserves the existing prompt.
  • Grow context — default {}. Optional structured room facts; does not change live substrate, stage, targets or sizing.
  • System cache TTL — default 1h. 5 minutes or 1 hour; evidence remains at 5 minutes.
  • Block A breakpoint — default true. Later breakpoints can also cache A because caching covers the cumulative prefix.
  • Block B breakpoint — default true. Cache the cumulative prefix through the stage and substrate tables.
  • Block C breakpoint — default true. Only present when room notes or structured context are set.
  • Evidence breakpoint — default true. Keep the existing 5-minute evidence breakpoint; off removes it from future requests.

Every released feature here is a row of the project's feature matrix, which also records how it was tested and what is still unproven. Read the feature matrix.