• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

Native ESP8266 BrewPi Firmware - WiFi BrewPi, no Arduino needed!

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Fermentrack v0.1

We are proud to announce the soft release of Fermentrack - a fermentation temperature controller web interface. Fermentrack is a replacement web interface for BrewPi and enables the control of one or multiple BrewPi fermentation temperature controllers from a single web portal.

Key Features:
Simultaneous support of multiple controllers (“Multi-Chamber” support)
Native WiFi connection support
Streamlined device configuration workflow
Simplified installation process


Release Notes:
This soft release currently exclusively supports ESP8266-based controllers connected via WiFi. Support for serial controllers is forthcoming, with support for Arduino controllers soon behind. While there will be periodic, tagged numbered releases there is no specific release schedule and new features will be added continuously. As new features are added to the repo Fermentrack will periodically prompt to upgrade.

Fermentrack relies upon Nginx for managing connections to the web app and is currently intended to be installed on a freshly configured Raspbian install.


Installation:

Fermentrack can be installed via a quick, web-based installation script. To install, simply type:

Code:
curl -L install.fermentrack.com | sudo bash

into the terminal when connected to your Raspberry Pi.

For additional information on the installation process, review the installation script contained within the fermentrack-tools repo.

Documentation:

Written documentation is available at: https://thorrak.github.io/fermentrack/

Additionally, the installation/usage of Fermentrack is documented via a series of videos on YouTube:
Step 1. Installing Fermentrack - YouTube
Step 2. Configuring Fermentrack - YouTube
Step 3. Configuring a Controller - YouTube
Step 4. Creating a Fermentation Profile - YouTube

Licensing
Fermentrack is licensed under the MIT license.


Contributing
Interested in helping develop Fermentrack, write/update/fix documentation, or reporting bugs? Awesome! Bugs & issues can be easily reported on GitHub via the issue tracker. Pull requests are always welcome.

One area in which help is especially welcome is with the user interface - While the user interface isn’t bad, it certainly could use some improvements. If you have ideas (or can help with recreating it) please let us know!


Key Thanks
I am immensely thankful for the contributions of @rocket4x4 who has been a key contributor/collaborator in this project. Additional thanks go to Elco & the BrewPi team for designing the original web interface as well as the BrewPi controller. Separately, thanks goes to all the participants in this thread for providing feedback and ideas as Fermentrack was being developed.
 
Looks good I'll try and install tomorrow and then use for a brew next weekend!!
 
Installed 3 times on a new install of Raspbian pixel, did updated/upgrade/reboot, tried installing with your sudo bash command and also on sudo su before the command and the weird thing is that when its finished it says that the installation was not completed correctly but i can access fermentrack on the browser.
 
Installed 3 times on a new install of Raspbian pixel, did updated/upgrade/reboot, tried installing with your sudo bash command and also on sudo su before the command and the weird thing is that when its finished it says that the installation was not completed correctly but i can access fermentrack on the browser.

There should be a install.log in the fermentrack-tools directory in your
user home directory, it should give some more information about what
went wrong.

Open up a terminal and if your user is "pi" this should work to show
the log:

cat /home/pi/fermentrack-tools/install.log

or

cat /home/pi/fermentrack-tools/install.log | more
 
Suspect not an issue but I've not been able to do a fresh install but instead tried to remove brewpi and var/www/html but it does pull up errors so I'll have to give it another go with a fresh raspbian install.

Error message not particularly helpful [emoji57] but given I've not followed the procedure I can't really complain

View attachment ImageUploadedByHome Brew1489873608.204268.jpg
 
Suspect not an issue but I've not been able to do a fresh install but instead tried to remove brewpi and var/www/html but it does pull up errors so I'll have to give it another go with a fresh raspbian install.

Error message not particularly helpful [emoji57] but given I've not followed the procedure I can't really complain

View attachment 393217

Nah - I know that issue. I thought we had it fixed prior to launch, but apparently I missed something in the auto-install.sh script.

It should be fixed now, and I'm in the process of running a test install now to verify everything works as intended. I'm past the part that was broken though, so guessing everything is good ;).

Edit - All went well - installation completed successfully. Please report back if you find any other issues!
 
Ok all installed and it looks good, on a new instance of raspbian. Used all the fully auto options.

Couple of notes/questions though

- it flags a couple of errors during the install but I think these are normal but might cause concern if you're installing. See picture below.

- it takes quite a while to install just be patient.

- finally and this might just be down to me. I can't see how to reassign the temp probes. I have 2 cut to specific size installed in the fridge and I can't work out how to swap them round as they are auto assigned.View attachment 393296
 
Hi guys, having a few issues installing my device.

First off I'm on the most recent GitHub version of the firmware. Using an RPI zero W.
The board is one of Thorraks designs and its attached to sainsmart relay.

When I try to configure sensors and pins the time it takes to load is very long, and usually loads to a page stating

