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.
So, normally my dashboard is setup to list the Controllers, Chamber 1, 2, and 3 listed top to bottom. This morning when I went to adjust chamber 1 temp in prep for a brew day, it was rotated to the bottom of the list (on save I presume). I then changed the temp on Chamber 2 to see if it would happen, and sure enough, Chamber 2 was moved to the bottom of the list. (I’m on current Master.) Is there a setting I’m missing?
View attachment 727685

Uh. Fermentrack has been out for what, ~5 years now? And you're the first person to notice that I never applied ordering rules to that object.

Anyways, tweak is in dev branch - update when you have a few.
 
And you're the first person to notice that I never applied ordering rules to that object.
Other than being first....yeah 5 years for me to finally notice something sounds about right.

I’m telling you...they never went ”out” of order before. My OCD would never allow me to accept a Chamber 3 sandwich between slices of Chamber 1 and 2.
 
Uh oh...502 Bad Gateway....anyway to save myself through Terminal?

meh...I’ll go to my backup snd update after my fermentation is complete.
 
Last edited:
None important feature request. I would love to be able to theme this to match some of my other internal brewing sites. Or even a dark version of the current setup. I looked at it the other morning and my eyes were not ready for a bright white.
 
None important feature request. I would love to be able to theme this to match some of my other internal brewing sites. Or even a dark version of the current setup. I looked at it the other morning and my eyes were not ready for a bright white.

Pull requests are always welcome. :)

I'm absolutely open to a new design (or configurable themes!) but I'm terrible with design work. Dark mode sounds like a great addition, though.
 
Pull requests are always welcome. :)

I'm absolutely open to a new design (or configurable themes!) but I'm terrible with design work. Dark mode sounds like a great addition, though.

Well that would require me trying to figure out a pull request! Lol.

I was playing around modifying in "real" time to see what elements needed to be edited for colors. I think I've isolated most of them to put into a custom css file. I'll play around with my setup to see how well it works.
Nord_fermentrack.png
 
Well that would require me trying to figure out a pull request! Lol.

I was playing around modifying in "real" time to see what elements needed to be edited for colors. I think I've isolated most of them to put into a custom css file. I'll play around with my setup to see how well it works.
View attachment 728490

Huh. If you can get it down to including a CSS file site-wide, the code would actually be pretty simple. I'm happy to help with that bit (as long as I don't have to do any design work)
 
Huh. If you can get it down to including a CSS file site-wide, the code would actually be pretty simple. I'm happy to help with that bit (as long as I don't have to do any design work)

That's what I'm hoping will happen. Though I am by no means a designer either. My hope is to make a simple editable css file to add that anyone could change if they want to change up the colors.
 
Alright, well that was pretty simple to figure out how to do it. I think I have most of the CSS pulled out that would change the various aspects of the display. My color profile is based off of the Nord theme. The only thing that can not be changed via CSS is the gridlines in the plot, the plot lines themselves, the background of the plot, and the bounding box of the plot. Quick look at the dygraph looks to be controlled via options within the call itself.

Fermentrack_Main_Nord.png
Fermentrack_Log_Nord.png
Fermentrack_Log_Menu_Nord.png

I put together a CSS file that would only require a user to change that would populate throughout the CSS. I tried to name it "intelligently" (to me at least), it's a pretty simple thing to do. I'm not sure if there is a way in django to make the CSS as a togglable option to turn it on or off.
 
Finally getting fermentrack setup with Pi 3B+ and Arduino Uno. I have everything configured except the DS18B20 probes (2 of them). It will not write to eprom when I try to configure pins. I have seen 2 diagrams for wiring. One shows data lines form probes on pin A4 another diagram shown in fermentrack doc link show them on D2. I tried both but no luck. I have the 4.7K and otherwise looks setup fine. I was able to set heat and cooling to D5 and D6 and picked inverted as I saw in a post here.
 
Thanks for th response. This is my first time with Pi and Arduino so I do not even know what I am supposed to be seeing. Here is a screenshot of what I get. Does the probe lead go to A4 or D2? Not sure how to tell if the probes are recognized. I also was reading about Arduino temp sensoirs and it said to install the one wire probe sketch to Arduino. Does the ferment rack installer do all this or was I supposed to install some libraries on Arduino ?

Thanks
 

