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

    Homebrewing Facebook Group

Fermentrack: Fermentation monitoring & BrewPi-www Replacement for Raspberry Pi

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
I also have the same error message when I click on (in my case) Fermentrack3 in the menu:

View attachment 815118
I thought that the migration was successfully and when I run some docker commands it looks like the docker version is running?

View attachment 815117

Is there another way to check this?
I know that the best solution is probably to reinstall my Rasberry Pi OS and then reinstall Fermentrack but I'm hoping that this is not needed because I'm planning another brew for the next weekend.
Did you install the docker version on the same Pi as you previously had non-docker Fermentrack installed? If so, there is no "uninstall" step there -- you didn't uninstall the previous version of Fermentrack first. In your screenshot you can see where the "fermentrack_nginx" image is crashing -- likely because it can't bind to port 80 (which is already in use by the other install).

My recommendation if you have a brew coming up would be to either not worry about it for now, stick with the non-docker Fermentrack install, and then worry about migrating later -- or re-run the "docker Fermentrack" install script and select a port other than 80 to be able to access both at once.
 
Did you install the docker version on the same Pi as you previously had non-docker Fermentrack installed? If so, there is no "uninstall" step there -- you didn't uninstall the previous version of Fermentrack first. In your screenshot you can see where the "fermentrack_nginx" image is crashing -- likely because it can't bind to port 80 (which is already in use by the other install).

My recommendation if you have a brew coming up would be to either not worry about it for now, stick with the non-docker Fermentrack install, and then worry about migrating later -- or re-run the "docker Fermentrack" install script and select a port other than 80 to be able to access both at once.
I didn't know that there was an uninstall required before the migration.
But I have 2 RPI setups and with the first one the migration to the docker version went well without the uninstallation.
like you said I will leave it like this for now and when I do have some more time I will reinstall my second setup from scratch.
 
Just another question how can I backup the Docker version?
With the non-docker version I used a simple script to copy the home folder:

#!/bin/bash
TIME=`date +%d-%b-%Y` # This Command will read the date.
FILENAME=backup-homedir-$TIME.tar.gz
SRCDIR=/home
DESDIR=/backup/backup

tar -cpzf $DESDIR/$FILENAME $SRCDIR

I did had a crach of my RPI in the past and it took me a while to get it back up so since then I prefer to have a backup so it could save me some time.
But where are the docker files located? I believe that there are some steps required first to export the docker data?
 
Why does the running Beer Profile not match the GUI dashboard?
I paused the logging yesterday and resumed today, so this has nothing to do with it.
Screenshot (17).pngScreenshot (18).pngScreenshot (19).png
 
Django Admin Panel, Graph Color change?
The graph is really hard to read, since the colors are blending together (and my 63 year old eyes..)
I went to change the colors , and I do not understand what "code" to use. I read the Documentation (3.3.2 Advanced Site Settings), and do not see a list of possible change codes. Not sure if you call them "codes", but that is what the letters and number combinations look like to me.
 
Hi, All: Attempting my first build and am unable to flash BrewPi-ESP32-S2 (Experimental) - v15-beta4 - - WiFi to my esp32-s2 via Fermentrack or web.brewflasher.

The hold "0" + press "reset" button combo makes the board selectable but in fermentrack the result is "Flash process returned code 2" with a flash output of " " b'' "

In web.brewflasher I get the following popup "Failed to initialize. Try resetting your device or holding the BOOT button while clicking INSTALL." Tried again while holding "0" when pressing install to no avail.

I tried another esp32-s2 board as well and get the same issue with it.

Has anyone encountered this issue? Any ideas? Thanks!
 
Unfortunately, it's hard to debug exactly what might be going on here. These boards leverage the microcontroller itself to provide the USB to UART bridge, hence the need to force the board into a special mode in order to flash. My recommendation is to try using the desktop BrewFlasher - holding the "0" button while plugging the board into your computer, then flashing it.

