BrewPi Remix – What’s Old is New Again

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.
It's easy, but it's work that may not get you anywhere. I'd be pretty frustrated if I did that and it didn't help. Unless you made some changes to the Pythion scripts, there's no reason to believe those are at fault. This will allow us to find out right away.
Ok. Ill working on it. Thanks
 
Side question, @LBussy - how adaptable/malleable/robust is the whole tuning/updating of the PID nature of all this if someone has a feeble ferm chamber cooling unit and must sometimes add a frozen water bottle? That means the cooling side capability is randomly cyclical in time.
 
Side question, @LBussy - how adaptable/malleable/robust is the whole tuning/updating of the PID nature of all this if someone has a feeble ferm chamber cooling unit and must sometimes add a frozen water bottle? That means the cooling side capability is randomly cyclical in time.
I know a guy who had a similar setup, where he had the BrewPi controlling a fan between a chamber holding the beer and a chamber holding frozen water bottles. Worked great for him, so would probably work well here as well.
 
fwiw, I have noticed I can induce some algorithmic "wind up" in BrewPi by interrupting heating or cooling downstream of the relays. As the temperature trends "differently" from what BrewPi expects, it keeps cranking up what settings it can effect to get a response - that still doesn't happen. Then when I "un-interrupt" the actors BrewPi ping-pongs between heating and cooling with massive overshoots and never really seems to dial down its settings to get back to its rational self. When/if I recognize it I reload the default control variables which tames the behavior.

I always start a new brew session with a fresh load of default settings to avoid "leftovers"...

Cheers!
 
I mean the built-in BrewPi control defaults found in Maintenance Panel - Advanced Settings.
Both the Control Settings and Control Constants have default values you can force on the Arduino...

1694026340444.png



Note I have not tried manipulating the Control Algorithm page. Never changed anything there in all these years :)

1694026617030.png


Cheers!
 
Ok. Ill working on it. Thanks
It seems that the relay I'm using is causing my heat and cool to short cycle issue. When the trigger pins are disconnected from the relay the controller works as intended. Initially I thought the controller was getting feedback voltage from the relay to cause the short cycle so I tried a diode on the trigger to stop voltage from traveling back to the controller with no success. This is the relay I'm using (Relay). I needed something that would handle more amperage then the SanSmart. Does anyone have know working relays that handle higher amperage then the SanSmart.
 
That relay module apparently generates its own 5vdc, which given its almost 400 mA current draw is a good thing. Just don't connect that 5vdc rail to anything else, AND don't plug your controller power supply into the same AC source used by the relay module...

Cheers!
 
That relay module apparently generates its own 5vdc, which given its almost 400 mA current draw is a good thing. Just don't connect that 5vdc rail to anything else, AND don't plug your controller power supply into the same AC source used by the relay module...

Cheers!
Same results. I have to use either the positive or negative along with the trigger to get the relay to fire.
 
It should work if you connect DC grounds together. That shouldn't upset the controller...

Cheers!
Both ESP32 and Arduino controllers will not trigger the relay without the issue. I even tried inverting the trigger.
 
I've updated the installer with a fix for the CVE issue as well as a deprecated removed numpy version. If you are running now, there is no need to update anything. This will only impact new users/installs.
 
Not sure if this is an issue specifically related to my setup or not, but figured I would post here in case it helps anyone else. I am running a Pi 2 and had been running a very old build of the OG BrewPi for the past few years. It recently started to fail when loading the web page, so I figured a reinstall was in order, which is how I ran across BrewPi Remix.

I followed the instructions on the web site, but when the installation was finished, the script would never start. Clicking the Start Script button did nothing. I could manually start the script using my Pi account, but obviously didn't want to have to do that every time I reboot the thing. I kept seeing errors in the logs regarding the numpy Python package and tried to uninstall/reinstall it and other packages I saw recommended multiple times using both apt and pip3 to no avail. Here is the error message.

