What the house did. Air ran inside its band on six days; on three afternoons the venting setpoint reached its ceiling and the house sat 0.9 °C over target for about two hours. Humidity deficit stayed under 3 g/m³ on four nights with the crown-rot concern on for 12 days; the fans carried it.
Worth a sentence. The two feed EC cells agreed within 0.03 all week — good. The wind vane held one reading for five hours on Tuesday; check it before the next windy day.
Every climate computer holds setpoints. None of them hold a grower's judgement. Rootline takes what you are actually worried about this week and moves every setpoint downstream of it, inside limits you set once — and every output on this screen can tell you why it is where it is.
Every week the advisor reads what the house actually did — every alarm, every shot, every number that drifted — and writes it up in plain language against the targets you set. When something is worth changing it proposes the change, with the reason, and you accept it with one tick. It never touches the house on its own.
Yield goes in the days a wrong-but-in-range number sits unnoticed — a sensor holding last-good, a ceiling that reads fine and does nothing. The advisor's job is to turn that week into a day.
Not "EC is high". The setting, the value now, the value proposed, the reason in one sentence, and where the number came from. You judge; you do not compute.
What you set on the controllers is the definition of correct. The advisor reports against it, never over it. Nothing changes until a person ticks the box.
A grower walks his rows every morning and comes back knowing something. Today the fruit is soft. Tonight will be wet. That knowledge then has to be translated, by hand, into eleven numbers on nine pages — and it usually is not, because there is not time.
Tick what you are worried about. Every affected setpoint shifts by an amount you set once, within a ceiling you set once. Nothing hidden, nothing automatic you did not authorise.
Concerns stack, and stacked concerns are how a system runs away. Every lever carries a magnitude limit, so five worries at once still land somewhere you would have chosen.
Every shift, every diversion, every alarm — logged with the reading that caused it and how many days it has been running. When something goes wrong, the system can tell you what it was thinking.
The engine ships identical to every greenhouse. There is no tomato version and no cannabis version. What changes per site is a profile — which modules the crop uses, the ceilings, and the numbers nobody can guess from an office.
You already own the disinfection. What you do not have is any way of knowing it worked today. Rootline measures everything entering the loop and everything leaving it, stage by stage, and tells you the day it changed.
A greenhouse produces more numbers in a week than anyone can read. The advisor reads all of them. Once a week it tells you what the house did against the targets you set, what drifted, what is due, and what it would change — worked out, with the reason attached. You accept with a tick or you don't. That is the whole relationship.
What alarmed and when it cleared. What drifted outside its band. What the house did against your targets. What changed because a concern was ticked, and for how many days. What is due — a calibration, a filter, a sensor gone quiet. What the weather cost or bought. Plain language, no code, under a page.
When something is worth moving: the setting, the value now, the value proposed, the reason in one sentence, and which authority it came from — your settings sheet, the crop tables, or what it saw. Checked against the band for this house before you ever see it. One tick to accept. Nothing moves until you do.
The failure that costs yield is a number that looks fine. A sensor that has read the same value for two days is dead, and the report says so. Two readings that agree perfectly, a flat line, a first-shot time that never moves with the weather — these are the sentences it is there to write.
An AI that has read every horticulture paper will still be wrong about your house. So the advisor is told, in writing, whose numbers count and in what order — and every report says which one it used.
The setpoints, ceilings, periods and concerns on the controllers this week are the definition of correct. If you set a night temperature of 14 °C and the published table says 16, the target is 14. It may say "below the published range" once, as information. It does not call you wrong, and it does not keep raising it.
The minimum, recommended and maximum for every configurable value, set at commissioning with a confidence rating per row. A value outside its band is worth a sentence. A value inside it is not.
Published starting points by crop and stage, with their sources. Where a proposal begins — never where a verdict comes from.
For explaining why, and for nothing else. It never introduces a number from the internet as a target. If it is not on the controllers, the sheet or the tables, it is not a number this system uses.
Everything that runs the house lives on the Reliable Controls hardware. The advisor runs on a small fanless box in the panel that reads the controllers and keeps a copy. It has no write path into the controllers — not a policy, a construction. Its only output is a proposal into a box you tick.
The house waters, heats, vents, doses and alarms exactly as before. The only thing that stops is a message leaving the building.
Nothing in the house changes. When it comes back it catches up from the controllers' own logs.
Stays on your controllers and in your building. The box reads it; it does not own it.
It does not present a value it was not handed, does not call your setting a fault, and does not describe the system as having "decided" something you set.
The alarms themselves live on the controllers, where they belong. The box is what gets them to a phone: text message, Telegram, push, WhatsApp. Page the first person; no answer in ten minutes, call the next. Who is on tonight, not who is on the list. A chattering alarm becomes one message and a count. And the all-clear is sent — "the heat came back" at four in the morning is the message that lets someone go back to sleep.
It also watches for the faults the head end cannot report about itself: a controller gone quiet, the display unreachable, the internet down for more than an hour. Once a week, the health report. Watch comes with every system; the advisor sits on top of it.
One engine underneath, one crop profile on top. Every site starts with the base. Field modules are bought one at a time, each in its own controller, so a house can start with one and grow into the rest without anything being replaced. A module you do not have still shows on your screens — greyed, with the reason — so the picture of what the system is doing is always honest.
Every module earns its keep alone. Put two together and something appears that neither had. This table is also a promise: with the second module absent, the first behaves exactly as its own card says.
The pages a grower works on. Every box with an outline is a number the grower can change; the row at the foot of each page shows how the live value is put together, so nothing is hidden. Tap any page to open it full size.
The engine does not change. The profile does — ceilings, targets, and which lab test the system tells you to order.
Every number in a control system belongs to one of four groups. Knowing which group a number is in tells you who decides it, when it gets set, and what happens if it is wrong.
The engine. Offset program, period resolvers, setpoint and influence logic, curve and trigger programs, the object skeleton, the graphics generators. Would the line be identical in a tomato house in Leamington? Then it belongs here.
Concern grid and ceilings, stage setpoints, EC and shot grids, outside-temperature and wind tables, dry-back windows, crop profile. Ships with a starting value and a cited source against every figure, so you can see where a number came from and argue with it.
Stroke times, pulses per litre, sump volume, EC span, valve ranges, compass offset, tank depths. These cannot be guessed from an office, and commissioning refuses to proceed until they are proven.
This tier comes first. A 15% ceiling on shot size means nothing until pulses-per-litre is proven — until then it is 15% of an unknown.
Which concerns are on, day and night targets, photoperiod, dusk cutoff, whether the hanging line and substrate EC are used at all. These are opinions about the crop, and they are not ours to hold.
It fits alongside whatever control system is already in the building. Everything entering the loop and everything leaving it, measured stage by stage — so you find out the disinfection stopped working on the day it stopped, not when a crop fails.
Filter, ozone, UV — each verified the way that treatment actually works, not with one method borrowed from another. Continuously.
In minus out, times volume, per ion. What the plant consumed. No climate computer shows you this.
Salt cannot be treated out — it leaves by dilution or discharge. Everything else is a treatment problem, not a reason to empty the tank.
This line, this house, today. A schedule of mostly negative tests becomes targeted ones, earlier.
Viruses are the most UV-resistant thing in your water. Bacteria clear at under 20 mJ/cm² for a three-log kill; the drain-water standard for tobamoviruses is 250. So a unit giving you a perfect bacterial result can be nowhere near virus-competent — and nobody in that room knows the number. Rootline computes delivered dose continuously from transmittance, flow and lamp output, and tells you the hour it falls short.
Your UV unit almost certainly measures its own intensity and run hours already and reports them on Modbus. We read what is there before specifying anything new.
Three destinations, not two. The third is the one that stops a grower dumping because he is unsure.
Chemistry inside the ceiling, treatment verified. The water goes on to be reused.
Sodium, chloride, boron or bicarbonate at the ceiling — nothing can treat those out. Logged with the reading and the volume.
Something is wrong but not yet identified. It must not enter the clean tank, and it should not become regulated discharge either. Hold it until somebody looks.
No valve, no outputs, nothing it can break. It names the right destination and says why; a person turns the valve. It sits beside your existing control system without touching it.
You decide what it may do on its own and where the ceiling is. Default is advise. Enable automatic diversion above a figure you chose, and it acts and writes down why.
No instrument on the market continuously detects tobamoviruses in irrigation water. Flow cytometry counts bacterial cells and is blind to viruses; species-level answers come from a lab, in days. Anyone selling you live virus detection is selling something that does not exist, and the first outbreak it misses is your crop, not theirs.
What can be done is guarantee the dose that inactivates them, prove it every hour, and put the lab sample on the right line on the right day. That is prevention by proof rather than by promise — and it is a claim we will put in writing.
Every season brings a new jug — silicon, kelp, humics, amino acids, microbials. None of them can be shown to be needed by any test, because there is no deficiency to be in. Trial settles it on your own crop, in your own house, with numbers.
In Canada a product like this is a supplement under the Fertilizers Act, and one not on the exempt list has to be registered. But the assessment is safety and standards compliance — not efficacy. A registration number means it will not hurt your crop or the person handling it. It does not mean it does anything.
Which leaves exactly one way to find out: treat some rows and not others, and weigh the difference.
A badly run trial is worse than none, because it justifies a standing purchase for years. These are built in, not left to memory.
Drain EC on its own moves with drain volume as much as with the plant. In minus out, times volume, per ion, is the number that means something.
Most of these products are salts. The treated row's EC changes because you put it in, not because the plant responded.
The treated row needs its own dosing and its own drain collection. A shared mixing tank or a common gutter means there is no trial, only a story. First thing we check.
One row against one row is position, not treatment — vents, heating pipe, gable end, light gradient. Several paired rows across the house, and the treatment swapped partway so position cancels out.
Two weeks with both rows instrumented and neither treated. What they differ by with nothing applied is your noise floor — any effect smaller than it cannot be seen, however long you run.
What improvement pays for the product across the whole house, at your price. Written down first, because once a pallet is bought a two percent difference starts looking like a result.
Everyone else in your supply chain is selling you the next jug, and every one of them arrives with a glossy trial run somewhere warmer. With Trial you have numbers from your own rows, in your own house, on your own crop — which means you can say no, and say why.
A control system you cannot leave is not a purchase, it is a subscription with a wire attached. Everything here runs on hardware anybody can buy and protocols anybody can read.
Reliable Controls, BACnet native. An open authorised dealer network across North America, not a single-source dependency on us.
Modbus and 4–20 mA. Standard probes from whichever supplier you prefer. Nothing is keyed to us.
Your UV unit, your weather station, your dosing skid. We read what is already there before specifying anything new.
On your controllers, in your building, readable without us. If you replace us, the system keeps running.
Most control problems are not logic problems. They are a number that is wrong but still in range — a stroke time nobody checked, a flow meter assumed rather than proven. Commissioning here runs in a fixed order with a proof gate at each step, and the system will not accept the next tier until the one below it is signed off.
Strokes, pulses per litre, spans, volumes, ranges — measured on site and recorded with the date and who checked them.
Ceilings, grids and windows set as real quantities rather than percentages of an unknown, each against a minimum, a recommended start and a maximum.
Targets, photoperiod, which concerns are live. Set with you, at the end, when everything underneath is known to be true.
No system goes in without remote access — not for us to poke at, but so that a problem at three in the morning is a phone call rather than a drive. Once a week the system sends a health report: what alarmed, what drifted, what is due for calibration, and what it did on its own.
Support scope, response times and what happens if a crop suffers are agreed in writing before installation, per site. We would rather have that argument at the start than in the middle of a heat wave.
Bring the problem you cannot currently solve with the system you have. If Rootline is not the answer we will say so — there are jobs better served by a setpoint change than by a new controller.
info@rootline.ca
519 380 5104
Chatham-Kent, Ontario
Reference site running in southwestern Ontario. Early conversations welcome; overselling is not.