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.
Hoping I can get a little help or a push in the direction of a similar post I missed...

Have been running Fermentrack for a few years. Recently changed internet providers and thus wifi settings. I have updated the wifi on the pi and both esp8622 controllers. I use Fing and can see all three on my network. However, Fermentrack "Cannot receive LCD text from Controller/Script" for either controller. Both controllers are running and the temp sensors work fine (as seen on lcd screen)

I have started and restarted both the pi and controllers (in different orders as well) to no avail.

I have reflashed one of the controllers and it did not resolve the issue.

Debub of both connection shows "failed" on DNS Lookup Test and Connection Test. Although connection test is trying the ip from the old wifi. I don't know how to fix that.

Trying to install a new Device reports that I have no uninstalled mDNS devices and no found mDNS devices match any installed in Fermentrack.

The only thing I have not tried in deleting the controllers and seeing if I can then reinstall them.

Appreciate any help or direction to thread.

Dave
 
I, too, have another of those dreaded "Cannot receive LCD text from Controller/Script" messages. Everything had been working fine for months, but had a power outage here today in Florida from Hurricane Nicole (Raspberry Pi is plugged into battery backup but guess lost juice at some point). I've been trying for hours to get Ardunio to speak to Pi, no luck. I can ssh into Pi. Any suggestions on commands to send to Arduino to reboot it?
 
I, too, have another of those dreaded "Cannot receive LCD text from Controller/Script" messages. Everything had been working fine for months, but had a power outage here today in Florida from Hurricane Nicole (Raspberry Pi is plugged into battery backup but guess lost juice at some point). I've been trying for hours to get Ardunio to speak to Pi, no luck. I can ssh into Pi. Any suggestions on commands to send to Arduino to reboot it?
I would re-install Fermentrack, this solved the problem for me. SSH and enter the install command.

curl -L install.fermentrack.com | bash
 
Hello - hoping for some help here. Brand new user - I cannot for the life of me get any of my ispindel data to show in this screen.

If I configure my iSpindel to send MQTT, I can view that data fine - so I know the ispindel will connect to my network.

Any ideas?

Fermentrack is sitting on port 8890.

Screen Shot 2022-11-11 at 8.05.25 AM.png




Screen Shot 2022-11-11 at 8.01.27 AM.png
 
Hello - hoping for some help here. Brand new user - I cannot for the life of me get any of my ispindel data to show in this screen.

If I configure my iSpindel to send MQTT, I can view that data fine - so I know the ispindel will connect to my network.

Any ideas?

Fermentrack is sitting on port 8890.
I am an idiot - you need the http:// when configuring the iSpindel Path/URI
 
Last edited:
Okay - I have this running on my rPi, however I'd like to run via docker on my unraid server.

When running
Code:
docker pull jdbeeler/fermentrack
I get an error
Code:
/entrypoint: line 9: POSTGRES_USER: unbound variable
 
Is there a way to change the port in the non-Docker Fermentrack installation? Trying to get Fermentrack set up on my 3a+, and the Docker installation doesn't seem to want to cooperate. When I run the semi-automated non_docker script, it installs fine, but doesn't give me the option to change the port like it did with the Docker version. I'd like to run Raspberry Pints on the same Pi if possible.
 
Is there a way to change the port in the non-Docker Fermentrack installation? Trying to get Fermentrack set up on my 3a+, and the Docker installation doesn't seem to want to cooperate. When I run the semi-automated non_docker script, it installs fine, but doesn't give me the option to change the port like it did with the Docker version. I'd like to run Raspberry Pints on the same Pi if possible.
Thorrak is on vaca but I might be able to get you close.

Fermentrack runs on nginx, and your Pi is close enough to Ubuntu to flow those instructions on this page:

https://www.tecmint.com/change-nginx-port-in-linux/
The file /etc/nginx/sites-enabled/default may not be the one it uses, check that sites-enabled directory for other files, it's possible Fermentrack is not using the default site.
 
Last edited:
Hi all, I’ve been using fermentrack for a while now, with a few minor issues. However when starting up my raspberry pi and arduino uno today to start a new batch, I am getting the dreaded “Cannot receive LCD text” message. I’ve tried restarting both devices multiple times and also debugged the device connection (fermentrack tells me the Uno is active and all tests pass except for the USB serial number test). Any idea what I can do to get the two devices to connect?
 
Hi all, I’ve been using fermentrack for a while now, with a few minor issues. However when starting up my raspberry pi and arduino uno today to start a new batch, I am getting the dreaded “Cannot receive LCD text” message. I’ve tried restarting both devices multiple times and also debugged the device connection (fermentrack tells me the Uno is active and all tests pass except for the USB serial number test). Any idea what I can do to get the two devices to connect?
Can you check the full error message in the logfile? Press the questionmark and check the logfiles
 
