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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Wall dashboards In the current release
Make a Home Assistant dashboard for a wall screen from ready-made cards.
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.
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.
Undo In the current release
For 10 seconds after a change, Undo puts it back. If it cannot, it says why.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 falseMoves 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 VegetativeVegetative or generative steer. It selects the dryback target and the EC targets.
Growth stage
room · default VegetativeThe stage of the crop.
P0 morning dryback
room or zoneAfter 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 zoneShots 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 zoneA 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 zoneBefore 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 falseHolds the zone's night rescue shots so the zone dries back overnight.
Morning dryback minimum wait
room or zoneMinimum minutes in P0; the low moisture bypass remains available.
Settings: P0 minimum wait (0), P0 stall exit (false)
Max setpoint move per day
roomLimit 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 0Continue budgeted flush shots to this target, with a feed EC floor; zero disables.
Use zone P2 EC ratios
room or zoneUse 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 zoneChoose 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 steeringSteering: 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 nullOff: the controller fires no shot in this room.
Room on
room · default nullOff: the room is empty or resting. The controller waters nothing and sends no room alerts.
Zone on
zone · default nullOff: the controller fires no shot in that zone.
Zone hold (manual override)
zone · default nullOn: the controller holds the zone and fires no automatic shot until the hold ends.
Max-run latch
room · default trueOn: 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
zoneThe 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 zoneField 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 falseDims 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
roomAlert 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 falseAllow P3 emergency and watchdog rescues past a dead feed probe; bad readings and other interlocks still hold.
Waste valve rule
room · default OffChoose Close for each shot to close and verify the waste valve before the pump primes.
Manual shot length
zone · default 10Test Shot seconds; maximum duration and daily budget still apply.
Tank size for estimate
roomCapacity 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 20Alert after 60 seconds above this power with all valves shut and no active hold or batch.
Pump power sensor
appOptional 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 falseOn: P2 shots let the EC rise toward its target instead of washing it down.
Settings: Ec min interval (10)
EC targets
room or zoneThe 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
roomNo 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 falseCorrects 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 noneWhich 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 OffA period in which the AI assistant asks nothing and changes nothing in the room.
AI: start the next phase early
room · default trueStarts the morning ramp or the night dryback early.
AI: end the morning ramp
room · default trueEnds the morning ramp when the slab is full.
AI: set a probe aside
room · default trueSets aside a probe that does not follow the substrate.
AI: change the EC steer
room · default trueSelects steer, hold or decay for the EC in maintenance.
AI: adjust maintenance watering
room · default trueMoves the P2 shot size or re-water point by one small step a night.
AI: apply today's plan day
room · default trueApplies today's plan values when a stale probe holds the plan.
AI: set targets from what a zone reaches
room · default falseSets a zone's targets from the values it really reaches.
AI: tune shot sizes
room · default falseChanges the shot sizes inside their limits.
AI instructions
dashboard · default visibleReview the instructions and editable context used by the AI assistant.
Alerts (2)
What the notifications say.
Shots held alert
room · default 0A critical alert when a zone that asked for water is held this many hours. 0 is off.
Predictions in notifications
room · default trueThe 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 totalEach zone's total, or what each plant got.
Water vs VPD
room · default falseKeep 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 falseLeaf 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 0Leaf 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 0Leaf minus air (deg C) of a canopy that has stopped transpiring, your own; both 0 keeps CWSI off.
Shot check
room · default offoff | 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 falseShow operator hardware controls on zone pages. Off until enabled.
Live dryback
zone · default publishedRead-only: each zone's relative dryback from its peak, with the drop in VWC points beside it; always on, changes nothing.
Rules
dashboard · default visibleRead-only: the doctrine rules with the room's live settings and a bounds-only double-check list.
Zone links on notices
dashboard · default onEach 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 publishedRead-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 falseOptional room display preference; changes no watering.
Zones as
room · default cardsOptional room display preference; changes no watering.
Room climate
room · default falseOptional room display preference; changes no watering.
Root-zone temperature
room · default falseOptional room display preference; changes no watering.
Today against yesterday
room · default falseOptional room display preference; changes no watering.
Room camera
room · default falseOptional room display preference; changes no watering.
Equipment lanes
room · default falseOptional room display preference; changes no watering.
Zone lanes
room · default falseOptional room display preference; changes no watering.
Dryback drivers
room · default falseOptional room display preference; changes no watering.
Reference rows
room · default falseOptional room display preference; changes no watering.
Day curve in the planner
room · default falseOptional room display preference; changes no watering.
Dryback markers
dashboard · default offOptional 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 falseKeep a daily summary at lights-on for grow comparisons. Off until enabled.
Cultivar
zone · default emptyOptional cultivar label entered in room setup and copied into each grow record.
Long history source
room · default recorderUse a tested read-only InfluxDB connection for room history; Recorder remains the default.
Per-probe grow comparison
dashboard · default offSelect 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
roomThe pump prime time and the main-line lead time before each shot.
Settings: Pump prime time (2), Main line lead time (1)
Zone sizing
zonePlants, 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
roomThe 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
roomWhat the room grows in, and how its runoff leaves it.
Settings: Substrate (generic), Drainage (unknown), Sump power threshold w (20)
Readings from probes
zoneHow a zone's probes become its moisture and EC readings.
Settings: Vwc method (Median), Ec method (Median)
Runoff estimator
room · default offoff | 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 0Litres one sump run empties (bucket test); 0 = unknown, then pump flow x run time, else the sealed-room closure.
Sump pump flow
room · default 0L/min, used with the run time when the litres per run are 0; 0 = unknown.
Runoff reaches the sump within
room · default 90Longest shot-to-sump delay tried (min); the estimator learns the best one.
AC and dehumidifier run power
room · default 50An 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
roomOptional sensor mapping in Equipment > Setup; empty on existing and new rooms, read only.
Zone leaf temperature
zoneOptional sensor mapping in Equipment > Setup; empty on existing and new rooms, read only.
Room camera
roomOptional sensor mapping in Equipment > Setup; empty on existing and new rooms, read only.
Room CO2
roomOptional sensor mapping in Equipment > Setup; empty on existing and new rooms, read only.
Room PPFD
roomOptional sensor mapping in Equipment > Setup; empty on existing and new rooms, read only.
Room daily light integral
roomOptional 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 autoController app option.
AI dry run (propose only)
app · default falseController app option.
AI judges that run
app · default allController app option.
AI daily budget (USD)
app · default 1.0Controller app option.
AI calls a day
app · default 5000Controller app option.
AI budget warning (%)
app · default 80Controller app option.
AI model
app · default claude-haiku-5-5Controller app option.
AI key
app · default emptyController app option.
Hold entities
app · default noneController app option.
Feed EC sensor
app · default noneController app option.
Feed pH sensor
app · default noneController app option.
Sump power sensor
app · default noneController app option.
Notification service
app · default noneController app option.
Vitals interval (min)
app · default 30Controller app option.
Stage arc
app · default slab_defaultController app option.
Loop interval (s)
app · default 60Controller 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.