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

    Homebrewing Facebook Group

BrewPi Remix – What’s Old is New Again

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Thanks for the work you have put into updating this. I have been running the old script since 2017. Before I attempt this update, what will happen to my saved beer profiles? I have a different one for each type of yeast strain.
 
Before I attempt this update, what will happen to my saved beer profiles? I have a different one for each type of yeast strain.
Thaaaats a good question. I created a backup script but I'm not sure it's been tested recently.

If all you want to save is your temp profiles though, you should just be able to save the *.csv files out of the /home/brewpi/settings directory:

Bash:
pi@brewpi:/home/brewpi/settings $ ls -al
total 40
drwxrwxr-x  2 brewpi www-data 4096 Aug 26 14:55 .
drwxr-xr-x 10 brewpi brewpi   4096 Sep  1 10:17 ..
-rw-rw-r--  1 brewpi www-data  219 Aug 26 14:55 config.cfg
-rw-rw-r--  1 brewpi www-data 1874 Aug 26 12:05 config.cfg.example
-rw-rw-r--  1 brewpi www-data  457 Aug 26 12:05 defaults.cfg
-rw-rw-r--  1 brewpi www-data  231 Aug 26 12:05 .gitignore
-rw-rw-r--  1 brewpi www-data  564 Aug 26 12:05 GRAVITY.color
-rw-rw-r--  1 brewpi www-data    0 Aug 26 12:05 README.md
-rw-rw-r--  1 brewpi www-data  547 Aug 26 12:05 TEMPERATURE.color
-rw-rw-r--  1 brewpi www-data  191 Aug 26 12:05 tempProfile.csv
-rw-rw-r--  1 brewpi www-data 1039 Aug 26 12:05 tiltsettings.ini

Anything that's *.csv is your temp profiles. I'd leave the rest out as they will be overwritten in the install.
 
Thanks Lee, I was able to grab all my csv's!

When I ran the upgrade script, I received a 404 on tmpUpdate.sh. I ran this:

pi@brewpi /home/brewpi $ curl -L upgrade.brewpiremix.com | sudo bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 707 100 707 0 0 1205 0 --:--:-- --:--:-- --:--:-- 1808 100 10712 100 10712 0 0 7421 0 0:00:01 0:00:01 --:--:-- 46939 bash: line 50: /home/brewpi/inc/const.inc: No such file or directory bash: line 54: /home/brewpi/inc/error.inc: No such file or directory bash: line 58: /home/brewpi/inc/asroot.inc: No such file or directory bash: line 62: /home/brewpi/inc/help.inc: No such file or directory bash: line 66: /home/brewpi/inc/nettest.inc: No such file or directory bash: line 70: /home/brewpi/inc/config.inc: No such file or directory bash: line 297: const: command not found .... ***Script doUpdate.sh starting.*** Downloading current version of this script. Executing current version of script. /home/brewpi/tmpUpdate.sh: line 1: 404:: command not found ***Script doUpdate.sh complete.***

Ideas what went wrong? I checked the directory and do not have an 'inc' folder. So no includes would be found.
 
Last edited:
Yes - the upgrade was written to upgrade BrewPi Remix and not the OG BrewPi. Since both use GitHub's versioning as their base, and this is a separate GitHub repo, you need to start clean(er). Your path should be simple, however:
  1. Get outside the BrewPi home
  2. curl -L uninstall.brewpiremix.com | sudo bash
  3. Take the first option
  4. curl -L install.brewpiremix.com | sudo bash
  5. Replace your temp profiles
  6. Restart BrewPi with sudo systemctl restart brewpi
HOWEVER - You are likely on an old version of the OS. It makes me itchy thinking about that, and I did not test BPR with really old Raspbian releases. The whole idea was to allow updated versions. I am not sure what other issues you may have with that old image and corresponding binaries.

My most sincere recommendation would be to re-flash your SD card with a recent version. No changes to the image/OS are necessary after your first boot, the BPR install script will prompt you to change the password, system name, time zone, etc.

The new Raspberry Pi Image Tool makes it uber easy to create a new image. If you run headless, I created a small app called Headless Pi to help you set up the WiFi to allow a connection at first boot. At the top of this article, it will allow you to skip all the manual stuff and download that app.
 
Great, I re-flashed my SD card and started a new. I added ssh and the wifi via the headless Pi app. Once I plugged it into the pi, it had noticeable lag in all the prompts. Login, password, etc. Something is def bogging the connection down. Have you experienced that?

When I open the site up via http://brewpi.local/ it takes about 2.5mins to open the page. Once the site is up, I can use it as intended. Just wondering what I did with my setup to create this lag.
 
Sometimes I get that from my network security software when a new system drops. Not sure if that's the case there.

I would use something like top to see what the processes are which are consuming resources:

