Home Assistant integration
Home Assistant is GrowRig’s compatibility layer. It handles device discovery, protocol translation, and current state; Grow Core adds the grow-domain model, control policies, and history on top.
How Grow Core connects
Section titled “How Grow Core connects”The Home Assistant adapter reads climate sensors over the Home Assistant WebSocket API and commands fans via REST service calls. It connects one of two ways, chosen purely by configuration:
- Supervisor proxy — when running as a HAOS add-on, Grow Core reaches Home
Assistant at
http://supervisor/coreusing$SUPERVISOR_TOKEN. No manual token. - Remote Home Assistant — for local development, point Grow Core at
http://homeassistant.local:8123with a long-lived access token.
See Configuration for the exact files and modes.
Commanding fans
Section titled “Commanding fans”The adapter uses fan.set_percentage to drive PWM outputs. If your ESPHome PWM
channels are exposed as number or light entities instead of fan entities, that
service call needs adjusting — bind the correct entity IDs in the config’s fan.*
mappings.
Binding entities
Section titled “Binding entities”The config declares environments and devices, and binds each device’s sensors and fan
channels to Home Assistant entities. Edit the sensor.* and fan.* entity IDs to
match your ESPHome controller.
Who owns what
Section titled “Who owns what”Grow Core deliberately does not duplicate Home Assistant’s responsibilities:
| Home Assistant owns | Grow Core owns |
|---|---|
| Raw entity states | Semantic device roles |
| Protocol connectivity & discovery | Environments, recipes, control policies |
| Generic history | Cycle history, alerts, diagnostics |
This separation means Home Assistant can restart, or a device can be swapped, without GrowRig losing the meaning of your setup.