cmd/fermentord | ||
internal | ||
pkg/onewire | ||
.editorconfig | ||
.gitignore | ||
go.mod | ||
go.sum | ||
README.md |
fermentord
Control the temperature of your fermentation process.
Epics
Heater/Cooler
Persona | Description |
---|---|
Brewer | The person responsible for the wort and the fermentation process |
Operator | The person responsible for the fermentation tank and the system controlling it |
As a brewer I need to maintain the wort at a specific temperature so that my fermentation process is predictable As an operator I need an alert if the system can't maintain the temperature, so that I may correct the problem
Ambient temperature
- Ambient temperature
- Case temperature
- Wort temperature
- Wort gravity
User stories
Acceptance criteria
-
Given the wort is at or above the requested temperature and the heater is running then stop the heater
-
Given the wort is above the requested temperature and the heater is not running then start the cooler
-
Given the wort is above the requested temperature
-
Given the wort is too cold and the cooler is running then stop the cooler
-
Given the wort is too cold and the cooler is not running then start the heater
-
Given the cooler is running
-
Given the cooler is running when then the heater may not start
-
Given the heater is running then the cooler may not start
-
Given the temperature is
Data logging
-
Ambient temperature
-
Case temperature
-
Wort temperature
-
Wort gravity
-
Data is stored in sqlite3
-
Data is scraped and stored in PostgreSQL
-
Data is removed from sqlite3 when confirmed in PostgreSQL
Metrics
Prometheus metrics
- Ambient temperature
- Case temperature
- Wort temperature
- Wort gravity
- Heater state
- Cooler state