Bash:
top - 14:55:25 up 1 day,  4:32,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 133 total,   1 running, 132 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.4 sy,  0.0 ni, 99.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3827.3 total,   3337.2 free,    160.8 used,    329.3 buff/cache
MiB Swap:    100.0 total,    100.0 free,      0.0 used.   3493.9 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
11170 pi        20   0   10296   2940   2564 R   0.7   0.1   0:00.07 top
  400 root      20   0   10744   3700   3328 S   0.3   0.1   0:00.66 wpa_suppl+
  639 brewpi    20   0   57372  27412  11480 S   0.3   0.7   4:21.70 python3
    1 root      20   0   33804   8212   6536 S   0.0   0.2   0:07.00 systemd
    2 root      20   0       0      0      0 S   0.0   0.0   0:00.24 kthreadd
    3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
    4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp
    8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu+
    9 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tasks+
   10 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tasks+
   11 root      20   0       0      0      0 S   0.0   0.0   0:01.99 ksoftirqd+
   12 root      20   0       0      0      0 I   0.0   0.0   0:07.29 rcu_sched
   13 root      rt   0       0      0      0 S   0.0   0.0   0:00.04 migration+
   14 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0
   15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/1
   16 root      rt   0       0      0      0 S   0.0   0.0   0:00.03 migration+
   17 root      20   0       0      0      0 S   0.0   0.0   0:00.88 ksoftirqd+

Here you can see top is using more CPU than anything else, so it's a lightly traveled system.

If you installed Desktop, you can also pop a web page locally to see if the slowness is totally local, or network-based.
 
I'm still having the bad lag issues, sometimes I can't even ping it. But! I was too anxious to get a batch going with it, so here goes! I set up a beer profile and have applied it, but my idling is just getting longer. For some reason its not getting triggered by my wort or chamber temp. It should have already started cooling. The dip in the middle is where I inserted the the thermometer. What am I missing?
 

Attachments

  • remix.JPG
    remix.JPG
    87.3 KB
Thanks, it always helps when starting a project over to be sure all your devices are setup! While the temp probes were, my heating and cooling devices were not. Once I set those up, I was back in action.

Now to resolve the network stability issue. I've disabled my 5g network to see if that helps.
 
What version of Pi?

I upgraded up to Raspbian GNU/Linux 10 (buster) for this rebuild. The switch to 2.4 didn't change anything so going to turn 5g back on. I typically get 50% packet loss on pings, with replies ranging from 8ms-1100ms.
 
I meant the Pi itself.

That is a truly horrific network setup ... there's your problem. It's likely not the Pi itself but it may be location,
 
I agree, its driving me crazy and I'm in IT!! The Pi is a 2B. I was having these network issues before I moved it down to the garage where the fermenter is. On the old build I was running, before the upgrade, I didn't have lag issues. I'm wondering if the drivers need to be changed for the wifi dongle since I also updated the OS.

Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
 
On the old build I was running, before the upgrade, I didn't have lag issues. I'm wondering if the drivers need to be changed for the wifi dongle since I also updated the OS.
If you upgraded the OS, I would heartily recommend you (optionally grab a spare SD card and) re-flash with the current image. Not everything will be upgraded the same way when you do that.
 
I agree, its driving me crazy and I'm in IT!! The Pi is a 2B. I was having these network issues before I moved it down to the garage where the fermenter is. On the old build I was running, before the upgrade, I didn't have lag issues. I'm wondering if the drivers need to be changed for the wifi dongle since I also updated the OS.

Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter

I've had good luck with those network over power line devices FWIW. You just can't plug either endpoint device into a power strip, that's the only caveat.
 
Hi there,

I’ve been using a Brewpi remix for about a week now and was wondering if it supports the iSpindel? I remember I was being asked if I want to ad a Tilt to my setup during the installation of brewpi, but no mention of iSpindel.

and if it is supported, how do I implement it, reinstall brewpi and answer the Tilt question with “yes”?

would be very happy if someone could clarify that one for me.
 
Because this is an IP connection, the iSpindel will POST the data to brewpi-api.php. That page will send the data through BEERSOCKET to the script and hopefully, all will be fine. I use the same method for Brew Bubbles so despite not using an iSpindel, I work that path out pretty well. If you have issues you can turn on debug and tail the log to see if the data is coming in.

Most often, issues are related to permissions, or not restarting the script. Applying the standard first aid step is always warranted:

Bash:
sudo /home/brewpi/scripts/doPerms.sh

The chain of logging would be:
  1. Apache error log at /var/log/apache2/error.log
  2. BrewPi API log (if debug is true) at /var/www/html/apilog.txt
  3. BrewPi logs at:
    1. /home/brewpi/logs/stdout.txt
    2. /home/brewpi/logs/stderr.txt
Be sure to check back in and let us know it works!
 
Pardon my ignorance, but I haven't been able to find an answer in the documentation (I may have missed it) but is it possible to perform an upgrade from BrewPi Legacy branch to Remix without a brand new install?

Or as an alternative, a way to export and import settings/device/probe configuration?
 