Fermentrack thinks there is a process already running. It creates a file with the extension brewpi-[num].pid under /tmp, I have brewpi-1.pid on my setup. You can try to remove these files and restart the pi to see if the script starts up. If the problem repeats then there might be something corrupt in your configuration/database.

so in the shell go to the catalog
cd /tmp

list all pid files
ls *.pid

remove the file
rm <name of file>.pid
 
Fermentrack thinks there is a process already running. It creates a file with the extension brewpi-[num].pid under /tmp, I have brewpi-1.pid on my setup. You can try to remove these files and restart the pi to see if the script starts up. If the problem repeats then there might be something corrupt in your configuration/database.

so in the shell go to the catalog
cd /tmp

list all pid files
ls *.pid

remove the file
rm <name of file>.pid
No luck. Wondering if I should just reset the RPi at this point and start over.
 
Hi everyone. I am having an issue with my Fermentrack "Cannot receive LCD text from Controller/Script" I am using a Raspberry Pi 3 with an Arduino Uno. I installed through Docker and updated the installation as well. I find that I need to shut it down and restart a few times and it will eventually connect. Once it connects I can complete my fermentation without any issues (everything else is working). When I go to debugging connection, everything passes except USB Serial Number Test, which fails. I uninstalled the arduino and set it up again, but that didn't help at all. Would appreciate any help at all with the USB Serial Number Test failing issue. Thanks in advance!
 

Attachments

  • 748502-LCDtext.png
    748502-LCDtext.png
    190.4 KB · Views: 0
  • 748503-debugging.png
    748503-debugging.png
    274.3 KB · Views: 0
Hi everyone. I am having an issue with my Fermentrack "Cannot receive LCD text from Controller/Script" I am using a Raspberry Pi 3 with an Arduino Uno. I installed through Docker and updated the installation as well. I find that I need to shut it down and restart a few times and it will eventually connect. Once it connects I can complete my fermentation without any issues (everything else is working). When I go to debugging connection, everything passes except USB Serial Number Test, which fails. I uninstalled the arduino and set it up again, but that didn't help at all. Would appreciate any help at all with the USB Serial Number Test failing issue. Thanks in advance!
Can you check what errors you get in the logfile ? Press the questionmark in the menu to view all the logfiles. In order to use the serial port the container must be run in privilged mode and the /dev filesystem needs to be imported into the container.
 
Can you check what errors you get in the logfile ? Press the questionmark in the menu to view all the logfiles. In order to use the serial port the container must be run in privilged mode and the /dev filesystem needs to be imported into the container.
Appreciate the quick reply. Here is the log, kind of weird, I fired it up and it worked right away, but still get that error when I click on debug. What do I need to do to run it in privlidged mode?


Dec 15 2022 16:53:05 Refreshing dbConfig
Dec 15 2022 16:53:05 Connection type Serial selected. Opening serial port.
Dec 15 2022 16:53:05 Connected via serial to port /dev/ttyACM0
Dec 15 2022 16:53:05 Notification: Script started, with no active beer being logged
Dec 15 2022 16:53:15 Checking software version on controller...
Dec 15 2022 16:53:15 Found BrewPi v0.2.10 build unknown, running on an Arduino Uno with a revA shield on port /dev/ttyACM0

Dec 15 2022 16:53:15 BrewPi version received was 0.2.10 which this script supports in 'legacy' branch mode.
Dec 15 2022 16:53:15 Warning: version number of local copy of logMessages.h does not match log version number received from controller.controller version = 1, local copy version = 3. This is generally a non-issue, as thus far log messages have only been added - not changed.
Dec 15 2022 16:53:15 Bound to TCP socket on port 2473, interface localhost
Dec 15 2022 16:53:15 Installed devices received: [{"i": 0, "t": 3, "c": 1, "b": 0, "f": 2, "h": 1, "d": 0, "p": 5, "v": 0, "x": 1}, {"i": 1, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 6, "v": 0, "x": 1}, {"i": 2, "t": 1, "c": 1, "b": 1, "f": 9, "h": 2, "d": 0, "p": 18, "v": 57.537, "a": "28587979970403BF", "j": 0.0}, {"i": 3, "t": 1, "c": 1, "b": 0, "f": 5, "h": 2, "d": 0, "p": 18, "v": 53.037, "a": "2824E47997040301", "j": 0.0}]
Dec 15 2022 16:53:15 Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 4, "x": 1}]
Dec 15 2022 16:58:02 Refreshing dbConfig
Dec 15 2022 16:58:02 Connection type Serial selected. Opening serial port.
Dec 15 2022 16:58:02 Connected via serial to port /dev/ttyACM0
Dec 15 2022 16:58:02 Notification: Script started, with no active beer being logged
Dec 15 2022 16:58:12 Checking software version on controller...
Dec 15 2022 16:58:12 Found BrewPi v0.2.10 build unknown, running on an Arduino Uno with a revA shield on port /dev/ttyACM0