Attachments

  • Screen Shot 2021-05-08 at 5.20.09 PM.png
    Screen Shot 2021-05-08 at 5.20.09 PM.png
    1 MB · Views: 28
  • Screen Shot 2021-05-08 at 5.23.14 PM.png
    Screen Shot 2021-05-08 at 5.23.14 PM.png
    988 KB · Views: 27
I got it working. I re flashed the Arduino using the first choice which I think was rev. C and the temp probes show up. Datg line is on A4. With this version of Arduino firmware which LCD display would I need? Was thinking of adding a display to the controller.
 
I'll be sending a pull request later but I've got it setup so there is a dropdown selection for selecting a custom theme. Obviously, there is only a single theme at this time but it's pretty easy to add additional ones.
Fermentrack_Settings.png
 
I'm doing a non-docker install of fermentrack on a Raspberry Pi 1 Model B+ and I'm running into some issues with fermentrack not loading the CSS files (or not being able to access them).

The non-docker install completes without any errors, but when I go to the browser, fermentrack just displays as plain text. If I view source and try to navigate to the CSS file (like IPADDRESS/static/css/custom_style.css for instance), I get a 404 Not Found page. Same thing happens trying to access anything in the static folder from the browser.

Fermentrack does seem to be running correctly though -- I can go through the guided setup and set the username and password and that all works. I haven't tried flashing a controller yet.

Any ideas how to fix this?
 

Attachments

  • fermentrack plaint text.png
    fermentrack plaint text.png
    349.3 KB · Views: 10
I'm doing a non-docker install of fermentrack on a Raspberry Pi 1 Model B+ and I'm running into some issues with fermentrack not loading the CSS files (or not being able to access them).

The non-docker install completes without any errors, but when I go to the browser, fermentrack just displays as plain text. If I view source and try to navigate to the CSS file (like IPADDRESS/static/css/custom_style.css for instance), I get a 404 Not Found page. Same thing happens trying to access anything in the static folder from the browser.

Fermentrack does seem to be running correctly though -- I can go through the guided setup and set the username and password and that all works. I haven't tried flashing a controller yet.

Any ideas how to fix this?

My initial recommendation would be to update to a newer Pi, and use the Docker version. ;)

Absent that, try SSHing into the Pi, and do the following:

sudo su fermentrack
cd ~/fermentrack
source ~/venv/bin/activate
./manage.py collectstatic --clear


...then restart
 
I know! That might be the plan if I can't get this going. The weird thing is is that I did a non-docker install on a Raspberry Pi Zero and didn't have any issues.

I tried those commands and restarted but no luck -- it still displays in plain text with 404s on any files in the static directory.
 
I know! That might be the plan if I can't get this going. The weird thing is is that I did a non-docker install on a Raspberry Pi Zero and didn't have any issues.

I tried those commands and restarted but no luck -- it still displays in plain text with 404s on any files in the static directory.


Check your nginx configuration file in /etc/nginx/sites-enabled and make sure it has a url handler for /static . If it doesn’t, you’ll need to add one - there’s an example in the non-docker directory in Fermentrack-tools.

My strong recommendation is switching to the docker version as the non-docker version will only be lightly supported going forward.
 
Check your nginx configuration file in /etc/nginx/sites-enabled and make sure it has a url handler for /static . If it doesn’t, you’ll need to add one - there’s an example in the non-docker directory in Fermentrack-tools.

This is what I found in sites-enabled for /static: 'alias /home/fermentrack/fermentrack/collected_static/;' but then that directory is empty. I copied over the 'vendor' folder from /home/fermentrack/fermentrack/staticfiles to the collected_static directory and reloaded the fermentrack webpage and now it displays correctly!

Can I just copy over all the directory and files in staticfiles to collected_static? Or is the face that collected_static was empty indicating a bigger issue with the nginx server or install?


Also, it looks like the sites-enabled /static points to fermentrack/collected_static, but the fermentrack_django/settings.py points to fermentrack/staticfiles.

On the Raspberry PI Zero non-docker install that is running correctly, the READ_ME file in the fermentrack/collected_static says: "You shouldn't have to touch this folder, as its contents should be generated automatically by upgrade.sh"

Thanks!
 
Last edited:
So I am having a strange issue were one of my Fermentrack installs is completely resetting every day around 1:30 pm. And when I mean resetting, the temp sensors and relay settings need to be reconfigured and my device constants are reset as well.

Using the latest BrewPi install from BrewFlasher
 
So I am having a strange issue were one of my Fermentrack installs is completely resetting every day around 1:30 pm. And when I mean resetting, the temp sensors and relay settings need to be reconfigured and my device constants are reset as well.
"You're not alone."