Pardon my ignorance, but I haven't been able to find an answer in the documentation (I may have missed it) but is it possible to perform an upgrade from BrewPi Legacy branch to Remix without a brand new install?
There is not an effective way, no. There are many reasons but the biggest reason is the supporting libraries and software (part of RPi) have to be upgraded to such an extent that I cannot recommend trying to cobble it together.

Or as an alternative, a way to export and import settings/device/probe configuration?
Settings and configuration are in different places:
  • Controller
    • Setpoint
    • Mode
    • Units
    • Probe definition
    • Pin definition
    • PID data
  • Raspberry Pi
    • Paths (in /home/brewpi/config.cfg)
    • Logging config (in /home/brewpi/config.cfg)
    • Brew Logs (in /home/brewpi/data/*/*)
    • Temp Profiles (in /var/www/html/data/profiles/*.csv)
Anything in the controller stays with the controller, and so long as you have the same probes that will all stay intact. I do have newer versions of the firmware, but depending on what version you have now (at least 0.2.4) you should be fine.

Anything on the Pi can be copied to another PC depending on how you'd like to do it and your skill level. I'd suggest that you probably don't need any of that with the possible exception of the Temp Profiles. I can guarantee that the biggest issue people have trying to make the leap is trying to keep old data. Maybe back it up so you have it if you feel the need, but get it running first before you try getting fancy.

Once you are backed up, shut down your Pi, and re-flash the latest Raspbian OS - or even just get a new SD card for that and you can always go back. The new Raspberry Pi OS downloader makes it REALLY easy, and then if you don't have a monitor/mouse/keyboard hooked up, before you flash your OS hit Ctrl-Shift-K to bring up advanced options like enabling SSH, changing the host name, and so on.
 
Thanks for such a detailed response! Pretty comfortable with the technical side for the most part, so it's really more or less just determining the fastest path to get going without wasting time. Starting with a fresh install seems to be the way.
 
Yeah I mean I considered making a migration script, but if you have something like Filezilla it's easier just to drag and drop.

If you do copy the config.cfg, be aware that there are new config options. A merge might be a better idea.
 
Maybe, but at the same time it's such an easy process to go from flashing a new card to being up and running, minus tweaking settings I suppose. But between the improvements in Raspbian over time and the work you and others have put into these packages, it's almost too user friendly :p Anyhow, thanks again!
 
@LBussy Pardon the total noob questions, but I'm having trouble installing Brewpi Remix. After the install begins, I get two errors during the apt update and the setup stops.

E: Repository 'Index of /debian buster InRelease' changed its 'Suite' value from 'testing' to 'oldstable'
E: Repository 'Index of /raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'

I am a new user of raspberry pi devices and don't have much of an understanding of linux, so any help you could provide would be great. Thanks.
 
I’m guessing if you issue the following commands you will see the same?

Code:
sudo apt update
sudo apt upgrade -y

If so, the issue is because “bullseye” is replacing “buster” as the current version. You can try the following:

Code:
sudo apt-get update --allow-releaseinfo-change

This is not always successful, and it may be that flashing a new SD image is needed. The newest version is October 30th, 2021.
 
Howdy, so I've run into a strange problem when trying to update the Arduino firmware following a new install. Tried to trace what might be triggering it, but it's beyond my expertise.

Maybe this makes more sense to others. Following a clean install (it also happened immediately before the post-install splash page/ascii graphic popped up) anyway, after running updateFirmware.py it's unable to complete and assume that as a result the controller is not connected and the BrewPi script won't start.

Here's a dump of the console output:
Code:
Downloading from:
https://github.com/brewpi-remix/brewpi-firmware-rmx/releases/download/0.2.13/brewpi-arduino-uno-revc-0.2.13%2Bda7e14a9.hex

Latest firmware downloaded to:
/home/brewpi/downloads/0.2.13/brewpi-arduino-uno-revc-0.2.13%2Bda7e14a9.hex

Updating firmware.

Arduino program script started.
Traceback (most recent call last):
  File "./updateFirmware.py", line 431, in <module>
    result = main()
  File "./updateFirmware.py", line 426, in main
    result = updateFromGitHub(beta, doShield, userInput)
  File "./updateFirmware.py", line 389, in updateFromGitHub
    result = programmer.programController(config, board, localFileName, {'settings': restoreSettings, 'devices': restoreDevices})
  File "/home/brewpi/programController.py", line 199, in programController
    return programmer.program(hexFile, restoreWhat)
  File "/home/brewpi/programController.py", line 236, in program
    self.parse_restore_settings(restoreWhat)
  File "/home/brewpi/programController.py", line 296, in parse_restore_settings
    if version.parse(self.versionNew) >= version.parse(self.versionOld): # Only restore settings on same or newer
  File "/usr/local/lib/python3.7/dist-packages/packaging/version.py", line 49, in parse
    return Version(version)
  File "/usr/local/lib/python3.7/dist-packages/packaging/version.py", line 264, in __init__
    match = self._regex.search(version)
TypeError: expected string or bytes-like object

Any clue as to what might be preventing the firmware from flashing and/or the brewpi script not launching? Many thanks!
 
Last edited:
Back
Top