Dec 15 2022 16:58:12 BrewPi version received was 0.2.10 which this script supports in 'legacy' branch mode.
Dec 15 2022 16:58:12 Warning: version number of local copy of logMessages.h does not match log version number received from controller.controller version = 1, local copy version = 3. This is generally a non-issue, as thus far log messages have only been added - not changed.
Dec 15 2022 16:58:12 Bound to TCP socket on port 2473, interface localhost
Dec 15 2022 16:58:13 Installed devices received: [{"i": 0, "t": 3, "c": 1, "b": 0, "f": 2, "h": 1, "d": 0, "p": 5, "v": 0, "x": 1}, {"i": 1, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 6, "v": 0, "x": 1}, {"i": 2, "t": 1, "c": 1, "b": 1, "f": 9, "h": 2, "d": 0, "p": 18, "v": 57.199, "a": "28587979970403BF", "j": 0.0}, {"i": 3, "t": 1, "c": 1, "b": 0, "f": 5, "h": 2, "d": 0, "p": 18, "v": 53.037, "a": "2824E47997040301", "j": 0.0}]
Dec 15 2022 16:58:13 Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 4, "x": 1}]
Dec 16 2022 22:57:45 Refreshing dbConfig
Dec 16 2022 22:57:45 Connection type Serial selected. Opening serial port.
Dec 16 2022 22:57:45 Connected via serial to port /dev/ttyACM0
Dec 16 2022 22:57:45 Notification: Script started, with no active beer being logged
Dec 16 2022 22:57:55 Checking software version on controller...
Dec 16 2022 22:57:56 Found BrewPi v0.2.10 build unknown, running on an Arduino Uno with a revA shield on port /dev/ttyACM0

Dec 16 2022 22:57:56 BrewPi version received was 0.2.10 which this script supports in 'legacy' branch mode.
Dec 16 2022 22:57:56 Warning: version number of local copy of logMessages.h does not match log version number received from controller.controller version = 1, local copy version = 3. This is generally a non-issue, as thus far log messages have only been added - not changed.
Dec 16 2022 22:57:56 Bound to TCP socket on port 2473, interface localhost
Dec 16 2022 22:57:56 Installed devices received: [{"i": 0, "t": 3, "c": 1, "b": 0, "f": 2, "h": 1, "d": 0, "p": 5, "v": 0, "x": 1}, {"i": 1, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 6, "v": 0, "x": 1}, {"i": 2, "t": 1, "c": 1, "b": 1, "f": 9, "h": 2, "d": 0, "p": 18, "v": 54.949, "a": "28587979970403BF", "j": 0.0}, {"i": 3, "t": 1, "c": 1, "b": 0, "f": 5, "h": 2, "d": 0, "p": 18, "v": 54.611, "a": "2824E47997040301", "j": 0.0}]
Dec 16 2022 22:57:56 Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 4, "x": 1}]
 
Appreciate the quick reply. Here is the log, kind of weird, I fired it up and it worked right away, but still get that error when I click on debug. What do I need to do to run it in privlidged mode?


Dec 15 2022 16:53:05 Refreshing dbConfig
Dec 15 2022 16:53:05 Connection type Serial selected. Opening serial port.
Dec 15 2022 16:53:05 Connected via serial to port /dev/ttyACM0
Dec 15 2022 16:53:05 Notification: Script started, with no active beer being logged
Dec 15 2022 16:53:15 Checking software version on controller...
Dec 15 2022 16:53:15 Found BrewPi v0.2.10 build unknown, running on an Arduino Uno with a revA shield on port /dev/ttyACM0

Dec 15 2022 16:53:15 BrewPi version received was 0.2.10 which this script supports in 'legacy' branch mode.
Dec 15 2022 16:53:15 Warning: version number of local copy of logMessages.h does not match log version number received from controller.controller version = 1, local copy version = 3. This is generally a non-issue, as thus far log messages have only been added - not changed.
Dec 15 2022 16:53:15 Bound to TCP socket on port 2473, interface localhost
Dec 15 2022 16:53:15 Installed devices received: [{"i": 0, "t": 3, "c": 1, "b": 0, "f": 2, "h": 1, "d": 0, "p": 5, "v": 0, "x": 1}, {"i": 1, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 6, "v": 0, "x": 1}, {"i": 2, "t": 1, "c": 1, "b": 1, "f": 9, "h": 2, "d": 0, "p": 18, "v": 57.537, "a": "28587979970403BF", "j": 0.0}, {"i": 3, "t": 1, "c": 1, "b": 0, "f": 5, "h": 2, "d": 0, "p": 18, "v": 53.037, "a": "2824E47997040301", "j": 0.0}]
Dec 15 2022 16:53:15 Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 4, "x": 1}]
Dec 15 2022 16:58:02 Refreshing dbConfig
Dec 15 2022 16:58:02 Connection type Serial selected. Opening serial port.
Dec 15 2022 16:58:02 Connected via serial to port /dev/ttyACM0
Dec 15 2022 16:58:02 Notification: Script started, with no active beer being logged
Dec 15 2022 16:58:12 Checking software version on controller...
Dec 15 2022 16:58:12 Found BrewPi v0.2.10 build unknown, running on an Arduino Uno with a revA shield on port /dev/ttyACM0

