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

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
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).
 
Hey @Thorrak, I did a guided tilt calibration, and it went well until I got to the end and got this message:
CalError.jpg
 
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.
 
I assume you already know by the way, but SPINDELMATE is supported by/available within BrewFlasher.
YES!
I am just now setting up my first Spindelmate, and I am stuck trying to figure out how I can find my
8 chipher iBLOPPER
number (e.g."10278845") as username!.....
I am on Spindelmates, cloud login - ILTPILLHUB
I know this is not your project, and I did ask this question on that Forum, and waiting a reply. I was able to find this ID when I first set up your Tiltbridge, cloud data logging (after a few fishing around attempts, to find this...) But this is with another ESP32 board that is now in use on top of a fermentor, working great.
Thanks for the quick reply!
 
YES!
I am just now setting up my first Spindelmate, and I am stuck trying to figure out how I can find my
8 chipher iBLOPPER
number (e.g."10278845") as username!.....
I am on Spindelmates, cloud login - ILTPILLHUB
I know this is not your project, and I did ask this question on that Forum, and waiting a reply. I was able to find this ID when I first set up your Tiltbridge, cloud data logging (after a few fishing around attempts, to find this...) But this is with another ESP32 board that is now in use on top of a fermentor, working great.
Thanks for the quick reply!
Hopefully you get a reply there - I haven’t ever used it, and this isn’t the place to ask questions as it’s not supported in Fermentrack.
 
Generic Push Target question. After upgrading from v11 (to v14 and v15) generic push target is sending empty data, and only sending it one time after restarting the controller. Is anyone else having this issue?

Details:
I use Node Red running in a container on the same RPi as Fermentrack to receive data from the Generic Push Target. Node Red then sends data to Home Assistant running on a separate Pi via MQTT.

The issue I'm having is when I have v.14 (also v.15) firmware installed (on both 8266 and ESP32), data received by Node Red is empty:

{"api_key": "", "version": "1.0", "brewpi_devices": [], "gravity_sensors": []}

When I go back to v.11 on an 8266 it works normally. Any help is greatly appreciated!
 
Generic Push Target question. After upgrading from v11 (to v14 and v15) generic push target is sending empty data, and only sending it one time after restarting the controller. Is anyone else having this issue?

Details:
I use Node Red running in a container on the same RPi as Fermentrack to receive data from the Generic Push Target. Node Red then sends data to Home Assistant running on a separate Pi via MQTT.

The issue I'm having is when I have v.14 (also v.15) firmware installed (on both 8266 and ESP32), data received by Node Red is empty:

{"api_key": "", "version": "1.0", "brewpi_devices": [], "gravity_sensors": []}

When I go back to v.11 on an 8266 it works normally. Any help is greatly appreciated!
That’s… weird. Let me dig into the code.
 
Is there a way for Fermentrack to capture iSpindel data from an iSpindHub repeater? I currently have my iSpindels connected to Fermentrack, and am having the well-known issue of not getting data out of SS fermenters. I know it supports TiltBridge, so wasn't sure if there was an iSpindel equivalent that could be used.
 
Is there a way for Fermentrack to capture iSpindel data from an iSpindHub repeater? I currently have my iSpindels connected to Fermentrack, and am having the well-known issue of not getting data out of SS fermenters. I know it supports TiltBridge, so wasn't sure if there was an iSpindel equivalent that could be used.
@Thorrak knows the answer, but I am sure if you link the Tiltbridge to your Fementrack, you will no longer have problems getting readings out of the Ss tanks. Although I am using two Tilts with the Tiltbridge (no repeater needed !!), I would expect the iSpindle to work just as good. Let us know if that works.
 
@Thorrak knows the answer, but I am sure if you link the Tiltbridge to your Fementrack, you will no longer have problems getting readings out of the Ss tanks. Although I am using two Tilts with the Tiltbridge (no repeater needed !!), I would expect the iSpindle to work just as good. Let us know if that works.
Will a TiltBridge capture iSpindel data? I assumed not.
 
Will a TiltBridge capture iSpindel data? I assumed not.
It will not, unfortunately.

Is there a way for Fermentrack to capture iSpindel data from an iSpindHub repeater? I currently have my iSpindels connected to Fermentrack, and am having the well-known issue of not getting data out of SS fermenters. I know it supports TiltBridge, so wasn't sure if there was an iSpindel equivalent that could be used.

Probably! I haven’t tested it, but I think that it retains the same data format as the iSpindel, so it should work.
 
Any idea what would cause the values in the second row to be empty? I have my chamber set to 40F (fridge constant), and it's maintaining the temperature, and the log data and LCD display show the correct temperatures.

After doing a fresh install after several years of rock-solid service, things have been a little unstable, but I thought I'd narrowed it down to an undervoltage problem. (My outlet's USB jack wasn't putting out enough power.)

How can I troubleshoot this problem?
ferm.png
 
Hi guys, Ive been running to temp controllers with fermentrack for many years now. I washaving issues where every now and again my temp probe display would just disappear from the lcd screen and id get dashed lines instead so I eventually changed temp probes and that has finally ifxed the problem.
If I was to build a new temp controller using an esp32 board are the instructions exactly the same as using the esp8266? Also are there any advantages to using the ESP32 board?
 
Shouldn't the whole second row show the beer temp, fridge temp, control mode, and log interval?

Yeah, apologies - I was trying to confirm what you meant in this case by "second row".