Dec 5 15:40:50 brewpi brewpi[26097]: Traceback (most recent call last):
Dec 5 15:40:50 brewpi brewpi[26097]: File "/home/brewpi/venv/lib/python3.9/site-packages/numpy/core/__init__.py", line 24, in <module>
Dec 5 15:40:50 brewpi brewpi[26097]: from . import multiarray
Dec 5 15:40:50 brewpi brewpi[26097]: File "/home/brewpi/venv/lib/python3.9/site-packages/numpy/core/multiarray.py", line 10, in <module>
Dec 5 15:40:50 brewpi brewpi[26097]: from . import overrides
Dec 5 15:40:50 brewpi brewpi[26097]: File "/home/brewpi/venv/lib/python3.9/site-packages/numpy/core/overrides.py", line 8, in <module>
Dec 5 15:40:50 brewpi brewpi[26097]: from numpy.core._multiarray_umath import (
Dec 5 15:40:50 brewpi brewpi[26097]: ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory
Dec 5 15:40:50 brewpi brewpi[26097]: During handling of the above exception, another exception occurred:
Dec 5 15:40:50 brewpi brewpi[26097]: Traceback (most recent call last):
Dec 5 15:40:50 brewpi brewpi[26097]: File "/home/brewpi/venv/lib/python3.9/site-packages/numpy/__init__.py", line 130, in <module>
Dec 5 15:40:50 brewpi brewpi[26097]: from numpy.__config__ import show as show_config
Dec 5 15:40:50 brewpi brewpi[26097]: File "/home/brewpi/venv/lib/python3.9/site-packages/numpy/__config__.py", line 4, in <module>
Dec 5 15:40:50 brewpi brewpi[26097]: from numpy.core._multiarray_umath import (
Dec 5 15:40:50 brewpi brewpi[26097]: File "/home/brewpi/venv/lib/python3.9/site-packages/numpy/core/__init__.py", line 50, in <module>
Dec 5 15:40:50 brewpi brewpi[26097]: raise ImportError(msg)
Dec 5 15:40:50 brewpi brewpi[26097]: ImportError:
Dec 5 15:40:50 brewpi brewpi[26097]: IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Dec 5 15:40:50 brewpi brewpi[26097]: Importing the numpy C-extensions failed. This error can happen for
Dec 5 15:40:50 brewpi brewpi[26097]: many reasons, often due to issues with your setup or how NumPy was
Dec 5 15:40:50 brewpi brewpi[26097]: installed.
Dec 5 15:40:50 brewpi brewpi[26097]: We have compiled some common reasons and troubleshooting tips at:
Dec 5 15:40:50 brewpi brewpi[26097]: Troubleshooting — NumPy v2.0.dev0 Manual
Dec 5 15:40:50 brewpi brewpi[26097]: Please note and check the following:
Dec 5 15:40:50 brewpi brewpi[26097]: * The Python version is: Python3.9 from "/home/brewpi/venv/bin/python3"
Dec 5 15:40:50 brewpi brewpi[26097]: * The NumPy version is: "1.26.2"
Dec 5 15:40:50 brewpi brewpi[26097]: and make sure that they are the versions you expect.
Dec 5 15:40:50 brewpi brewpi[26097]: Please carefully study the documentation linked above for further help.
Dec 5 15:40:50 brewpi brewpi[26097]: Original error was: libopenblas.so.0: cannot open shared object file: No such file or directory
Dec 5 15:40:50 brewpi brewpi[26097]: The above exception was the direct cause of the following exception:
Dec 5 15:40:50 brewpi brewpi[26097]: Traceback (most recent call last):
Dec 5 15:40:50 brewpi brewpi[26097]: File "/home/brewpi/brewpi.py", line 61, in <module>
Dec 5 15:40:50 brewpi brewpi[26097]: import brewpiJson
Dec 5 15:40:50 brewpi brewpi[26097]: File "/home/brewpi/brewpiJson.py", line 37, in <module>
Dec 5 15:40:50 brewpi brewpi[26097]: import Tilt
Dec 5 15:40:50 brewpi brewpi[26097]: File "/home/brewpi/Tilt.py", line 38, in <module>
Dec 5 15:40:50 brewpi brewpi[26097]: import numpy
Dec 5 15:40:50 brewpi brewpi[26097]: File "/home/brewpi/venv/lib/python3.9/site-packages/numpy/__init__.py", line 135, in <module>
Dec 5 15:40:50 brewpi brewpi[26097]: raise ImportError(msg) from e
Dec 5 15:40:50 brewpi brewpi[26097]: ImportError: Error importing numpy: you should not try to import numpy from
Dec 5 15:40:50 brewpi brewpi[26097]: its source directory; please exit the numpy source tree, and relaunch
Dec 5 15:40:50 brewpi brewpi[26097]: your python interpreter from there.

I tried reinstalling everything from scratch, twice, and ended up with this result both times. I did try running all of the doXXX.sh scripts from the git repository to fix perms and dependencies, but it would never fix it. I am not sure which of these things I did on the 3rd try ultimately resolved it, or if it was a combination of the 2, but instead of running the curl command: curl -L install.brewpiremix.com | sudo bash
I instead ran the command listed in the git documentation: curl -L raw.githubusercontent.com/brewpi-remix/brewpi-tools-rmx/master/bootstrap.sh | sudo bash

That did seem to run through all of the scripts and install things I didn't notice when running the installer in the previous 2 attempts, so perhaps the shortened curl URL is linking to an older install script? Regardless, I was still getting the same error with numpy and the script wouldn't start, but this time, I installed one of the packages that I saw recommended before (that I had installed on the previous 2 attempts as well) and IT WORKED!! Here is the package that ended up fixing it for me: sudo apt-get install libopenblas-dev

Sorry for the novel, just wanted to be as detailed as possible so that others don't bang their head against the wall for 2 days like I did.
 
Holy wall of text, Batman!

What version of the OS did you flash? If you do not remember, please give me the output of these two commands:

Bash:
cat /etc/os-release

Bash:
uname -m
 
Yeah, sorry. I couldn't figure out a better way to format it yesterday. I don't comment here much. Here is the out put for those 2 commands.

Bash:
pi@brewpi:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
pi@brewpi:~ $ uname -m
armv7l
 
Yeah, sorry. I couldn't figure out a better way to format it yesterday.
Just giving you some grief. I did not expect to log in here and see that. :)

Here is the out put for those 2 commands.
Okay, so Bullseye, and I have not validated that yet. Also, 32-bit, which is validated. Do you recall if you installed a desktop as well? (Graphical UI)

It's running, so no concern about this not being validated; I just need to do some testing.
 
Do you recall if you installed a desktop as well? (Graphical UI)

The original install was with the Lite version as I planned on running headless, but there were tons of dependencies missing for various things that I kept running in to and having to install, so rounds 2 and 3 were with a desktop environment. I used the Pi Imager tool and selected this OS.

1701895283530.png
 
The original install was with the Lite version as I planned on running headless, but there were tons of dependencies missing for various things that I kept running in to and having to install, so rounds 2 and 3 were with a desktop environment. I used the Pi Imager tool and selected this OS.
I'll have a look - I generally test with Lite so .. looks as if I have work to do.
 
Hello all, I’m running the glycol shield on my rewired (I2C) BrewPi controller. Doing some testing before my first fermentation, but I’m getting a lot of oscillation, especially towards end. Any suggestions? Please ignore the blip in the middle—I forgot to lower my chiller temp. 🤓
IMG_7016.png
 

Attachments

  • IMG_7016.png
    IMG_7016.png
    338.3 KB · Views: 0
Well, there’s no PID gain in the Glycol controller firmware, so I’m going to flat out guess that the glycol needs to be colder (since it worked up to a point). I’d crank it down a bit and see what happens.
 
Well, there’s no PID gain in the Glycol controller firmware, so I’m going to flat out guess that the glycol needs to be colder (since it worked up to a point). I’d crank it down a bit and see what happens.
Got it. Do most people running glycol run at a specific temperature and keep it there? Or do you bump it down as needed? I started it low at first but it seemed to cool too much so I adjusted it up. This however is also problematic during a lager ramp down as seen above. I ended up changing the BrewPi settings to plus or minus 0.3 degrees for heating and cooling. Any other thoughts or recommendations? Especially in the BrewPi settings?
 
I ended up changing the BrewPi settings to plus or minus 0.3 degrees for heating and cooling.
I had thought the same, even grabbed a screen image of the pertinent Advanced Settings section. But there's already quite a bit of bouncing between Cool and Heat modes extant at the temperature approached the target in that plot. Cutting the differential down will likely increase the frequency though also likely will decrease the amplitude. Eventually it'll run into the compressor delay...

Cheers!
 
There’s no compressor delay in glycol either. If you have a heater in there, I would definitely turn it off if you are cold crashing and it’s not sitting in your garage in 0° weather. I don’t own a glycol system, I stole the settings from brewpiless. If somebody wants to buy me a glycol, I’d be happy to test it.
 
There’s no compressor delay in glycol either. If you have a heater in there, I would definitely turn it off if you are cold crashing and it’s not sitting in your garage in 0° weather. I don’t own a glycol system, I stole the settings from brewpiless. If somebody wants to buy me a glycol, I’d be happy to test it.
Lee, I actually just made a glycol chiller with a window air conditioner. It’s been working like a champ. 😁

I thought about turning off the heater wrap as well, but I was trying to minimize cooling overshoots to keep with the Tasty McDole lager cool down after the diacetyl rest.
 
I’ve read where people have done that. I have enough projects right now. :)

