A bag at field capacity reads
straight through the normal ceiling on flush day.
Options
Operator
Auto capture
1 Stab the bag 2 Hold about 2 seconds 3 Beep means it logged 4 Pull the probe to re-arm
What the beeps mean
1 beep in range 2 beeps near the floor 3 beeps below the floor high-low outlier — worth a re-stab
Route
The first table of an aisle runs front to header, the second header to
front. Which tables share an aisle depends on the side of the row. Reference depth is the Bio365 sensor-jig line — about two inches
off the bottom of the bag. Stab to the jig, not by eye.
A 2-gallon reference below 25% asks for a mid-bag stab at the same spot.
Long-press the big button for CAL mode. Long-press the version for settings.
--%
--EC
-- °F
Sweep complete
stab v58
Checks · read here, never pasted
Row notes · one line per table
Room notes · exceptions only
nothing needs a note cell — the notes column is yours
Raw CSV
debug
Log
note
Room access
Blocks the whole room. Tapping Start commits it — the sweep still
runs, since a few rows can usually be reached anyway. One table you cannot
get to is a skip, not this.
Skip table
Why this table went unmeasured. One tap skips the rest of
it and moves you to the next table. It is recorded against the table, kept
out of the CHECK rules and out of the room's counts, and written to the
CSV — a table you could not reach is not a table fault.
CAL
Where are you?
Tap the table, then the position — this becomes the next target.
Schedule
Paste the weekly schedule blob — every room and every
table at once — or one room's screen if that is all you have. Nothing is
saved until you have looked at what was read.
Strain rename
Old name to new, effective a date — every room
carrying the old name reads the new one from that date on. A row
already logged is untouched; it keeps the name that was live when it
was read.
Renames on file
Re-room this sweep
Every reading keeps its table, position and depth.
Strain, floor, bag, drippers and hours since shot recompute for the
room you pick — including the copy already sitting in history.
Confirm room
This is what gets written on every row from here.
A sweep filed under the wrong room does not announce itself until
someone reads the CSV.
Today
Not backed up today
Tank readings · today
Feed EC by room comes from here now, through each
room's tank assignment in room setup — never a guessed constant.
Clears at midnight; enter it once a day, when it changes.
Room setup
What the room is, as opposed to what it is doing this week.
Set at move-in. Anything left blank falls back to the weekly file, and the
screen says which is which.
State
Room
Tables
Plants and drippers in bold have been counted. An
unbolded dripper count is the wing's usual number and a guess until
somebody walks the room; an empty plant count is not known at all. Both
are per table — A3 T1–T4 hold 40 where T5–T12 hold 60, and C3 differs the
same way, so neither is a property of the room.
Zones (Weekend Plan 3.5)
Paste Growlink's own zone list for this room — one
device per line, #20003605 B1 Table 4 B-1 — to tie a
table to the device id the overnight sensor pull will eventually read.
Alongside the schedule paste's own Sensor column, not instead of it.
Settings
Long-press the version string to get back here. Nothing on
this screen is needed to run a sweep.
Saved data
Growlink (Weekend Plan 3.1)
Read-only. Nothing in the app calls this yet except
the test below — no valve ever fires from this screen or any other.
The key lives here, never in source: it is typed in on this device and
kept in its storage only.
Full backup · sweeps + room config (Weekend Plan 1.6)
Storage is per device, and a second phone is coming.
One file — every stored sweep (CSV and workbook text included) and the
room config sheet — that a lost or wiped phone does not take with it.
Strain rename (Weekend Plan 2.3, §6.5)
Old name to new, effective a given date, across every
room at once — a row already logged keeps whatever name was live when
it was read; nothing is rewritten after the fact.
Position history · for the other phone
Battery capture
Sends get -batt over the DECA UART — the command
found in the SOLUS 1.2.6 binary — using the same framing and write as
sdicmd, and records every notification raw. Nothing is parsed: the
parser gets written from the packet, not from a guess. Connects on its
own; wake the probe first.
Probe scan
Asks the bridge directly whether it carries the standard
Battery Service. It connects on its own — wake the probe first, then tap.
The answer settles whether the Batt column can ever come back.
Practice room
A four-table fixture for learning the probe.
It is not a real room and never counts towards coverage.
Destructive
These cannot be undone. Type the word to confirm.
Calibration pairs are never removed.