[Beta Release] Crop Steering System — automated irrigation with VWC/EC sensors, AppDaemon, HACS

Hey all,

Been working on this iteration for almost a year on and off and previous iterations since 2020. I’m finally at a point where I’m comfortable sharing it as I have it working. It’s a crop steering integration that handles automated irrigation using VWC and EC substrate sensors. This has been designed specifically for cannabis cultivation (I am running a licensed medical facility).

Custom integration (HACS) + AppDaemon modules + HA packages that together run a 4-phase daily irrigation cycle. You tell it about your hardware (pump, valves, sensors), configure your substrate parameters, and it handles the rest — decides when to water, how much, and sequences your hardware safely so nothing blows up.

Why I built it

Commercial crop steering controllers cost thousands and at the end of the day they are just green taxed way over priced basic logic systems with 50$ worth of parts sold for 1000s and they lock you into their ecosystem, are cloud based etc, basically sacks of shit. Started as a pile of automations, evolved into a proper integration with a state machine and some basic ML for timing predictions.

How it actually works

Daily cycle follows the P0 through P3 phasing:

  • P0 — Lights come on, system records peak VWC and waits for dryback. No watering until substrate drops enough or a max timer forces transition.
  • P1 — Ramp-up. Small shots that get progressively bigger. Fires every ~15 min.
  • P2 — Maintenance. Monitors VWC against a threshold that auto-adjusts based on EC ratio. If EC is running high, it pushes more water through. Low EC, it backs off. This runs most of the day.
  • P3 — Wind-down before lights off. Stops planned irrigation, only allows emergency shots if VWC drops dangerously low overnight.

Every shot request goes through a safety chain — checks system enabled, override status, VWC not already at field capacity, daily volume limit, minimum time between shots, EC max, and shot count. If any check fails, the shot gets blocked and logged.

What’s in the repo

  • Custom integration (custom_components/crop_steering/) — creates 100+ entities, 4 services, handles all the calculations
  • AppDaemon suite (appdaemon/apps/crop_steering/) — 7 modules including the master app, phase state machine, dryback detection, sensor fusion with IQR outlier filtering, and an ML irrigation predictor
  • HA packages (packages/irrigation/) — 6 numbered YAML files that wire up entities, templates, and automations
  • Dashboard configs — ready to import
  • Interactive documentation — built a proper system guide with flowcharts for every decision the system makes

Hardware requirements

Pretty straightforward:

  • VWC/EC substrate sensors (supports front/back probes per zone, or single probe)
  • Relay-controlled pump, main line valve, zone valves
  • Supports 1-6 zones independently
  • Sensors can connect however — ESPHome, MQTT, Zigbee, doesn’t matter as long as HA sees the entity

Installation notes

Available as a HACS custom repository. You’ll also need AppDaemon 4 for the automation side.

FYI this isn’t a one-click install. There’s a decent amount of entity mapping to get your specific sensor IDs and valve switches wired into the config. I’ve been using Studio Code Server with Claude Code in HA to speed that process up and honestly it makes a huge difference when you’re mapping 30+ entities across 6 zones.

The interactive system guide covers everything in detail with flowcharts: Crop Steering — Complete System Guide

Irrigation manual for day-to-day operation: Irrigation System Manual

GitHub: GitHub - JakeTheRabbit/HA-Irrigation-Strategy: Home Assistant Irrigation Strategy with Crop Steering and full GUI configuration via blueprints · GitHub

What’s next

Still iterating on this. The ML predictor is basic right now — works but there’s room to make it smarter. I am almost finished setting up the latest Gemma 4 model to run on my HA NUC to do 15 minute heart beats with Open Claw as like an AI overlord safety layer. Dashboard could use some love too, need to sort out graphs. Open to PRs if anyone wants to contribute.

If you’re running any kind of indoor growing setup with substrate sensors and HA, give it a look. Happy to answer questions about the implementation or help troubleshoot setups.