The good thing is that once you've flashed it once it gets a new bootloader that makes flashing much easier going forward.
 
I didn't know that there was an uninstall required before the migration.
But I have 2 RPI setups and with the first one the migration to the docker version went well without the uninstallation.
like you said I will leave it like this for now and when I do have some more time I will reinstall my second setup from scratch.
The brew was canceled so I tried the fresh installation with the latest version Bullseye but this was not a good choose, this version has a problem with xRDP so I'm further away of a proper solution. I'll think I will go back to the previous version Buster which works well but time is what I'm missing a bit rigth now.
 
The brew was canceled so I tried the fresh installation with the latest version Bullseye but this was not a good choose, this version has a problem with xRDP so I'm further away of a proper solution. I'll think I will go back to the previous version Buster which works well but time is what I'm missing a bit rigth now.
xRDP? Not sure I've heard of that before.

If you can get docker to run on Buster, you can probably get the latest version of Fermentrack to work as well. That's one of the benefits of Docker -- it abstracts away a lot of the system packages.
 
Is there any way to "turn off" any of the unneeded graph lines, under "Time", like "Fridge Setting"? I read through the Documents and also can not find anything under Django Admin panel. Just trying to "unclutter" the graph, and make it easier to read.
When you uncheck one of them or more, as soon as you refresh or reload, every plot is back on the graph again.
 
Last edited:
Is there any way to "turn off" any of the unneeded graph lines, under "Time", like "Fridge Setting"? I read through the Documents and also can not find anything under Django Admin panel. Just trying to "unclutter" the graph, and make it easier to read.
When you uncheck one of them or more, as soon as you refresh or reload, every plot is back on the graph again.
Not permanently, unfortunately. My JavaScript skills were virtually nonexistent back when I was working on that section of code, and working with Dygraphs was one of the most frustrating parts of building Fermentrack. I’ve been tinkering with other graphing libraries for other projects, but there is no guarantees any changes will come to Fermentrack absent someone submitting a PR.

(PRs welcome!)
 
No problem, @Thorrak , it only takes a finger "click" to temporarily change it. You have done enough on this already, and it is much appreciated by Us.
I love the Heating and Cooling Duty feature reading. At a quick glance, it can tell me if my source of cooling equipment or heating apparatuses, are working as I expect them to.
Also, adding another Controller (Chamber), is very easy with Fermentrack - Just click a few buttons, and Shazam! It is up and live!
 
No problem, @Thorrak , it only takes a finger "click" to temporarily change it. You have done enough on this already, and it is much appreciated by Us.
I love the Heating and Cooling Duty feature reading. At a quick glance, it can tell me if my source of cooling equipment or heating apparatuses, are working as I expect them to.
Also, adding another Controller (Chamber), is very easy with Fermentrack - Just click a few buttons, and Shazam! It is up and live!
That was actually added by someone via a pull request! Unfortunately I don't think rixth is on HBT or I would give him a shoutout, but pull requests are always welcome. :)
 
This question is for both, @LBussy and @Thorrak, and Anyone else, that can smack me in the head to tell me why...
I do not have a Chamber (Fridge). My Unitanks sit outside in Room Temp (Thus, the need for a Glycol Shield) Cooling is done through a 36F water, heat exchanger.
Why can't the Algorithm, cycle Heat and Cool, with only a BEER temp probe, and the other probe, just hanging out measuring the room temperature (irrelevant to the Algorithm) ? I understand, the A needs something to compare BEER to WHAT is cooling it, so Why can't the Algorithm "know", that there is a GLYCOL Shield, and now the Chamber, does not exist?
Both BPR and FT, will not control the relays, unless one Temperature Probe is set to "Chamber"
 