Dec 15 2022 16:58:12 BrewPi version received was 0.2.10 which this script supports in 'legacy' branch mode.
Dec 15 2022 16:58:12 Warning: version number of local copy of logMessages.h does not match log version number received from controller.controller version = 1, local copy version = 3. This is generally a non-issue, as thus far log messages have only been added - not changed.
Dec 15 2022 16:58:12 Bound to TCP socket on port 2473, interface localhost
Dec 15 2022 16:58:13 Installed devices received: [{"i": 0, "t": 3, "c": 1, "b": 0, "f": 2, "h": 1, "d": 0, "p": 5, "v": 0, "x": 1}, {"i": 1, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 6, "v": 0, "x": 1}, {"i": 2, "t": 1, "c": 1, "b": 1, "f": 9, "h": 2, "d": 0, "p": 18, "v": 57.199, "a": "28587979970403BF", "j": 0.0}, {"i": 3, "t": 1, "c": 1, "b": 0, "f": 5, "h": 2, "d": 0, "p": 18, "v": 53.037, "a": "2824E47997040301", "j": 0.0}]
Dec 15 2022 16:58:13 Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 4, "x": 1}]
Dec 16 2022 22:57:45 Refreshing dbConfig
Dec 16 2022 22:57:45 Connection type Serial selected. Opening serial port.
Dec 16 2022 22:57:45 Connected via serial to port /dev/ttyACM0
Dec 16 2022 22:57:45 Notification: Script started, with no active beer being logged
Dec 16 2022 22:57:55 Checking software version on controller...
Dec 16 2022 22:57:56 Found BrewPi v0.2.10 build unknown, running on an Arduino Uno with a revA shield on port /dev/ttyACM0

Dec 16 2022 22:57:56 BrewPi version received was 0.2.10 which this script supports in 'legacy' branch mode.
Dec 16 2022 22:57:56 Warning: version number of local copy of logMessages.h does not match log version number received from controller.controller version = 1, local copy version = 3. This is generally a non-issue, as thus far log messages have only been added - not changed.
Dec 16 2022 22:57:56 Bound to TCP socket on port 2473, interface localhost
Dec 16 2022 22:57:56 Installed devices received: [{"i": 0, "t": 3, "c": 1, "b": 0, "f": 2, "h": 1, "d": 0, "p": 5, "v": 0, "x": 1}, {"i": 1, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 6, "v": 0, "x": 1}, {"i": 2, "t": 1, "c": 1, "b": 1, "f": 9, "h": 2, "d": 0, "p": 18, "v": 54.949, "a": "28587979970403BF", "j": 0.0}, {"i": 3, "t": 1, "c": 1, "b": 0, "f": 5, "h": 2, "d": 0, "p": 18, "v": 54.611, "a": "2824E47997040301", "j": 0.0}]
Dec 16 2022 22:57:56 Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 4, "x": 1}]
It looks like it works fine according to the logs. There are no errors and it can read the data fine. I only use wifi connection so I have not really tried the usb connection.

What error do you get when trying the debug connection ? Do you get any errors in the log after that ?
 
It looks like it works fine according to the logs. There are no errors and it can read the data fine. I only use wifi connection so I have not really tried the usb connection.

What error do you get when trying the debug connection ? Do you get any errors in the log after that ?
So I unplugged it and replugged it and now I am getting Cannot receive LCD text again. Here is the log.
Debug has everything passed except USB Serial Number Test.

"2824E47997040301", "j": 0.0}]
Dec 15 2022 16:58:13 Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 4, "x": 1}]
Dec 16 2022 22:57:45 Refreshing dbConfig
Dec 16 2022 22:57:45 Connection type Serial selected. Opening serial port.
Dec 16 2022 22:57:45 Connected via serial to port /dev/ttyACM0
Dec 16 2022 22:57:45 Notification: Script started, with no active beer being logged
Dec 16 2022 22:57:55 Checking software version on controller...
Dec 16 2022 22:57:56 Found BrewPi v0.2.10 build unknown, running on an Arduino Uno with a revA shield on port /dev/ttyACM0