What’s weird to me is you had a nice ramp down and then had issues after you reset your chiller.

While what Dave shared is a concern for most people, not you though. You can safely reduce that differential since you are not controlling a compressor.
 
Does that mean the compressor runs 24/7 and you're just switching a solenoid valve and a heat mat or something like that?
The BrewPi in this instance is controlling a small pump submerged in glycol in a cooler. There is a separate controller for the chiller itself, in my case, an Inkbird.
 
@kmllr315 for my unitanks, I set my glycol temp at 23F and just leave it there. I let BrewPi handle the cooling with fixed glycol temp. The ramp that happens halfway between Jan 26 and 27 looks like your glycol was not cold enough to cool, then the temperature drops once your lower the glycol temperature.

If your temperature probe is not at the bottom of your fermenter, you may have discovered this

https://www.homebrewtalk.com/threads/ssbrewtech-unitank-and-maximum-density-of-water.728352/

As @Deadalus reminded me, ice floats...
 
IMG_7054.png
IMG_7055.png

Okay. Here is my 2nd go around with my lager ramping. All went well, but I again had some larger than expected oscillation towards the end of ramp down (additional pic zoomed for greater detail). For the entirety, the glycol remained at least 10 degrees cooler than the corresponding BrewPi set point. Thinking about taking off the heat during the ramp down. Thoughts?
 