I've been talking to John about this as I have the same issue with the ESP8266 fork of the firmware while connected to BrewPi Remix. So at least we now can point to the controller as the potential culprit.

Let me ask this: Do you have any network-based scanning? Like Netgear Armor or Bitdefender or anything like that?
 
No, but...

I did beta test the ability to enter the IP address of the controllers rather than using the mDNS names. At the time, I didn't have anything fermenting so didn't run any controllers long enough to see the issue as it happens once daily.

From my network standpoint, I have an AP almost directly above the ESPs so it is highly unlikely that they are switching or there is any network interruptions. I used to do some network optimizations, but that is not enabled anymore.

Could this issue be traced back to the timing of the IP vs mDNS changes?
 
The real question would, who can fix any of this if I can narrow it down?

Unfortunately, I've been tied up with a different (not yet announced) project which has been consuming most of my free cycles, but I'm hoping to get that project out in the wild here in the next ~2 months or so and free up some time to swing back to BrewPi:

Screen Shot 2021-05-20 at 8.58.20 PM.png
 
Just a quick question ... For the Arduino Uno Firmware, what is the difference between the BrewPi Remix - RevC (Version 0.2.12) and the "Legacy" Branch -RevC (Version 0.2.10)?
 
Good question. I had been running 0.2.4 for years and then modded 0.2.10 firmware for more years, the latter including a hack done by a fellow HBTer that added a "screen descrambler" function that would run periodically, plus in reaction to manipulation of the rotary encoder switch.

I don't think Elco ever included such functionality as late as 0.2.10...

Cheers!
 
Just a quick question ... For the Arduino Uno Firmware, what is the difference between the BrewPi Remix - RevC (Version 0.2.12) and the "Legacy" Branch -RevC (Version 0.2.10)?

BrewPi-Remix is actively maintained by @LBussy, and includes a number of fixes that he's identified over the years (as well as new features that @day_trippr alluded to). The "Legacy" branch RevC is - if memory serves - the frozen-in-time official firmware that was released immediately prior to @Elkoe (the original author of BrewPi) merging the Arduino firmware with the Spark firmware.

For almost all new builds, the BrewPi-Remix firmware is the better choice (though I am partial to the ESP8266 firmware myself) ;).
 
For almost all new builds, the BrewPi-Remix firmware is the better choice (though I am partial to the ESP8266 firmware myself)
Yeah, I just built a third chamber with the ESP8266, so I am running both. A few things I noticed and I wanted to clarity on ... with the 8266 I am running the probes and data at 3.3V (with the 4K7 resistor) and seems to be working fine, but it is just testing and my wire length are all under 3 ft. With the 8266, I have read that it is "better" to run the probes with 5V and the data with 3.3V, but I am not clear which resistor to use with that setup or if it even matters with my wire lengths.

Also (as a side note) it looks like the Kd value defaults to -1.5 when the 8266 is in place (Fermentrack and BrewPiLesss both did this) where it defaults to +1.5 when the Arduino used. What is the logic for this difference?
 
Running ds18b20 at 5V is always a good idea if possible, using 4.7K pull-ups to 5V for Arduinos and other 5V interface voltage controllers, or 2.2K to 3.3V for Raspberry Pi and esp8266/esp32 and any other device with 3.3V interfaces...

Cheers!
 
The most recent iteration of my BrewPi PCBs allow for the voltage to be selectable. As @day_trippr noted, 5v is generally the way to go -- but I've had sensors that don't support it. As @Lalo_uy discovered and commented in the other thread:

Just today I found his about sensors not working at 5v

“Maxim Integrated also produce the MAX31820 temperature sensor. The MAX31820 is a DS18B20 with limited supply voltage range (i.e. up to 3.7 V) and smaller temperature range of high accuracy. Like the DS18B20, it uses one-wire family code 0x28. Preliminary investigations have not (yet) revealed a test to distinguish between DS18B20 of Family A1 and Maxim-produced MAX31820 in software.”

I think what is happening is that some of the "DS18B20" sensors that I & others are getting from China/Amazon are actually MAX31820 sensors, which explains the weirdness when trying to use 5V. What's interesting is that the sensors don't seem to be damaged by 5V - they just don't respond - hence why the selectable voltage allows (or at least allowed me) testing at 5V and then selecting 3v3 if the sensors don't pop up.
 
Hi everyone, been having a little trouble with my account which I hope is now fixed!