Dec 16 2022 22:57:56 BrewPi version received was 0.2.10 which this script supports in 'legacy' branch mode.
Dec 16 2022 22:57:56 Warning: version number of local copy of logMessages.h does not match log version number received from controller.controller version = 1, local copy version = 3. This is generally a non-issue, as thus far log messages have only been added - not changed.
Dec 16 2022 22:57:56 Bound to TCP socket on port 2473, interface localhost
Dec 16 2022 22:57:56 Installed devices received: [{"i": 0, "t": 3, "c": 1, "b": 0, "f": 2, "h": 1, "d": 0, "p": 5, "v": 0, "x": 1}, {"i": 1, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 6, "v": 0, "x": 1}, {"i": 2, "t": 1, "c": 1, "b": 1, "f": 9, "h": 2, "d": 0, "p": 18, "v": 54.949, "a": "28587979970403BF", "j": 0.0}, {"i": 3, "t": 1, "c": 1, "b": 0, "f": 5, "h": 2, "d": 0, "p": 18, "v": 54.611, "a": "2824E47997040301", "j": 0.0}]
Dec 16 2022 22:57:56 Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 4, "x": 1}]
Dec 16 2022 23:20:32 Refreshing dbConfig
Dec 16 2022 23:20:32 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Dec 16 2022 23:20:38 Refreshing dbConfig
Dec 16 2022 23:20:38 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Dec 16 2022 23:20:48 Refreshing dbConfig
Dec 16 2022 23:20:48 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
 
So I unplugged it and replugged it and now I am getting Cannot receive LCD text again. Here is the log.
Debug has everything passed except USB Serial Number Test.

"2824E47997040301", "j": 0.0}]
Dec 15 2022 16:58:13 Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 4, "x": 1}]
Dec 16 2022 22:57:45 Refreshing dbConfig
Dec 16 2022 22:57:45 Connection type Serial selected. Opening serial port.
Dec 16 2022 22:57:45 Connected via serial to port /dev/ttyACM0
Dec 16 2022 22:57:45 Notification: Script started, with no active beer being logged
Dec 16 2022 22:57:55 Checking software version on controller...
Dec 16 2022 22:57:56 Found BrewPi v0.2.10 build unknown, running on an Arduino Uno with a revA shield on port /dev/ttyACM0

Dec 16 2022 22:57:56 BrewPi version received was 0.2.10 which this script supports in 'legacy' branch mode.
Dec 16 2022 22:57:56 Warning: version number of local copy of logMessages.h does not match log version number received from controller.controller version = 1, local copy version = 3. This is generally a non-issue, as thus far log messages have only been added - not changed.
Dec 16 2022 22:57:56 Bound to TCP socket on port 2473, interface localhost
Dec 16 2022 22:57:56 Installed devices received: [{"i": 0, "t": 3, "c": 1, "b": 0, "f": 2, "h": 1, "d": 0, "p": 5, "v": 0, "x": 1}, {"i": 1, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 6, "v": 0, "x": 1}, {"i": 2, "t": 1, "c": 1, "b": 1, "f": 9, "h": 2, "d": 0, "p": 18, "v": 54.949, "a": "28587979970403BF", "j": 0.0}, {"i": 3, "t": 1, "c": 1, "b": 0, "f": 5, "h": 2, "d": 0, "p": 18, "v": 54.611, "a": "2824E47997040301", "j": 0.0}]
Dec 16 2022 22:57:56 Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 4, "x": 1}]
Dec 16 2022 23:20:32 Refreshing dbConfig
Dec 16 2022 23:20:32 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Dec 16 2022 23:20:38 Refreshing dbConfig
Dec 16 2022 23:20:38 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Dec 16 2022 23:20:48 Refreshing dbConfig
Dec 16 2022 23:20:48 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
It looks like there is a process running and when you unplugged the device it tried to start a new processs without closing down the old one. Does it work if you restart the pi? If so its probably a bug
 
I shut it down, unplugged it and turned it back on again, still getting Cannot receive LCD text. Here is the log.

Dec 16 2022 23:38:18 Refreshing dbConfig
Dec 16 2022 23:38:18 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Dec 16 2022 23:38:28 Refreshing dbConfig
Dec 16 2022 23:38:28 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Dec 16 2022 23:38:38 Refreshing dbConfig
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 220, in ensure_connection
self.connect()
File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/django/__init__.py", line 579, in connect
return real_connect(self)
File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 197, in connect
self.connection = self.get_new_connection(conn_params)
File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/django/db/backends/postgresql/base.py", line 185, in get_new_connection
connection = Database.connect(**conn_params)
File "/usr/local/lib/python3.9/site-packages/psycopg2/__init__.py", line 127, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL: the database system is shutting down


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/app/brewpi-script/brewpi.py", line 159, in <module>
dbConfig = refresh_dbConfig()
File "/app/brewpi-script/brewpi.py", line 109, in refresh_dbConfig
return models.BrewPiDevice.objects.get(id=device_id)
File "/usr/local/lib/python3.9/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 411, in get
num = len(clone)
File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 258, in __len__
self._fetch_all()
File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 1261, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 57, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/usr/local/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1152, in execute_sql
cursor = self.connection.cursor()
File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 260, in cursor
return self._cursor()
File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 236, in _cursor
self.ensure_connection()
File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 220, in ensure_connection
self.connect()
File "/usr/local/lib/python3.9/site-packages/django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 220, in ensure_connection
self.connect()
File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/django/__init__.py", line 579, in connect
return real_connect(self)
File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 197, in connect
self.connection = self.get_new_connection(conn_params)
File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/django/db/backends/postgresql/base.py", line 185, in get_new_connection
connection = Database.connect(**conn_params)
File "/usr/local/lib/python3.9/site-packages/psycopg2/__init__.py", line 127, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: FATAL: the database system is shutting down

