Install
Two pieces are installed together. The integration lives inside Home Assistant. The controller is a companion app that makes the irrigation decisions. Everything on this page below the first section is the project's own install text.
Install the matching published pair
- Integration
- 2.19.2
- Controller
- 0.16.2
- Home Assistant
- 2024.3+
This release documents integration 2.19.2 and controller 0.16.2. Use the matching published pair. The public demo uses isolated synthetic data; its sample plans and records are not installation settings.
Install with an AI assistant
An AI assistant that can read a repository can use this link to guide the installation.
The project defines ground rules for an agent doing the installation.
Read INSTALL.md and the feature matrix. The integration and controller must be installed together. Preserve existing room IDs and user mappings; keep engines off during configuration. Guided links require the source revision to be published. Do not claim live verification from mocked HA tests.
For source validation, use the commands in TESTING.md. The dashboard build packages all three delivery paths.
Requirements
- Home Assistant 2024.3 or newer. Python requirements follow your HA version; HA 2024.3 requires Python 3.12.
- HACS for the guided integration download, or access to copy a custom integration manually.
- Home Assistant OS/Supervised with the app store for the guided controller install. Container/Core users must run the companion controller separately; a true one-click controller install is not available there.
- An HA administrator account for Rooms & setup and its configuration services.
- Existing HA entities for the actual pump and zone valves, fresh VWC/EC probes, feed-water probes and any configured interlocks. This integration maps entities; it does not provision sensor firmware or pair devices.
This release documents integration 2.19.2 and controller 0.16.2. Use the matching published pair. The public demo uses isolated synthetic data; its sample plans and records are not installation settings.
The guided steps
Three of the four steps have a button that opens the right screen in Home Assistant. The fourth step happens inside the app.
Add the integration repository to HACS, download it, and restart Home Assistant.
Open in HACSOpens this project in HACS in Home Assistant. You confirm the download there, then restart Home Assistant.
Add Crop Steering in Devices & services. Choose manual setup and name the first room.
Add Crop SteeringOpens Devices & services and starts the Crop Steering setup. Home Assistant asks you to confirm first.
Add the controller app repository, then install and start Crop Steering Controller.
Add the controller repositoryOffers to add the app repository in Home Assistant. You confirm, then install and start the controller from the app store.
Open Crop Steering in the sidebar. Use Rooms & setup to map equipment and probes, then Sensors to verify readings. Keep the engine off until the installation checks pass.
Home Assistant owns the install/restart confirmations; these links take you directly to the relevant screens. They do not bypass HACS, Supervisor or hardware commissioning. Complete installation and upgrade guide →
Verify the installation
With engines still off, confirm each room loads in the sidebar, the selected room has a current controller heartbeat, mappings show Mapping acknowledged, and Sensors shows the intended entities/units. Open Irrigation plan → Today and verify the existing values. An upgrade should retain each room's current values, zone identities and plant/dripper sizing.
Open Overview and a zone detail panel. A missing optional tank mapping may remain Not mapped; a missing required control sensor or controller acknowledgement needs resolution before commissioning. Last irrigation is an event record and may legitimately be absent on a new installation. Do not generate a physical shot just to fill that display.
The documented live evidence covers an in-place upgrade of an existing two-room installation. A completely blank installation, physical delivery and a complete live plan-boundary handoff remain separate commissioning checks. The feature matrix identifies those limits.
Before enabling irrigation
In Sensors, verify that mapped values are available, fresh and in the expected units. Distinguish pore/substrate EC from feed-water EC. Set room lights-on/off hours and review the zone's water limits, shot sizes and emergency floor. Check controller heartbeat and any holds. Validate pump/valve physical operation and delivered water on site before enabling an engine. HA state readback alone does not prove water flow.
Start with a reviewed manual configuration, or create a draft in Irrigation plan → Schedule, preview it, save it and arm it. A plan becomes eligible at the next lights-on boundary. Arming does not switch on the engine. An unsupported/old controller cannot activate a plan.
Upgrading an existing installation
One-off step in this release
After updating from 0.13.x, turn the engine kill switch off and on once so the controller can accept and save the current setup; later restarts resume by themselves.
For an existing controller, update it in place from its current app repository. Do not install a second controller from a different repository: that creates a different app identity and separate runtime data. The dedicated controller repository continues to receive matching releases.
- Back up HA, the controller's persistent data and existing setpoints. Export grow plans if available. Record which engines are enabled.
- Turn the affected engines off and wait for the pump, mainline and valves to be OFF. Stop the existing controller while replacing software.
- Refresh your existing app repository and update that controller in place to 0.16.2. After updating from 0.13.x, turn the engine kill switch off and on once so the controller can accept and save the current setup; later restarts resume by themselves. A restart alone does not rebuild an old image. Do not install a second copy or enable automatic startup during the upgrade.
- Download integration 2.19.2 through HACS and restart HA. Confirm every Crop Steering room finishes loading. Version 2.13.1 fixed the concurrent sidebar-registration error discovered with two rooms during the live upgrade.
- Start the controller with engines still off. Verify its version, fresh heartbeat, both room descriptors, sensor readings, setup acknowledgement and grow-plan capability. Compare current setpoints and pot/dripper sizing with the backup.
- Restore the engines' previous enabled states after these checks. An upgrade does not require arming a recipe or replacing existing values with defaults.
If an update is missing from the app store, refresh the repository information first. Use Update for published versions or Rebuild for a local source installation. HACS and the app store update separate components.
The existing app slug f2_control and entity IDs are deliberately stable. Existing environment mapping remains supported. Older dashboard bookmarks retain room context and redirect to the new routes. After upgrade, verify the room descriptor and controller heartbeat, setup acknowledgement and plan capability before enabling control.
Restore a prior version
Turn affected engines off and confirm physical equipment is off. Restore the prior integration/controller versions and their matching persistent-state backup. An active grow plan uses a durable required-plan latch: do not downgrade the controller while expecting it to understand a newer active plan. Disarm and verify the boundary handoff to manual targets first, or restore a complete known-good backup with engines off.