Daily checks: the self-completing facility round
The best daily check is the one that mostly fills itself in. Let Home Assistant confirm everything it can measure, leave the human only the physical walk-around, make the rest one tap, and the check gets done every day, honestly, with an audit trail that holds up.
Why daily checks fail, and the fix
Every facility has a daily check sheet. Most are half-fiction. Not because staff don't care, but because the sheet is slow, nobody owns it, and nothing visibly happens with it. The fix is not more discipline. It is better design: make the check fast, make most of it complete itself, and make the part a human does almost effortless.
A famous surgical study found records showing 100% checklist compliance while observers watched only 4 of 13 items actually get done[4]. A ticked box is not proof of a done check. This guide builds a daily check where the ticks are earned: the measurable items are confirmed by your sensors, and the human items are so quick there is no reason to fake them.
Home Assistant auto-ticks every check it can measure (climate, lights, irrigation, doors, power), the grower does only the physical walk-around, one tap or an NFC scan logs the rest, and a missed or out-of-range item escalates on its own. The sheet becomes a short list of real, human-only items, on a calm green dashboard.
Any indoor or controlled-environment grow with sensors and an irrigation controller, scaling from a tent to a licensed medical facility. The behaviour and checklist principles hold even with no automation at all, the Home Assistant section is how you remove the busywork.
Accuracy, self-review, and grain-of-salt notes
We've gone to great lengths to keep these guides honest. One of the main ways we do that is self-review: we actively look for claims that are subjective, only lightly backed by literature, or based on grower practice rather than a controlled study — and we call those out instead of dressing them up as settled science.
Often there simply is no paper for the decision you're making. In those cases we're drawing on what other growers report and what has worked in our own rooms. That can still be useful — but it is not a lab proof. Do what works for your plants, your room, and your meters. If a table disagrees with your crop, believe the crop and log the difference.
- Checklists improve process reliability in high-risk work
- HA auto-tick + walk-around hybrid for grow ops
- Surgical mortality reductions as evidence of cannabis yield gains
- Home Assistant logs as default validated GxP/GACP audit systems
- Implementation-intention effect sizes as '2–3×' without base rates
See something glaringly wrong? Tell us and we'll fix it. Please open a GitHub issue with the paper name and what looks off (include a source if you have one): Report an accuracy issue. Local law, labels, and licences always override any recipe here. Inline notes labelled grain of salt flag the highest-risk over-trust points in the text.
The words you need
What makes a check actually get done
Adherence is a design problem, not a character problem. Decades of checklist and behaviour research point at the same handful of levers.
The levers, in order of impact
- Cut the friction. Get each check under about 30 seconds, mobile, one tap. Every field you remove raises completion; auto-filling what the system already knows is the single biggest win[13].
- Short lists at pause points. Five to nine killer items per list, one screen, run at a trigger moment, not one giant sheet[1].
- Fixed time, one named owner. Tie each check to a person and a moment ('at lights-on the AM tech does X'); this if-then framing has a medium positive effect on goal attainment (meta-analytic d≈0.65)[3]. Name a backup for the owner-absent case.
- Close the loop. Show the worker their data was used and acted on. The top cause of disengaged faking is submitting into a void where nothing ever happens.
- Make completion visible. A team board of who did and did not do their checks lifts adherence sharply, as long as it reads as shared transparency, not surveillance.
When genuinely performed, the WHO Surgical Safety Checklist cut deaths from 3.7% to 1.4% and lifted adherence to key steps from 18.6% to 50.7%[5]. The gain comes from the check actually happening, never from the mandate or the tick-rate alone.
What to actually check, and when
Split the day into a few short pause-point lists, each tied to the moment it matters. Each line has a pre-set green / amber / red limit so the judgement is already made.
| Pause point | Style | Killer items |
|---|---|---|
| Lights-on / opening | do-confirm | climate in band, photoperiod on schedule, no flower light leaks, equipment online |
| At first irrigation | read-do | root-zone VWC / EC / pH, overnight dryback, runoff EC/pH, feed vs recipe[8] |
| Mid-day | do-confirm | crop walk, IPM scout (type/place/severity/photo), anything off |
| Pre-dark / closing | do-confirm | dehumidification ramped, night airflow on, doors/vault secure, waste logged |
| On alarm | read-do | the specific response steps for that alarm |
Confirm dehumidification ramps within minutes of lights-off and air keeps moving all night. A quiet failure here is how a clean late-flower room turns into a bud-rot room overnight.
Auto-complete it with Home Assistant
Most of a daily check is data the building already knows. Let Home Assistant confirm those items so the human never re-types what a sensor can prove.
binary_sensor that defines 'in range'; an automation calls todo.update_item to tick the item once that holds true through the check window[6][7].The building blocks
- The list: a
local_todoto-do list is the daily sheet; items are ticked by automation viatodo.update_item[6]. - The 'pass' test: a template
binary_sensorper item that is on only when every reading is in band (climate, photoperiod, doors-closed, tank, runoff, all-online). - Counters for the record: an integration (Riemann) sensor plus a daily
utility_meterfor DLI and runoff volume;history_statsfor light and pump run-time. - The nag: the
alertintegration repeats and needs acknowledging, ideal for 'fridge out of range' or 'checks not all done by 09:00'[7]. - Proof of presence: an NFC
tagat each station ticks its walk-around item when scanned, so a physical visit is logged, not just claimed. - The audit trail, free: long-term statistics keep every reading, so the daily environmental and irrigation record exists with no extra logging[7].
Build binary_sensor.environment_ok = temp, RH, VPD and CO2 all in their stage bands. An automation watches it; once it has held true across the lights-on window, it calls todo.update_item to complete 'Environment in range' on today's list. The grower opens the list and that line is already green, with the numbers in the history for the record.
Make the human part almost nothing
For the items a person must do, design for the lowest possible interaction. The happy path should be nearly empty; effort appears only where there is a problem.
- Default to pass. Items start OK; the operator only ever touches one to flag an exception. A passing day is a few taps end to end.
- Exception-only evidence. A fail expands to require a photo plus a short note; passing items capture nothing. The audit trail is richest exactly where there is a problem.
- NFC primary, QR fallback. An NFC tap auto-logs checkpoint, time and identity and is hard to spoof; print a QR on the same placard for phones without NFC.
- Route, don't hunt. Model the walk-around as an ordered route; let the next station's card come up on arrival rather than scrolling a list.
- Voice for the note. Spoken exception notes are the fast path when hands are gloved or on the plant, and they measurably increase how often observations get logged.
Getting people to do it, honestly
Two failure modes remain even with a great list: it gets skipped, or it gets faked. Design against both directly.
Anti-pencil-whip, by design
- Auto-capture who, where and when. Pre-stamp timestamp, identity and station (and any sensor reading). This removes a typing step and makes fabrication detectable, the worker cannot claim a presence or a value the system contradicts.
- Do not weaponise the tick-rate. Auditing box-count and attaching sanctions to it manufactures faking, the 100%-recorded, 4-of-13-done trap[4]. Spot-audit the reality of a sample instead.
- Embed in the workflow. Time checks so they do not collide with the busiest moments; make the check a natural step, not a resented interruption.
- Kill perverse incentives. No volume quotas that reward rushing; make it safe to report a real failure rather than soften or hide it.
The most common escalation bug is no path when the owner is on leave or sick. Name a backup and route to them automatically, or the safety net quietly fails on exactly the days you need it.
The audit trail, and how to build it
Because the data entry is near zero but the system stamps who, where, when and what on every action, you get the easiest-to-fill check and a defensible record from the same design.
- The record is automatic. Long-term statistics hold every environmental, light and irrigation reading as the daily log[7], the human items carry a timestamp, identity and any exception photo.
- Roll up for compliance. Feed the daily fields into per-lot records (inputs, conditions, deviations, corrective actions) for operational seed-to-harvest discipline (regulated GACP/GMP still needs validated systems)[10][9].
- Trend, don't just file. Set alert and action limits from your own history and review them weekly so drift is caught before it becomes a deviation[9]. Sanitation, hygiene and pest logs follow the same record discipline[12][11].
- 1Make the listOne local_todo list = today's sheet, seeded each morning with the day's items.
- 2Define 'pass' in softwareA template binary_sensor per measurable item: the machine definition of in-range.
- 3Auto-tickOne automation per item: when its binary_sensor holds true through the window, complete the to-do item.
- 4Add the human itemsinput_boolean toggles or NFC tags for the physical walk-around; default-to-pass UI.
- 5Escalate & recordAlert on overdue or red items; rely on statistics for the audit trail; review trends weekly.
Pilot for about two weeks, watch where it is skipped or breaks, cut non-killer items, fix wording in growers' terms, and re-issue. Re-test after any facility or automation change. A daily check is a product you maintain, not a form you laminate.
References
- Gawande A (2009). The Checklist Manifesto: How to Get Things Right. Metropolitan Books. (read-do vs do-confirm, pause points, 5-9 killer items.) (industry/manufacturer or non-journal source) https://atulgawande.com/book/the-checklist-manifesto/
- Fogg BJ. The Fogg Behavior Model: B = MAP (behaviour occurs when Motivation, Ability and a Prompt converge). Stanford Behavior Design Lab. (industry/manufacturer or non-journal source) https://behaviormodel.org/
- Gollwitzer PM, Sheeran P (2006). Implementation intentions and goal achievement: a meta-analysis of effects and processes. Advances in Experimental Social Psychology 38:69-119 (medium-to-large effect, d=0.65). https://doi.org/10.1016/S0065-2601(06)38002-1
- Observational study of surgical-checklist use: high recorded compliance did not guarantee the items were actually performed (records showed 100% adherence; observers found 4 of 13 items done). PMC4484042. https://pmc.ncbi.nlm.nih.gov/articles/PMC4484042/
- Haynes AB, Weiser TG, Berry WR, et al. (2009). A surgical safety checklist to reduce morbidity and mortality in a global population. New England Journal of Medicine 360(5):491-499. https://www.nejm.org/doi/full/10.1056/NEJMsa0810119
- Home Assistant: To-do list (todo) and Local to-do (local_todo) integrations, todo entity and todo.update_item action used to auto-complete checklist items. (industry/manufacturer or non-journal source) https://www.home-assistant.io/integrations/todo/
- Home Assistant: Template (binary_sensor), Alert, Statistics/Recorder, Tag (NFC) and Schedule integrations used to define 'in range', escalate, log the audit trail and prove presence. (industry/manufacturer or non-journal source) https://www.home-assistant.io/integrations/template/
- AROYA. Crop-steering and drip-and-drain root-zone monitoring (substrate VWC, EC, pH, dryback, runoff) as the daily root-zone measurement. (industry/manufacturer or non-journal source) https://aroya.io/
- EU GMP Annex 1 / EMA environmental-monitoring guidance: define alert and action limits, trend routine monitoring data, require corrective action on excursions. (industry/manufacturer or non-journal source) https://health.ec.europa.eu/medicinal-products/eudralex/eudralex-volume-4_en
- World Health Organization (2003). WHO guidelines on good agricultural and collection practices (GACP) for medicinal plants. (industry/manufacturer or non-journal source) https://www.who.int/publications/i/item/9241546271
- GLOBALG.A.P. Integrated Farm Assurance, Crops / Fruit & Vegetables control points and compliance criteria (hygiene competence, maintained irrigation equipment, record retention). (industry/manufacturer or non-journal source) https://www.globalgap.org/
- HACCP prerequisite programmes / Sanitation Standard Operating Procedures: daily sanitation checklists, hygiene checks and pest-control logs (what, how, how-often, who-verifies). (industry/manufacturer or non-journal source) https://www.fda.gov/food/hazard-analysis-critical-control-point-haccp/haccp-principles-application-guidelines
- Industry analyses of digital vs paper inspection checklists: higher completion rates, faster rounds and fewer documentation errors, driven by lower friction and enforced completeness. (industry/manufacturer or non-journal source) https://www.fiixsoftware.com/cmms/mobile-cmms/
Citations marked in-text as [n] map to this list. Primary literature and official guidance except where noted. Cannabis tissue culture is strongly genotype-dependent, verify dilutions, hormone doses and local regulations against the primary sources before relying on them.