An error was found when attempting to load the sensors/pins on the device. Attempt to resolve the error, then click the button below to refresh this page.

It's almost like it's timing out?

If it does load when I add a sensor it refreshes to the error above but it does seem to install the device according to the dashboard.

When I try to install the heat/cool relay it won't install it not inverted and therefore fridge/heater are on by default.

As a point of note I have tried uninstall and reinstall a few times, although I only have one device on the dashboard) it is labelled as device 6. I can download logs etc but will need signposting to where i find them.
 
When I try to configure sensors and pins the time it takes to load is very long, and usually loads to a page stating

An error was found when attempting to load the sensors/pins on the device. Attempt to resolve the error, then click the button below to refresh this page.

It's almost like it's timing out?

If it does load when I add a sensor it refreshes to the error above but it does seem to install the device according to the dashboard.

I know exactly what the problem here is - and ran into the same issue during testing. I thought we had it solved but from what you're saying there's no such luck.

Basically what's happening is that BrewPi-script caches the list of devices in the background, and doesn't query the device every time it's requested. When Fermentrack requests brewpi-script provide the list of attached pins/sensors, it responds immediately with a message stating that the cached values aren't available. Fermentrack then keeps requerying brewpi-script but isn't receiving a value back.

I think this behavior in brewpi-script is because of design decisions in brewpi-www -- though I may be mistaken. Given that we're replacing brewpi-www, I think the better solution is to refactor this behavior out and have it query the list of devices in real time.


When I try to install the heat/cool relay it won't install it not inverted and therefore fridge/heater are on by default.

I haven't run into that one before. I'll take a look, and have opened this issue to track the results.

As a point of note I have tried uninstall and reinstall a few times, although I only have one device on the dashboard) it is labelled as device 6.

Don't worry about the device number. It starts at 1 when you first set up a device and increments as new controllers are added. It's only really used to track the device internally to Fermentrack.
 
Just reading up on what state the Sainsmart relay should be in, i think it needs to be set to inverted, rather than non inverted.
 
Got to say though despite my initial issues, you guys have done a beautiful job on this, it looks good, easy to navigate, and anyone looking to install i'd recommend taking a quick look at the youtube videos as there are a few bits on there that that aren't in the documentation yet.
 
Got to say though despite my initial issues, you guys have done a beautiful job on this, it looks good, easy to navigate, and anyone looking to install i'd recommend taking a quick look at the youtube videos as there are a few bits on there that that aren't in the documentation yet.

Err - If I haven't documented something, please submit an issue for that!

Same thing goes if anything in the interface isn't intuitive - the goal is not need to rely on the documentation for any of the common actions you would take with Fermentrack (adding/configuring controllers, controlling temperature, logging, etc.).
 
I just pushed a bunch of updates/bugfixes, mostly for issues found by @Mikmonken :
  • Inversion flag now is shown on the "Pin/Sensor List" page
  • Inversion flag now properly saved if set to "inverted" on pin assignment
  • Graphs should now be visible on iOS devices
  • Results from upgrade.sh should now be saved to upgrade.log
  • Misleading compile-time messages relating to zmq now suppressed

I also think that the error which was causing timeouts when pins/sensors were added is now resolved -- but this one is hard to test, and I thought I had it fixed before. If anyone runs into the same issue (When adding a pin/sensor you receive timeouts telling you to restart the script which magically resolve themselves a few seconds later) please let me know.
 
I just pushed a bunch of updates/bugfixes, mostly for issues found by @Mikmonken :
  • Inversion flag now is shown on the "Pin/Sensor List" page
  • Inversion flag now properly saved if set to "inverted" on pin assignment
  • Graphs should now be visible on iOS devices
  • Results from upgrade.sh should now be saved to upgrade.log
  • Misleading compile-time messages relating to zmq now suppressed

I also think that the error which was causing timeouts when pins/sensors were added is now resolved -- but this one is hard to test, and I thought I had it fixed before. If anyone runs into the same issue (When adding a pin/sensor you receive timeouts telling you to restart the script which magically resolve themselves a few seconds later) please let me know.

Nice! just did a fresh install one more time and installed perfectly with no errors! amazing work guys :mug:
 
Is pocketmon's brewpiless supported? Doesn't appear to be working.

Short answer - I don't know. :eek:

Slightly longer answer - I know the point of BrewPiLess is to not need a Raspberry Pi, but I don't know if it still supports being controlled by one. If it does, then yes - this should support it - but you'll probably have to set up the connection manually (using the 'Advanced' flow).

Once I get firmware flashing support added I do plan to add the ability to flash the brewpiless firmware - even though Fermentrack probably won't connect to it. I'll just add a note stating as such. Different tools for different situations - no reason not to support as many of them as possible
 
I did a eeprom reset today, when i am trying to assign my temperature sensors i keep getting the error "There was an error processing the form. Please review and resubmit."

