automated-garden
automated-garden copied to clipboard
weather-based smart irrigation controller and backend
## Description Record data about weather-based scaling in order to display data about water savings. This feature would also enable a "watering progress" in the UI where I can estimate...
I realized that I can force storage client errors in tests by using a `&storage.Client{}` without the initializer. I just need to update functions to check that `c.db != nil`...
## Description Add another implementation of `weather.Client` that uses a publicly-available weather API to remove the current hardware barrier for weather-based watering. [Open Weather Map](https://openweathermap.org/api) [Wunderground](https://www.wunderground.com/about/data) ## Requirements - Allow...
It might be nice to have more flexible scaling configurations that have different parameters for scaling up or down. Some possible use-cases are: - Only scale down, never up (or...
## Description Instead of generating an access token and refresh token, you should be able to use the oauth flow to redirect to Netatmo website for login. This could be...
## Description MQTT broker supports authentication so I should enable it in the broker, server, and controller. Another benefit of this is that it enables using a cloud-hosted MQTT.
Control a fan on a schedule to increase airflow in a garden. Useful specifically for seed-starting setups. ## Requirements - Available as part of a `Zone` - Support simple/flexible schedules...
- Enable mocking time with `clock` package - Enable mocking new ID creation - Add VCR setup in middleware - Fix duplicate metric registration - Fix empty NotificationClientID for creating...
## Description This is the next step of the controller firmware overhaul that sets it up to save a config JSON to a file. This config is received via MQTT...