To test it, you'll need to look at the URL for the dashboard to get the ID of your controller internal to Fermentrack. For example, if the URL is
Code:
http://192.168.1.X/devices/6/dashboard/
then you would need to make note of the number "6". Then, use this to craft the URL of the endpoint that provides this data which will be something like:
Code:
http://192.168.1.X/api/panel/6/
(but replacing "6" in this URL with your device's ID). Don't forget the trailing slash! Post what you see here, and I can likely see what is going on.

Hi guys, Ive been running to temp controllers with fermentrack for many years now. I washaving issues where every now and again my temp probe display would just disappear from the lcd screen and id get dashed lines instead so I eventually changed temp probes and that has finally ifxed the problem.
If I was to build a new temp controller using an esp32 board are the instructions exactly the same as using the esp8266? Also are there any advantages to using the ESP32 board?

The instructions are mostly the same, aside from the assembly of the PCB itself (which has slightly different components). The controller can be flashed using Fermentrack, BrewFlasher, or BrewFlasher Web (just like the ESP8266) and you can use the same set of hardware. The advantages to the ESP32 come from the ability to use additional hardware, as well as having a board that I plan to support into the future. For a full comparison, you can take a look here at the project documentation.

One thing to note -- the dream of the "solder free BrewPi" isn't here yet, as the ESP32's Bluetooth support doesn't yet fully work. Once Espressif releases the next version of the Arduino framework this is expected to be resolved, but that is still weeks/months away.
 
Yeah, apologies - I was trying to confirm what you meant in this case by "second row".

To test it, you'll need to look at the URL for the dashboard to get the ID of your controller internal to Fermentrack. For example, if the URL is
Code:
http://192.168.1.X/devices/6/dashboard/
then you would need to make note of the number "6". Then, use this to craft the URL of the endpoint that provides this data which will be something like:
Code:
http://192.168.1.X/api/panel/6/
(but replacing "6" in this URL with your device's ID). Don't forget the trailing slash! Post what you see here, and I can likely see what is going on.
Thanks for your help!
 

Attachments

  • 1.png
    1.png
    14.7 KB · Views: 0
  • 2.png
    2.png
    10.7 KB · Views: 0
  • 3.png
    3.png
    43.1 KB · Views: 0
The instructions are mostly the same, aside from the assembly of the PCB itself (which has slightly different components). The controller can be flashed using Fermentrack, BrewFlasher, or BrewFlasher Web (just like the ESP8266) and you can use the same set of hardware. The advantages to the ESP32 come from the ability to use additional hardware, as well as having a board that I plan to support into the future. For a full comparison, you can take a look here at the project documentation.

One thing to note -- the dream of the "solder free BrewPi" isn't here yet, as the ESP32's Bluetooth support doesn't yet fully work. Once Espressif releases the next version of the Arduino framework this is expected to be resolved, but that is still weeks/months away.
Thanks for the repsonse mate. That sounds interesting. Ill certainly give it a go and build a new controller with an esp32. Not because I need one, but because its fun to build.. Cheers
 
Yeah, apologies - I was trying to confirm what you meant in this case by "second row".

To test it, you'll need to look at the URL for the dashboard to get the ID of your controller internal to Fermentrack. For example, if the URL is
Code:
http://192.168.1.X/devices/6/dashboard/
then you would need to make note of the number "6". Then, use this to craft the URL of the endpoint that provides this data which will be something like:
Code:
http://192.168.1.X/api/panel/6/
(but replacing "6" in this URL with your device's ID). Don't forget the trailing slash! Post what you see here, and I can likely see what is going on.



The instructions are mostly trrhe same, aside from the assembly of the PCB itself (which has slightly different components). The controller can be flashed using Fermentrack, BrewFlasher, or BrewFlasher Web (just like the ESP8266) and you can use the same set of hardware. The advantages to the ESP32 come from the ability to use additional hardware, as well as having a board that I plan to support into the future. For a full comparison, you can take a look here at the project documentation.

One thing to note -- the dream of the "solder free BrewPi" isn't here yet, as the ESP32's Bluetooth support doesn't yet fully work. Once Espressif releases the next version of the Arduino framework this is expected to be resolved, but that is still weeks/months away.

Hey Thorrak,

Thanks for this project, you inspired me to buy a 3d printer to print out your BrewPi case, I'm currently printing (about 24hr print) the US Outlet case, any chance you can upload the .stl file for your new D32 Pro Case Lid? The one that uses the new TFT screen instead of the older LCD.

I can attest the prices you sell your cases for are very reasonable, it seems like the going rate is $10 setup fee + $5/hr + filament to have something printed. That would cost around $110 at the settings I'm printing at (0.4mm nozzle, 40% infill and about 50mm/sec print speed. I need to play with klipper and a 0.6mm nozzle to see if I can speed things up for future prints. So far PLA seems strong enough but I also got some PETG to play with at some point.
 
This one?

TiltBridge Case - D32 Pro /w TFT

I don't know that he has a version of fermentrack that works on the D32 Pro.

Here is the d32 pro pcb BrewPi-ESP32 - Partially Assembled PCB by Fermentrack on Tindie

I'm looking for the file to print this, it's the cover for the brewpi outlet box to support the d32 TFT screen.
https://www.tindie.com/products/thorrak/brewpi-case-lid-for-lolin-d32-pro-lcd-v111/
It should be easy to modify the existing lcd cover but I just got into 3d printing a few days ago and haven't attempted creating any designs yet.

Also I noticed the box I printed only has 2 standoffs for the esp32 pcb, but the pcb has 3 holes. Seems like the version on thingverse is older and the one on github v1.2 has 3 holes. I printed the older version on accident.
 
Last edited:
Back
Top