This question is for both, @LBussy and @Thorrak, and Anyone else, that can smack me in the head to tell me why...
I do not have a Chamber (Fridge). My Unitanks sit outside in Room Temp (Thus, the need for a Glycol Shield) Cooling is done through a 36F water, heat exchanger.
Why can't the Algorithm, cycle Heat and Cool, with only a BEER temp probe, and the other probe, just hanging out measuring the room temperature (irrelevant to the Algorithm) ? I understand, the A needs something to compare BEER to WHAT is cooling it, so Why can't the Algorithm "know", that there is a GLYCOL Shield, and now the Chamber, does not exist?
Both BPR and FT, will not control the relays, unless one Temperature Probe is set to "Chamber"

The way the BrewPi algorithm works is the equivalent of stationing a robot next to your fridge's thermostat, and telling that robot to adjust the thermostat ("fridge setting") up and down based on where you think it needs to be in order to get the beer temp to be correct. Whether the fridge is actually cooling or not works on the same principles as it normally does for a fridge thermostat: How far is the temp from the setpoint, how long has it been since it last ran (compressor protection), etc.

When you add heating to the mix, the robot doesn't really care -- it just changes the fridge temperature setpoint, and whether or not heating or cooling comes on depends entirely on if the fridge temperature is above or below the desired fridge setpoint.

The algorithm is primarily designed for this scenario -- cooling a fermenter full of beer when what you are actually controlling is the temperature of the air around the cooler. A true "glycol" mode would seek to control the beer temperature directly rather than the fridge temperature. I've wanted to build glycol support for awhile, but am not keen on building anything until I have a setup I can use to test. Until we can buy a house, however, that is not likely to happen.

(Related: We actually have an offer in on a house at the moment, but I'm guessing it won't get accepted as I don't think the sellers have quite come to terms with what is happening in the broader market. If it does, though, I'll start taking suggestions for which glycol chiller to get!)
 
A true "glycol" mode would seek to control the beer temperature directly rather than the fridge temperature. I've wanted to build glycol support for awhile, but am not keen on building anything until I have a setup I can use to test. Until we can buy a house, however, that is not likely to happen.

(Related: We actually have an offer in on a house at the moment, but I'm guessing it won't get accepted as I don't think the sellers have quite come to terms with what is happening in the broader market. If it does, though, I'll start taking suggestions for which glycol chiller to get!)
Thanks so much for explaining this! Controlling the Beer Temp directly, is what I wanted to "do". Just turn the Pump ON, when there is call for cooling (the Profile is out of parameter), then just flip the contactor closed, when there is a need for the Heat, to dial in, closer to set point. Even with no actual "chamber", just letting the algorithm think that the ambient temperature is the chamber temp, actually works good.
Ss Brewtech sells a really nice Chiller, but you can also build one out of a cheap, scratch-and-dent, window air-conditioning unit and an igloo cooler to hold the cold water. I built this for only $300, before I went crazy and built a walk-in-cooler....
If you lived a little closer to Pittsburgh, I would bring my service truck over to the house under bid, do an inspection (no cost), and then give you some good negotiating ammunition facts.
 
My Fermentrack setup is running fine and I am on the latest Dev Docker build.
An iSpindel is attached to monitor fermentation progress. I am used to using a 4 digit for the gravity, but on the Fermentrack page the sensor reading displays 3 decimals, e.g. 1017.192. Is it possible to get rid of the 3 decimals?
Or what is the purpose of the T parameter on the page where the gravity formule parameters can be entered?
 
Last edited:
Probably - I've never tried it (but I don't see any reason it couldn't!)

You may need to select a different port to run each on, though
I'm finally getting around to asking a follow-up question. I have a mental block when it comes to some network stuff, so forgive me if the answer is obvious.

I access CraftBeerPi by typing in the URL of the Raspberry Pi followed by :8000
Does that mean I shouldn't have to change anything to install and run Fermentrack since it uses port 80, which I'm assuming would be 8080?
 
I'm finally getting around to asking a follow-up question. I have a mental block when it comes to some network stuff, so forgive me if the answer is obvious.

