Skip to content

jacobdonenfeld/homeassistant-aerogarden

Repository files navigation

homeassistant-aerogarden

hacs_badge

Code style: black pre-commit.ci status codecov

This is a custom component for Home Assistant that adds support for the Miracle Grow AeroGarden Wifi hydroponic gardens.

Background

This was developed without collaboration with AeroGarden, and as of publication, there is no documented public API. This implementation was forked from that of ksheumaker after it was declared unmaintained, who in turn took inspiration and code from the code in this forum post by epotex.

Currently, the code is setup to query the AeroGarden servers every 30 seconds.

Tested Models

  • Harvest Wifi

(Other models are expected to work, since this queries AeroGarden's cloud service rather than the garden directly. Please confirm success in an issue if you use another model, so that the documentation may be updated.)

Installation

HACS

This integration is a default HACS integration. Simply by searching aerogarden in HACS integrations should allow one to find and install.

Manual (Testing custom changes)

Copy custom_components/aerogarden into your Home Assistant config directory. Your directory structure should look like this:

   config/custom_components/aerogarden/__init__.py
   config/custom_components/aerogarden/api.py
   config/custom_components/aerogarden/binary_sensor.py
   config/custom_components/aerogarden/sensor.py
   config/custom_components/aerogarden/light.py

Post installation steps

Note: Beta release has an automatic setup flow in process.

  • Restart HA
  • Add the following entry to configuration.yaml:
aerogarden:
    username: [EMAIL]
    password: [PASSWORD]
  • Restart HA final time

Data available

The component supports multiple gardens, and multiple sensors will be created for each garden. [GARDEN NAME] will be replaced by the garden name in the AeroGarden app.

Light

  • light.aerogarden_[GARDEN NAME]_light

Binary Sensors (on/off)

  • binary_sensor.aerogarden_[GARDEN NAME]_pump
  • binary_sensor.aerogarden_[GARDEN NAME]_need_nutrients
  • binary_sensor.aerogarden_[GARDEN NAME]_need_water

Sensors

  • sensor.aerogarden_[GARDEN NAME]_nutrient
  • sensor.aerogarden_[GARDEN NAME]_planted

Sample screenshot

Screen Shot

TODO

  1. Investigate the ease of turning on/off the light. See if it can be dimmed with more control.
  2. Full integration overhaul (See aerogarden-v2 branch)
    1. integration flow to setup
    2. Create an aerogarden device
    3. All calls are done async