Sentry is attempting to send 2 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit
Dec 16 2022 23:41:38 Refreshing dbConfig
Dec 16 2022 23:41:38 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Dec 16 2022 23:41:48 Refreshing dbConfig
Dec 16 2022 23:41:48 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Dec 16 2022 23:41:58 Refreshing dbConfig
Dec 16 2022 23:41:58 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Dec 16 2022 23:42:08 Refreshing dbConfig
Dec 16 2022 23:42:08 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
 
I shut it down, unplugged it and turned it back on again, still getting Cannot receive LCD text. Here is the log.

Dec 16 2022 23:38:18 Refreshing dbConfig
Dec 16 2022 23:38:18 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Dec 16 2022 23:38:28 Refreshing dbConfig
Dec 16 2022 23:38:28 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Dec 16 2022 23:38:38 Refreshing dbConfig
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 220, in ensure_connection
self.connect()
File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/django/__init__.py", line 579, in connect
return real_connect(self)
File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 197, in connect
self.connection = self.get_new_connection(conn_params)
File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/django/db/backends/postgresql/base.py", line 185, in get_new_connection
connection = Database.connect(**conn_params)
File "/usr/local/lib/python3.9/site-packages/psycopg2/__init__.py", line 127, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL: the database system is shutting down


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/app/brewpi-script/brewpi.py", line 159, in <module>
dbConfig = refresh_dbConfig()
File "/app/brewpi-script/brewpi.py", line 109, in refresh_dbConfig
return models.BrewPiDevice.objects.get(id=device_id)
File "/usr/local/lib/python3.9/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 411, in get
num = len(clone)
File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 258, in __len__
self._fetch_all()
File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 1261, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 57, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/usr/local/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1152, in execute_sql
cursor = self.connection.cursor()
File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 260, in cursor
return self._cursor()
File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 236, in _cursor
self.ensure_connection()
File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 220, in ensure_connection
self.connect()
File "/usr/local/lib/python3.9/site-packages/django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 220, in ensure_connection
self.connect()
File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/django/__init__.py", line 579, in connect
return real_connect(self)
File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/base.py", line 197, in connect
self.connection = self.get_new_connection(conn_params)
File "/usr/local/lib/python3.9/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/django/db/backends/postgresql/base.py", line 185, in get_new_connection
connection = Database.connect(**conn_params)
File "/usr/local/lib/python3.9/site-packages/psycopg2/__init__.py", line 127, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: FATAL: the database system is shutting down

Sentry is attempting to send 2 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit
Dec 16 2022 23:41:38 Refreshing dbConfig
Dec 16 2022 23:41:38 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Dec 16 2022 23:41:48 Refreshing dbConfig
Dec 16 2022 23:41:48 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Dec 16 2022 23:41:58 Refreshing dbConfig
Dec 16 2022 23:41:58 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Dec 16 2022 23:42:08 Refreshing dbConfig
Dec 16 2022 23:42:08 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
I don’t really know whats causing this, the execption points to some database issue and it cannot connect to the postgress db. I think @Thorrak would need to give guidance on this.
 
I don’t really know whats causing this, the execption points to some database issue and it cannot connect to the postgress db. I think @Thorrak would need to give guidance on this.
@mper I appreciate your input. Is there an easy way to assign usb ports manually? Not sure if that would resolve the issue? I would really like to get the system running and stable again. Would it be easier to just install an esp8266 in place of the uno and bypass the usb alltogether. I do not see a diagram at all that shows where the wiring connects into the esp8266 if I want to direct swap with the uno, any way of pointing me in the right direction? Attached is how I am connected now and the esp8266 pinout. Uno has a 5v connection and the esp8366 has 3.3v, not sure if that would be an issue. Thanks!
 

Attachments

  • Screen Shot 2022-12-17 at 11.22.12 AM.png
    Screen Shot 2022-12-17 at 11.22.12 AM.png
    199.6 KB · Views: 0
  • Screen Shot 2022-12-17 at 11.33.30 AM.png
    Screen Shot 2022-12-17 at 11.33.30 AM.png
    228.2 KB · Views: 0