I access CraftBeerPi by typing in the URL of the Raspberry Pi followed by :8000
Does that mean I shouldn't have to change anything to install and run Fermentrack since it uses port 80, which I'm assuming would be 8080?
No -- 80 is just 80, but when you install Fermentrack you can select what port you want it to run on. That said, it does use some ports internally which I can't remember offhand -- and it is possible that one of them is 8000 (though I don't think so).
 
Fermentation Profile question- When I go to look at the Ferm Profiles and click on the one that has a check mark (it is currently running), just to see where the running beer is into the Profile, all the time-stamps shown under your profile, get updated to your immediate time of day, not when you first started the beer. Even if you do not edit the running profile, just look at it, all the target points only show your current time when you opened the window just now.
Is there any way to see your Profiles, on the day they were first launched (in the past) on your current beer ? This is very confusing, when and if I have to decide whether to edit the profile when the EG is approaching faster than expected ( or slower).
 
@Thorrak , I know you already did sooo much on this project, but is it possible to add, the Name of what is fermenting, on the "All Devices" home screen? I have been known to have 3 conicals active at the same time, and sometimes I forget what is in, what fermentor.....
That way, I do not have to walk to the brewery, or leave the All Devices page and go to each individual Dashboard. What stress on my fingers and legs!
If this is a big code change or work that can be applied to more important issues, then forget this request!
 
@Thorrak , I know you already did sooo much on this project, but is it possible to add, the Name of what is fermenting, on the "All Devices" home screen? I have been known to have 3 conicals active at the same time, and sometimes I forget what is in, what fermentor.....
That way, I do not have to walk to the brewery, or leave the All Devices page and go to each individual Dashboard. What stress on my fingers and legs!
If this is a big code change or work that can be applied to more important issues, then forget this request!
Without looking at code, I’ll say “probably” but I can’t guarantee when the change would get released. I think the biggest issue with Fermentrack at the moment relates to the update workflow — if I can figure out a solution to that, I should be able to get the script change live (which then enables further changes)

Edit: I’ve added an issue to GitHub to track against this change: Display fermenting beer name on dashboard · Issue #716 · thorrak/fermentrack
 
I was not sure if I should leave a "comment" on github or here, so here - Just to clarify the Issue,
display the fermenting beer Name on the All Devices page. The name is already on the dashboards.
Thanks for responding!
 
"Select Sensor Type" - Manual, Tilt, or iSpindel
What is a Manual sensor? Would this choice (manual) for setting up a specific gravity work for the Pill ? I know this is a "sore subject", but just asking before I go and build a SPINDELMATE.
The Tiltbridge is working fantastic, with my older Tilt !
 
"Select Sensor Type" - Manual, Tilt, or iSpindel
What is a Manual sensor? Would this choice (manual) for setting up a specific gravity work for the Pill ? I know this is a "sore subject", but just asking before I go and build a SPINDELMATE.
The Tiltbridge is working fantastic, with my older Tilt !

Manual is literally “I want to type in the gravity myself”. No idea if anyone actually uses this, but I wanted it for testing the graphs when I first built gravity support in Fermentrack, and figured if the code was already built there was no need to remove it.

Just to restate the problem with Rapt — you need a way to get the Rapt readings (sent via Bluetooth) into Fermentrack. For Tilts, this happens in one of two ways:

Tilt Device —> Fermentrack Tilt Daemon (software) —> Fermentrack
Tilt Device —> TiltBridge (hardware) —> Fermentrack

There is no “rapt” daemon currently, nor is there a “RaptBridge”. Nothing prevents SPINDELMATE from supporting Fermentrack (and therefore providing a Rapt —> SPINDELMATE —> Fermentrack pathway) but to my knowledge that hasn’t been built. (Hi @kbaggen ;) !)

I assume you already know by the way, but SPINDELMATE is supported by/available within BrewFlasher.
 
Back
Top