hrafnkelle / tfbrew

Yet another homebrewing control system. Free as in freedom to make free beer.
https://github.com/hrafnkelle/tfbrew/wiki
GNU General Public License v3.0
8 stars 4 forks source link
asyncio beer blynk brewing ds18b20 fermentation fermentation-chamber homebrew ispindel mash max31865 pt100 raspberry-pi temperature-control temperature-sensor tilthydrometer

About

TFBrew is yet another beer homebrewing control system for (but not limited to) the Raspberry Pi.

You can use it to:

It aims to be a flexible, modular system allowing the user to configure it to different setups of homebrewing equipment.

TFBrew was written by Hrafnkell Eiríksson - he@klaki.net

TFBrew is Copyright from 2017 by Hrafnkell Eiríksson and is licensed by the GNU GPL v3 license. See the LICENSE file.

Please consult the Wiki for further information.

Plugins

TFBrew is based around the idea of components that send each other messages. Components are implemented through plugins. The following components are available

Configuration

It is configured throug a YAML configuration file, found in config.yaml. The included configuration might work for a single vessel BIAB system controlled by a Raspberry Pi, using GPIO for actors and a one-wire (w1) ds18b20 (or similar) temperature sensor. This could be controlled by a Blynk user interface. See the included config.yaml as an example.

First, actors and sensors are declared. Then, one or more controller is declared, a logic (how do decide when to activate e.g. heater), a sensor and an actor are attached. Extensions can then be loaded. Finally, message routing is set up in connections. Each component has one or more sending and receving endpoint. Messages from one component to another are set up like

KettleController.power=>UserInterface.powerdisplay

Installation

TFBrew requires at least Python 3.5 (for asyncio async/await support)

Clone this repository, and set up a virtualenv pip install the python packages in the requirements.txt file into your virtualenv

pip install -r requirements.txt

then run the tfbrew.py file

Please consult the Wiki for further information.