I had the “another instance of brewpi running” error yesterday. I ended up completely starting over on my RPi. Everything appears to be working now, but I can’t get my tilt to connect due to the missing python connectivity flag issue. I was able to follow the command used the bin folder as another person suggested and it appeared that setcap worked. However, I’m still getting the same tilt connection issue. Any ideas?
 
I ended up starting over and reinstalling Fermentrack. When I went to start the guided setup of connecting the Arduino, the auto-detection found a device even though I had nothing attached. Seems related to my issue posted above where sometimes the arduino is connected and other times it doesn't when starting Fermentrack. Any tips on how to go about this?
 
Hi guys, is there anyway you can use VNC to connect to your pi then open fermentrack and check on your fermentations when away from home? If so is it easy to setup?
 
No one seems to be using fermentrack anymore. I posted 3 weeks ago and no one has posted since?

Anyway does anyone else get this error from time to time? Ive been getting it in both of my controllers and there was mention of faulty power supplies but a mate of mine is using the same power supplies and he has never had this issue? its been going on for 3 years now.
 

Attachments

  • Screenshot 2023-01-07 at 10.06.20 pm.png
    Screenshot 2023-01-07 at 10.06.20 pm.png
    19.9 KB · Views: 0
I use OpenVPN to check my home/local LAN devices when away. There are free VPN options like that you can install on your phone and a device at home to get remote access. Just connect the VPN and browse like you're at home.

Your temperature screenshot doesn't look like an error. It's just not seeing temp sensors and reporting a temperature. Do you have a Beer and a Fridge temp sensor set up? If you wait some time, does a different sensor rotate to show in the display that has a temperature measurement?

I believe there are still people using Fermentrack. I used it for a long time and it works great. But I've sold my conical fermenter setup and switched to pressure fermenting in corny kegs inside and don't really need temp control anymore.
 
I am still using Fermentrack, but nowadays running in Docker off my NAS.

Your error, of you gontonthat controller, and pins, can you still see a probe allocated against it?
 
I am still using Fermentrack, but nowadays running in Docker off my NAS.

Your error, of you gontonthat controller, and pins, can you still see a probe allocated against it?
The probes are allocated in settings but says temp value: none. When I trued to . When I tried to refresh sensor temp readings I get this error.

Could It be that I have faulty temp sensors on both of my controllers? On the other controller I hard wired the sensors and bypassed a 3 pin plug I was using. But it still gives me this error more so than this one Im showing above which usually never fails and has only just started doing this.

Screenshot 2023-01-08 at 8.15.07 am.png
 
I am still using Fermentrack, but nowadays running in Docker off my NAS.

Your error, of you gontonthat controller, and pins, can you still see a probe allocated against it?
Ok I fixed this temp controller. it was a loose temp sensor wire. But.... That still doesnt explain my issue of temp controller 2 randomly switching to dashes every now and again over the last few years. Maybe I should just swap out the power supply? I do have another one. I assume the 1 wire sensors are fine or it wouldn't work ok for over a week at a time before failing again. A reboot always fixes it and then it will work again for another week or so.
 
I had a very similar issue, when I was using cheep knock-off DS18b20 probes, I ended up getting Dallas Instrument versions and have been good since
 
I had a very similar issue, when I was using cheep knock-off DS18b20 probes, I ended up getting Dallas Instrument versions and have been good since
yeh I was thinking of maybe getting better probes. The probes i bought from eBay were only $4.95 each. The probes I can get from another supplier Aus electronic direct are $21 each but I want to make sure they aren’t the same eBay cheapies they are selling.
 
To be sure they are original you need to buy at a authorized reseler.
Go to Mouser. They do not sell waterproof ones, only the to96 sensor.
You need to solder the wire and waterproof them yourself.
 
To be sure they are original you need to buy at a authorized reseler.
Go to Mouser. They do not sell waterproof ones, only the to96 sensor.
You need to solder the wire and waterproof them yourself.
I’ve personally been inclined to just not waterproof them as of late, since I always end up using a Thermo well anyways. If the Thermo well leaks then I figure I have bigger problems than a wet sensor.

Of course - that’s on batches where I use a wired beer sensor. Most of my recent batches have used the latest ESP32 firmware which pulls temps directly from a tilt. ;)

No one seems to be using fermentrack anymore. I posted 3 weeks ago and no one has posted since?

I don’t have any stats on usage, but based on errors hitting sentry I know there are at least a few users out there. That said, I agree that some kind of “state of the software” update might be in order as the updates have been a bit slower for the past year. I’m going to go to a brewery later this afternoon I think — If I do, I’ll try to get something drafted.
 
The past year has been a busy one for me -- but admittedly most of those changes haven't been as visible to Fermentrack users, especially during the latter half of the year. Here's what's been going on:

New Fermentrack features in 2022​

Released​