Is there any way I can view/copy the log?
 
I did a eeprom reset today, when i am trying to assign my temperature sensors i keep getting the error "There was an error processing the form. Please review and resubmit."

Is there any way I can view/copy the log?

in /home/fermentrack/fermentrack/log there is a logfile for each of the controllers, example: dev-brewpi1-stdout.log, dev-brewpi1-stderr.log
they should give you some more information about what is going on.

You could also get the logs via:

http://<ip-of-fermentrack>/api/log/stderr/1/
http://<ip-of-fermentrack>/api/log/stdout/1/

(where the last 1 is the internal controller id)
 
Hey Rocket4x4, that url didn't work for me
Code:
AttributeError at /api/log/stdout/1/ 
'bool' object has no attribute 'get'

I did get the logs but couldn't really see anything that jumped out at me. Prior to resetting to defaults there one of the sensors keeps disconnecting and reconnecting, but I saw Elco reply to a post on brewpi that he wasn't too concerned about this since it came back immediately. It was also working ok at this point.
After resetting to defaults stderr just lists available and installed devices and stdout lists null temperatures as there are no sensors installed.

I found the error message on github in /app/views.py, its a bit of a catch all if the form isn't valid, but I have no experience in django so have stopped there.

Can wipe the card and start again, but I know how finding bugs are always harder when people have cleared the error and cant replicate it.
 
I did a eeprom reset today, when i am trying to assign my temperature sensors i keep getting the error "There was an error processing the form. Please review and resubmit."

Is there any way I can view/copy the log?

...damnit. I think I know exactly what the error is, too - let me see if I can figure out how to do an edit/pull request from my phone.
 
Currently running two fridges with working BrewPiLess, Miss some functions - will switch to Fermentrack - All I realy need to do is flashing the D1? And then assign sensors etc? The wiring should work as is?
 
Hi Thorrak, first of all - this is great job - thanks.
I have a question. Do you plan support aslo for DYI automated hydrometer - iSpindel - it is based also on ESP8266 if I am not wrong. I plan to build one and aslo build Brewpi controller based ons ESP combined with your fermentrack and it will be great if it will support aslo this dyi hydrometer.

Thanks for your answer in advance.
 
Currently running two fridges with working BrewPiLess, Miss some functions - will switch to Fermentrack - All I realy need to do is flashing the D1? And then assign sensors etc? The wiring should work as is?

Yes - should just need to be flashed, but you may want to check the pin outs as I don't remember if brewpiless uses the current pinout or the original one.
 
Do you plan support aslo for DYI automated hydrometer - iSpindel - it is based also on ESP8266 if I am not wrong. I plan to build one and aslo build Brewpi controller based ons ESP combined with your fermentrack and it will be great if it will support aslo this dyi hydrometer.

Thanks for your answer in advance.

Any support for tilt by the way? (I use v3 of the Pi board with BT)

Yes - there is a plan to support specific gravity sensors like ispindel and Tilt, but support isn't in this version.

The goal is to support the devices natively (not via brewpi-script) which also means logging can be done independently from a fermentation controller.

I have a Tilt on my desk so support for this will come first. Ispindel support will come later - either once someone else builds it or once I have the parts.

Support for both is high priority for v3 - but will likely come after support for flashing new devices, serial support, and arduino support.
 
It`s D6 for sensors, D5 and D7 for heater/cooler - GND, 3,3 volt (sensors), 5V and GND
 
Installing Fermentrack on my Pi right now. Will post - if any problems occurs.
 
Installed 100% correct - no errors. Did it on a fresh Raspbian, even did an apt-get update for me (y)
Will install script on both esp8266 tomorrow.

Realy smooth install. +1
 
It`s D6 for sensors, D5 and D7 for heater/cooler - GND, 3,3 volt (sensors), 5V and GND

Here is the pinout for my firmware (from GitHub):

Expected Pinout (NOTE - CHANGED IN v0.3!)

D0 - Heat
D1 - I2C SCL
D2 - I2C SDA
D3 - Buzzer (currently unsupported)
D4 - N/C
D5 - Cool
D6 - OneWire Data
D7 - Door (Untested)

That said, it does sound like the pins changed
 
Thanks a bunch :) Easy to change. The boards I bought from you - is still the one to use? (Never got to test it) Is there a 4,7 resistor on the board? (Might upgrade and use those boards as well)

Is there som information available for those boards?
 
attachment.php
 
@Thorrak;

I installed fermentrack on a pi 1 with two wemos D1 minis.

This is incredible. Holy cow. Mega kudos. Such amaze. Thank you so much for developing all of this.
 
None of those boards look likes the one I got from you (green pcb). Mine has the esp8266 mounting centered. Is there any information available for using this?

There is not a lot of readable to find, regarding what goes where.
 

Latest posts

Back
Top