Yet another install question.

I'm finally getting around to migrating from Legacy BrewPi to BrewPi Remix primarily because of the hope of better glycol support.

I'm attempting a clean, multi-chamber install on a Pi 3B+ (ARMV71) with 32-bit Buster Lite thinking that legacy OS is better tested with BPR than Bullseye or Bookworm. Everything is running fine until I getting an Error message halting the install because the script is looking for a distribution version of Numpy 1.26.2 from requirements.txt that doesn't seem to exist in the pypi.org repository. Attached is the boostrap.log file.

Have scanned but don't see this issue in past posts in this topic. Any suggestions on how to address?
 

Attachments

  • bootstrap.txt
    49 KB · Views: 0
...

That did seem to run through all of the scripts and install things I didn't notice when running the installer in the previous 2 attempts, so perhaps the shortened curl URL is linking to an older install script? Regardless, I was still getting the same error with numpy and the script wouldn't start, but this time, I installed one of the packages that I saw recommended before (that I had installed on the previous 2 attempts as well) and IT WORKED!! Here is the package that ended up fixing it for me: sudo apt-get install libopenblas-dev

Sorry for the novel, just wanted to be as detailed as possible so that others don't bang their head against the wall for 2 days like I did.
After trying multiple things on Buster, I abandoned that approach and followed your path. The numpy distribution requirement for the install is not compatible with Python3.7 and I didn't want to get involved in manual upgrades to 3.9.

With Bullseye, I encountered the same numpy install issues you identified in bootstrap.log until I installed the additional apt package you also identified. Thank you! Life saver.
 
All, my BrewPi solution has been working great for many years, but I just had one of my SainSmart Arduino UNO's fail. It does not seem that the SainSmarts are available anymore, so just inquiring which UNO's folks are buying now and have had good luck with.
 
Back
Top