There was only one major release in 2022, the "Final Dockerless and Backup & Restore" release. The full release notes are here, but the major feature this release introduced were backup & restore functionality based on Django's "dump" feature.

Due to the fact that this release still supports non-docker installs there is some "legacy" code remaining in this release which can cause issues - including the infamous "python flag" bug people have encountered/reported on in this thread.

Related Projects/Unreleased​

Midway through 2022 I announced a new port of the BrewPi firmware over to the ESP32. This firmware is partially supported by the 2022 release of Fermentrack noted above, but most of the support for the new features the ESP32 brings are currently sitting unreleased on the "docker-dev" branch. This includes support for Bluetooth "fridge" temperature sensors, the use of Tilt Pros as "beer" sensors, and the use of Kasa WiFi switches as relays (thereby enabling a fully "solder-free" BrewPi experience).

In addition to the work to support BrewPi-ESP32, I've also been working on a complete refactor of the "launcher" for BrewPi-script instances in order to eliminate the use of Circus in Fermentrack. Circus is the process manager which (currently) enables an instance of BrewPi-script to be launched for each individual controller you have installed in Fermentrack. Unfortunately, Circus seems to have been largely abandoned by its developers, and brings with it requirements for packages (zmq) that have created significant headache in maintaining Fermentrack. The replacement launcher is mostly complete, but is not bug-free, and is the primary reason that this code has not been officially released.

Completing these features, getting them tested, and released are the immediate next steps - which I hope to do in the coming weeks/months. I'll cover the longer term outlook in my next post.
 
Thank you Thorrak for working on and maintaining this software. I use it on my fermentation chamber and have been quite happy with it. I will be bummed the day I fire it up for a brew and it doesn't work!

I would offer more peer support for questions on here, but I barely know how to make mine work. :p
 
Thanks Thorrak. Ive been using Fermentrack for many many years now and have also managed to get a few brew club guys onto it as well. Appreciate all you do for it.
 

Upcoming (Medium-term) Changes/Features​


Tilt Hydrometer & TiltBridge Support​


The original Tilt Hydrometer support was built into Fermentrack long before the TiltBridge concept was concieved. Unfortunately, some of the "best practices" that were decided during development of TiltBridge have not yet made their way back into Fermentrack. In the future, my plan is to replace the Fermentrack Tilt daemon and replace it with a new workflow that leverages the same pipes and plumbing as TiltBridge. My hope is that this will simplify the code base and UI, pipe Tilt readings through a supportable interface, and eliminate some of the errors/confusion that have cropped up as Fermentrack has grown over the years.

BrewFlasher Rebranding & BrewFlasher Web Integration​


Fermentrack's built-in firmware flashing process inspired the development of the desktop BrewFlasher app, which then in turn inspired BrewFlasher Web Edition about this time last year. Last year I additionally migrated the central firmware management functions from fermentrack.com to brewflasher.com.

Going forward, I would like to present all three options within Fermentrack, leveraging the BrewFlasher branding where appropriate. The existing Fermentrack implementation requires that users connect controllers to the Raspberry Pi, where some users may find connecting the controller to their local computer to be preferable. By presenting all three options within Fermentrack users will be able to select the option that is most convenient for them given their setup.

First-class 64-Bit (Desktop & RPi) Support​


Historically, Fermentrack was designed to be deployed on a Raspberry Pi. As Raspberry Pis have become difficult or expensive to source (and as the use of virtual machines has continued to grow) I've seen an increasing number of users convert from Raspberry Pi-based builds to builds using traditional desktop architecture. Going forward, I plan to target both architectures equally, with releases only being officially made when images/packages can be built for the armv7 (32-bit RPi), aarch64 (64-bit RPi), and amd64 (modern desktops & virtual machines) platforms.

Although technically this alone is not a change as I currently already build packages for all 3 architectures, the influence of this decision can be seen in the items listed above. Converting to a "TiltBridge Daemon" means that users without an RPi will be able to receive the same level of support from Fermentrack as users who use an RPi's built-in bluetooth adapter. Integrating BrewFlasher Web means that users running on VMs can flash controllers from their local desktop. While I plan to continue to target Raspberry Pis and leverage their built-in functionality as appropriate, my goal going forward will be to build functionality in a way that is hardware-agnostic.


Longer Term​


BrewPi REST​


Looking further ahead, my plan is to convert the BrewPi-ESP WiFi firmware (both ESP8266 and ESP32) to use a true REST interface to communicate with Fermentrack rather than the "telnet" interface currently in use. In order to prevent having to support two separate communication platforms in Fermentrack, this will require developing a "serial to REST" daemon that can convert existing Arduino (and legacy ESP-based serial) controllers to leverage a REST interface. Development of the new "serial to REST" daemon as well as the conversion of Fermentrack away from BrewPi-Script are both expected to be longer-term projects.
 
Back
Top