I've just moved my Fermentrack installation to a different router and having some issues... My first step was to remove the network settings from the controller, then changed the Pi network, powered up the controller and connected to the "new" network. Reconfigured my iSpindle and all looked good. However, Fermentrack doesn't see the controller on the new network, this is what the debug connection output says:

...
Connection Settings
Connection Typewifi
WiFi Hostnameesp7213274.local
WiFi Port23
Last Cached IP Address (from Hostname)192.168.1.158
Tests Performed
TestParameterPass/FailOutput
Device Status TestactivePassedDevice active & managed by Circus
DNS Lookup Testesp7213274.localPassed192.168.2.124
Connection Testesp7213274.localPassedConnected
Controller Response Testesp7213274.localPassedb'N:{"v":"0.2.4","n":0,"c":"00000000","s":0,"y":0,"b":"e","l":"3"}'
Cached IP Test192.168.1.158PassedAvailable
Connection Test192.168.1.158FailedUnable to connect
...

The Last Cached IP Address is the "old" IP address and the DNS Lookup Test is the "new" IP address. Is there a way I can force Fermentrack/Pi to flush or update the cache? Is it as easy as that?

From the Pi I can ping both the "new" IP address and Hostname successfully, but that's about the limit of my knowledge on things Pi.


Chris
 
The Last Cached IP Address is the "old" IP address and the DNS Lookup Test is the "new" IP address. Is there a way I can force Fermentrack/Pi to flush or update the cache? Is it as easy as that?
Speaking as the guy who didn;t write this:

I would go to {installation}/admin which is the Django admin page. Select "BrewPi Devices" and then your controller. In that is all of the configuration fields. If it were me I might try deleting the cached IP address (called " Wifi host IP") and seeing what happens. If that doesn't work, add the proper IP address and see if that works.
 
Hi everyone, been having a little trouble with my account which I hope is now fixed!

I've just moved my Fermentrack installation to a different router and having some issues... My first step was to remove the network settings from the controller, then changed the Pi network, powered up the controller and connected to the "new" network. Reconfigured my iSpindle and all looked good. However, Fermentrack doesn't see the controller on the new network, this is what the debug connection output says:

...
Connection Settings
Connection Typewifi
WiFi Hostnameesp7213274.local
WiFi Port23
Last Cached IP Address (from Hostname)192.168.1.158
Tests Performed
TestParameterPass/FailOutput
Device Status TestactivePassedDevice active & managed by Circus
DNS Lookup Testesp7213274.localPassed192.168.2.124
Connection Testesp7213274.localPassedConnected
Controller Response Testesp7213274.localPassedb'N:{"v":"0.2.4","n":0,"c":"00000000","s":0,"y":0,"b":"e","l":"3"}'
Cached IP Test192.168.1.158PassedAvailable
Connection Test192.168.1.158FailedUnable to connect
...

The Last Cached IP Address is the "old" IP address and the DNS Lookup Test is the "new" IP address. Is there a way I can force Fermentrack/Pi to flush or update the cache? Is it as easy as that?

From the Pi I can ping both the "new" IP address and Hostname successfully, but that's about the limit of my knowledge on things Pi.


Chris
Are you running the latest dev version of Fermentrack?
 
Speaking as the guy who didn;t write this:

I would go to {installation}/admin which is the Django admin page. Select "BrewPi Devices" and then your controller. In that is all of the configuration fields. If it were me I might try deleting the cached IP address (called " Wifi host IP") and seeing what happens. If that doesn't work, add the proper IP address and see if that works.
@LBussy Thought there had to be something but wasn't sure where it would be! Decided to edit the entry, took a Pi reboot and a few minutes but my Tempranillo is now well under control!

Thank you.

If only Fermentrack would log my BrewBubbles output :p


Chris
 
My aim in moving networks was to get all the brewing stuff "out of the way" and I had an old router going spare, so... Also as I was sometimes getting drop outs on my main network so I thought "what the hell?". I thought I followed the workflow and removed the devices from the old network in Fermentrack before adding them to the new network. Was there something else I should have done?

Just curious.
 
I think the latest Dev branch has a workflow that will try mDNS first to avoid the issue.

That's what I thought I'd read somewhere, hence my confusion when the DNS lookup had the correct address but the cached address was the old address. As I was able to ping the DNS address and hostname from anything on the new network I knew the network was "working". However, Fermentrack I guessed for some reason was reverting to the cached address?
 
Back
Top