How do I link the Grow Sensor with Home Assistant

If you’d like a broader introduction before tackling these detailed steps, start with our overview page here: Home Assistant grow-room guide.

If not, jump right in here:

1

Flash Home Assistant OS onto the SD card and put it into the RPI. (This is easily done by using

(This is easily done by using Raspberry Pi Imager available here https://www.raspberrypi.com/software/, choose the Home Assistant image option)

2

Connect the RPi to the router with a network cable.

Connect in browser at http://homeassistant.local:8123/

First time run takes its time!

3

Choose to create my Smart Home

You’ll be prompted to create a user

The fresh HA Overview will now look like this

4

The grow sensor will connect to an MQTT broker that will run on the HA device.

5

Install the MQTT broker on HA

Go to Settings -> Add-ons -> Add-on Store

Install the Mosquitto Broker Add-on and check it’s configured to start on boot.

Start the broker

6

Configure the Grow Sensor (get one here) to connect to your HA MQTT broker using the Grow Sensor App.

7

Set up MQTT integration in Home Assistant

Configure the MQTT broker. Go to Settings -> Devices and Services. The installed MQTT add-on should have been discovered. Add it to your configuration by choosing ADD.

8

Check that Grow Sensor data is being received by the broker and find your topic: Settings -> Devices and Services -> MQTT -> Configure (symbol)

Listen to a topic. Enter # as the topic which allows all messages on the mqtt broker to be displayed for you.

Press START LISTENING and wait for data to arrive. It can take up to 3 minutes because the standard sensor refresh time is 3 minutes

IMPORTANT: Extract the topic from this screen as you need it for the Sensor integration step. In this example, the topic is GROW/GROW-00070006

Option 1. Integrating sensors using MQTT discovery - The sensor does not send a discovery message, so we must send it manually to the HA mqtt broker.

  • Settings -> Devices and Services -> MQTT -> Configure (symbol)

  • The following example text needs to be modified to have the same topic structure and sensor_id that you see on the broker. I.e. Find/Replace 70006 with your sensor’s ID.

  • Each message below must be published on its own topic below with retain:


Topic: homeassistant/sensor/7000601/config 
Message: {"name": "70006 Temperature", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r1val }}", "unit_of_measurement": "°C", "unique_id": "7000601"}

Topic: homeassistant/sensor/7000602/config 
Message: {"name": "70006 Humidity", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r2val }}", "unit_of_measurement": "%", "unique_id": "7000602"}

Topic: homeassistant/sensor/7000603/config 
Message: {"name": "70006 Pressure", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r3val }}", "unit_of_measurement": "mBar", "unique_id": "7000603"}

Topic: homeassistant/sensor/7000604/config 
Message: {"name": "70006 Dew Point", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r4val }}", "unit_of_measurement": "°C", "unique_id": "7000604"}

Topic: homeassistant/sensor/7000605/config 
Message: {"name": "70006 Dew Point Gap", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r5val }}", "unit_of_measurement": "°C", "unique_id": "7000605"}

Topic: homeassistant/sensor/7000606/config 
Message: {"name": "70006 CO2", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r6val }}", "unit_of_measurement": "ppm", "unique_id": "7000606"}

Topic: homeassistant/sensor/7000607/config 
Message: {"name": "70006 Ambient VPD", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r7val }}", "unit_of_measurement": "kPa", "unique_id": "7000607"}

Topic: homeassistant/sensor/7000608/config 
Message: {"name": "70006 Leaf Temp", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r8val }}", "unit_of_measurement": "°C", "unique_id": "7000608"}

Topic: homeassistant/sensor/7000609/config 
Message: {"name": "70006 ePPFD", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r9val }}", "unit_of_measurement": "µmol/s/m2", "unique_id": "7000609"}

Topic: homeassistant/sensor/7000610/config 
Message: {"name": "70006 RQLI Red", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r10val }}", "unit_of_measurement": "%", "unique_id": "7000610"}

Topic: homeassistant/sensor/7000611/config 
Message: {"name": "70006 RQLI Green", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r11val }}", "unit_of_measurement": "%", "unique_id": "7000611"}

Topic: homeassistant/sensor/7000612/config 
Message: {"name": "70006 RQLI Blue", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r12val }}", "unit_of_measurement": "%", "unique_id": "7000612"}

Topic: homeassistant/sensor/7000613/config 
Message: {"name": "70006 RQLI IR", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r13val }}", "unit_of_measurement": "%", "unique_id": "7000613"}

Topic: homeassistant/sensor/7000614/config 
Message: {"name": "70006 eDLI", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r14val }}", "unit_of_measurement": "mol/m2/d", "unique_id": "7000614"}

Topic: homeassistant/sensor/7000615/config 
Message: {"name": "70006 Substrate Moisture", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r15val }}", "unit_of_measurement": "%", "unique_id": "7000615"}

Topic: homeassistant/sensor/7000616/config 
Message: {"name": "70006 Substrate ECp", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r16val }}", "unit_of_measurement": "mS/cm", "unique_id": "7000616"}

Topic: homeassistant/sensor/7000617/config 
Message: {"name": "70006 Substrate Temp", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r17val }}", "unit_of_measurement": "°C", "unique_id": "7000617"}

Topic: homeassistant/sensor/7000618/config 
Message: {"name": "70006 Leaf VPD", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r18val }}", "unit_of_measurement": "kPa", "unique_id": "7000618"}

Topic: homeassistant/sensor/7000619/config 
Message: {"name": "70006 Ambient Leaf difference", "state_topic": "GROW/GROW-00070006", "value_template": "{{ value_json.r19val }}", "unit_of_measurement": "°C", "unique_id": "7000619"}

Alternatively, they can all be done together by pasting the following into a CLI terminal. (Need to download the Terminal Add-on)

Option 2. Integrating the sensors into HA by editing configuration.yaml

Pros: one step

Cons: slightly less flexibility in the Home Assistant UI

Now that HA is receiving data, we must decode this JSON and assign it to individual entities.

Now that HA is receiving data, we must decode this JSON and assign it to individual entities.

Create a dashboard

Got to : Settings -> Dashboards -> +ADD DASHBOARD -> New dashboard from scratch

Edit dashboard

-> {} Raw configuration editor

Enter this:

Last updated

Was this helpful?