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:

OP
OP
LBussy

LBussy

A Cunning Linguist
HBT Supporter
Joined
Jan 19, 2013
Messages
3,991
Reaction score
1,736
Location
Rural Kansas
I dropped a hotfix into 0.7.5 master to address an issue where new OneWire sensors would not save correctly. There is no reason to update unless you have been bit by this (and I know of only one person who has been);

1619990221264.png


Everyone else can wait for a new release.

If you get bit by this, you will have to reset the Arduino to Factory Defaults (Maintenance Panel -> Advanced Settings -> Control Constants -> [Reset Arduino to factor defaults] button.)
 

blau

Well-Known Member
Joined
Feb 14, 2021
Messages
53
Reaction score
3
Hi, I have reinstalled.
Good display appearance. I connect the relay, it recognizes it well and it is installed, then I connect the probe to A0 but it is not recognized (I have tested with each of my 3 probes separately)
Tell me if you want me to reset the Arduino with the advanced settings button and flash the firmware again.
arduinoconfig20.jpg
 
OP
OP
LBussy

LBussy

A Cunning Linguist
HBT Supporter
Joined
Jan 19, 2013
Messages
3,991
Reaction score
1,736
Location
Rural Kansas
The hotfix I referenced is to deal with saving a ghost device only. If your sensors are not showing up, I suggest going back to the test sketch I shared with you and address whatever may be preventing the sensors from being detected. Assuming you have the I2C firmware installed (if the LCD works it is) and you are connected to A0, they should show up.
 

blau

Well-Known Member
Joined
Feb 14, 2021
Messages
53
Reaction score
3
Ok, It only occurs to me that the probes are bad. Can you think of a way to check this? We wait for the new probe? any other test? I follow the path that you indicate to me.
Yes I installed I2C and the LCD works fine.
 

blau

Well-Known Member
Joined
Feb 14, 2021
Messages
53
Reaction score
3
It seems there are no mistakes today. Here you have the video of the result on the display
 

blau

Well-Known Member
Joined
Feb 14, 2021
Messages
53
Reaction score
3
Ok, any clone "one" for reference? better a "one" than a wired lolin Mini?
 
OP
OP
LBussy

LBussy

A Cunning Linguist
HBT Supporter
Joined
Jan 19, 2013
Messages
3,991
Reaction score
1,736
Location
Rural Kansas
If you get a real D1 Mini, we can test that too. Both should work.

The Uno is another item with which I have not had an issue. Some of them do not have serial numbers, which means you can only have one per Pi, but other than that I've been lucky.
 

duncan.brown

Supporting Member
HBT Supporter
Joined
Apr 8, 2020
Messages
867
Reaction score
826
Location
Syracuse
@LBussy I'm still having trouble configuring my temperature probe after updating to get the fix. The screen shots below show what happens. I see the one-wire probe in the un-configured devices and it looks OK. Then I set it up using the pop-up menus and click Apply. However, it's settings get messed up when it tries to set up the sensor. I did a reset to factory on the board and still no luck. The board is running:

Found BrewPi v0.2.13 build a2fa8f0, running on an Arduino Uno with an I2C shield on port /dev/chronical

Any ideas? Thanks!

Screen Shot 2021-05-04 at 11.21.03 PM.png


Screen Shot 2021-05-04 at 11.21.16 PM.png


Screen Shot 2021-05-04 at 11.21.23 PM.png
 

duncan.brown

Supporting Member
HBT Supporter
Joined
Apr 8, 2020
Messages
867
Reaction score
826
Location
Syracuse
Software issues aside, the new BrewPi Remix Glycol hardware is finally set up and ready to be configured...

There are temp probes for each fermenter. The thick red/black wires coming out of the top of the black box carry the [email protected] current for the heaters across the basement. The black box has 12VDC in for each heater and 24VDC in and out for the glycol pumps. The board next to it has the Pi B+, connectors for the temperature probes, two Unos, and four 5V relays for the glycol pumps and heaters.

IMG_0015.jpeg
IMG_0016.jpeg
 
Last edited:

duncan.brown

Supporting Member
HBT Supporter
Joined
Apr 8, 2020
Messages
867
Reaction score
826
Location
Syracuse
That's the bug I fixed. I think what happened is your browser is caching the JS file. Do a shift-refresh and see if that takes care of it.

That was it, thank you. On Safari 14.0.3 you need to be a bit more aggressive and select "Develop -> Empty Caches" with no windows open to make sure that all the JavaScript is flushed.

That's a sweet setup! So jealous - I need to up my game.

Thanks! Configuration and testing starts tonight. I did a quick test and configured the probe as the chamber temperature and the glycol and heater relays as the chamber cooler and heater and I can hear the relays clicking on and off when I use constant chamber temperature and change the temperature setting.

I think I remember that you said for glycol I want the probe as Beer Temperature (not chamber) but if I do that, then it doesn't seem to trigger the cooling and heating relays. Is there something else that I need to set up for glycol?
 
OP
OP
LBussy

LBussy

A Cunning Linguist
HBT Supporter
Joined
Jan 19, 2013
Messages
3,991
Reaction score
1,736
Location
Rural Kansas
I need to get back and take a look at my notes in the code. I remember it the way you do, but a chamber temp is probably as effective because a single beer temp probe would revert to that type of control.

I’ll be interested to hear how it works for you, I’ll probably code any changes around your use case so please feel free to take copious notes about what you see and what you’d like to see.
 

duncan.brown

Supporting Member
HBT Supporter
Joined
Apr 8, 2020
Messages
867
Reaction score
826
Location
Syracuse
@LBussy I played with the glycol code this afternoon and have a few initial thoughts. This is just a dry run with nothing in the fermenters. Wort goes in tomorrow.

I think there's a minor bug in the glycol firmware that causes it to return the wrong code to the script for the shield type. It returns 6, which gets parsed as null and the pin configuration goes crazy. I set this to 5 so that it behaves like the I2C shield:


The temperature of my glycol is regulated by a separate thermostat in the chiller (which is always at 28F) so that control loop is independent of BrewPi. My setup has a single temperature probe inside the fermenter's thermowell so it's in direct contact with the fermenting beer. I'm controlling the glycol pump to cool, which sends 28F glycol through the fermenter's internal cooling coil, and a heating pad in direct contact with the cone of the fermenter to heat.

Given this, I think the easiest way to get BrewPi to behave in a similar way to the normal fridge and fermenter setup is to configure the temperature probe as the beer sensor. To get the heating and cooling to work with no physical fridge sensor, I set the firmware to use the address of the beer sensor as the fridge sensor if it's compiled for glycol:


This seems to do the right thing; heating and cooling works as expected and the logging and UI look right.

Since there zero penalty for short delay on the heating and not too much on the cooling, I tightened up the minimums for the short-delay cycles:


These numbers are more similar to the numbers on my old FTSS controller, so I'll start there.

All of this is in a pull request, if it looks reasonable to you:


Tomorrow is a brew day and I'll work on tuning the PID and see how that goes. There's only an uncountably infinite number of combinations of numbers that I can use for Kp, Ki, and Kd, so I'm sure I'll get it right eventually...
 
Last edited:
OP
OP
LBussy

LBussy

A Cunning Linguist
HBT Supporter
Joined
Jan 19, 2013
Messages
3,991
Reaction score
1,736
Location
Rural Kansas
Thanks, Duncan. I merged all but the shield definition into the glycol branch. I apparently forgot to add the glycol shield definition to the script, so that's been done in the ironically named glycol branch of the scripts. I'm sure you know how to pull that branch without my help.

I know you have the glycol temp controlled already. I'm interested to hear if you find any value in seeing the glycol temp in the display, want to control it (multi-chamber would work for this), or what other changes make sense.
 

duncan.brown

Supporting Member
HBT Supporter
Joined
Apr 8, 2020
Messages
867
Reaction score
826
Location
Syracuse
Great, thanks! Life got in the way of brewing yesterday, so I'll start playing around when I brew next weekend.

Although I don't need glycol temperature control, I might drop a couple of spare DS18B20's in the glycol and monitor that as the room temperature in BrewPi. That might be a good way to see what effect the thermal load of the cooling has on the glycol temp as the temperatures will be displayed on the same graph.
 

VictorBrew

Well-Known Member
Joined
Aug 1, 2014
Messages
50
Reaction score
11
I do not believe Remix has any remote logging out to Brewfather (I have used it with BrewPiLess). Is there any activity or thought to add this to Remix?
 
Last edited:

VictorBrew

Well-Known Member
Joined
Aug 1, 2014
Messages
50
Reaction score
11
... and the crowd goes wild !!!!!

I will do whatever I can to help build and test it.
 
Last edited:

balrog

Supporting Member
HBT Supporter
Joined
Nov 26, 2013
Messages
5,802
Reaction score
8,346
@LBussy , I know I'm the oddball out as I run a Dell laptop with Brewpi, but I just ran sudo doUpdate.sh to 0.7.5 and cannot start script.

--stdlog.txt last entry was when I shut off last brew 15 May
2021-05-15 11:23:33 [N] New JSON received from controller.
2021-05-15 11:25:34 [N] New JSON received from controller.
2021-05-15 11:26:24 [N] Stopped data logging temp control continues.
[email protected]:~/logs$ more stderr.txt

--stderr.txt last entry is also old
2021-04-12 20:53:27 [E] Filename: brewpi.py
2021-04-12 20:53:27 [E] LineNo: 1469
2021-04-12 20:59:35 [E] Starting BrewPi.
[email protected]:~/logs$ cd /home

Oddity #1: There is a /brewpi-utils-rmx folder under /home/pi/, dated today
[email protected]:/home/pi$ ls -l
total 76
-rw-r--r-- 1 pi pi 29464 Apr 8 2020 bootstrap.log
drwxr-xr-x 3 pi pi 4096 May 21 10:16 brewpi-tools-rmx
drwxr-xr-x 2 pi pi 4096 Apr 8 2020 Desktop
drwxr-xr-x 2 pi pi 4096 Apr 8 2020 Documents
drwxr-xr-x 2 pi pi 4096 Apr 9 2020 Downloads
drwxr-xr-x 2 pi pi 4096 Apr 8 2020 MagPi
drwxr-xr-x 2 pi pi 4096 Apr 8 2020 Music
drwxr-xr-x 2 pi pi 4096 Apr 8 2020 Pictures
drwxr-xr-x 2 pi pi 4096 Apr 8 2020 Public
drwxr-xr-x 2 pi pi 4096 Apr 8 2020 Templates
drwxr-xr-x 2 pi pi 4096 Apr 8 2020 Videos

--while under the brewpi user:
[email protected]:~$ pwd
/home/brewpi
[email protected]:~$ ls -l|grep ^d
drwxrwxr-x 19 brewpi brewpi 4096 May 4 09:16 data
drwxrwxr-x 2 brewpi brewpi 4096 May 21 11:04 Desktop
drwxrwxr-x 2 brewpi brewpi 4096 May 21 10:16 inc
drwxrwxr-x 2 brewpi brewpi 4096 Apr 8 2020 logs
drwxrwxr-x 2 brewpi brewpi 4096 May 21 10:17 __pycache__
drwxrwxr-x 3 brewpi www-data 4096 May 21 10:16 settings
drwxrwxr-x 2 brewpi brewpi 4096 May 21 10:16 tests
drwxrwxr-x 3 brewpi brewpi 4096 May 21 12:12 utils
drwxrwxr-x 5 brewpi brewpi 4096 Mar 13 16:04 venv
[email protected]:~$

sudo doPerms.sh did not fix, after reboots

Can I look for the "keep from starting" file somewhere?

Thanks
 

balrog

Supporting Member
HBT Supporter
Joined
Nov 26, 2013
Messages
5,802
Reaction score
8,346
Hm. Nope. Unless I am in the wrong place (and/or have the wrong syntax for "find")

[email protected]:/var/www/html$ ls -l
total 280
-rw-rw---- 1 www-data www-data 10016 Apr 8 2020 beer-panel.php
-rw-rw---- 1 www-data www-data 2904 Apr 8 2020 brewpi-api.php
-rw-rw---- 1 www-data www-data 497 Apr 8 2020 config.php
-rw-rw---- 1 www-data www-data 1486 Apr 8 2020 configuration.php
-rw-rw---- 1 www-data www-data 382 Apr 8 2020 config_user.php.example
-rw-rw---- 1 www-data www-data 7992 Apr 8 2020 control-panel.php
drwxrws--- 3 www-data www-data 4096 Mar 13 16:02 css
drwxrws--- 20 brewpi www-data 4096 May 4 09:16 data
-rw-rw---- 1 www-data www-data 147 Apr 8 2020 defaultSettings.json
drwxrws--- 2 www-data www-data 4096 Apr 8 2020 font
-rw-rw---- 1 www-data www-data 5584 Apr 8 2020 fullscreen-lcd.php
-rw-rw---- 1 www-data www-data 3334 Apr 8 2020 get_beer_data.php
-rw-rw---- 1 www-data www-data 1664 Apr 8 2020 get_beer_files.php
-rw-rw---- 1 www-data www-data 1364 Apr 8 2020 get_beer_profile.php
-rw-rw---- 1 www-data www-data 1363 Apr 8 2020 get_beer_profiles.php
-rw-rw---- 1 www-data www-data 2194 Mar 13 16:02 get-bjprompt.php
-rw-rw---- 1 www-data www-data 1974 May 21 10:16 get-gitinfo.php
-rw-rw---- 1 www-data www-data 3909 Mar 13 16:02 get-logo.php
-rw-rw---- 1 www-data www-data 2565 Apr 8 2020 getLogs.php
-rw-rw---- 1 www-data www-data 2126 Mar 13 16:02 get-tiltinfo.php
drwxrws--- 2 www-data www-data 4096 Apr 8 2020 images
-rw-rw---- 1 www-data www-data 6339 Mar 13 16:02 index.php
drwxrws--- 2 www-data www-data 4096 May 21 10:16 js
-rw-rw---- 1 www-data www-data 5360 Mar 13 16:02 lcd.php
-rw-rw---- 1 www-data www-data 34740 Apr 8 2020 LICENSE.md
-rw-rw---- 1 www-data www-data 34600 Mar 13 16:02 maintenance-panel.php
-rw-rw---- 1 www-data www-data 5193 Apr 8 2020 multi-api.php
-rw-rw---- 1 www-data www-data 5302 Mar 13 16:02 multi-index.php
-rw-rw---- 1 www-data www-data 2391 Apr 8 2020 newsendmessage.php
-rw-rw---- 1 www-data www-data 6268 Mar 13 16:02 newsocketmessage.php
-rw-rw---- 1 www-data www-data 1182 Apr 8 2020 original-license.md
-rw-rw---- 1 www-data www-data 9014 Apr 8 2020 previous_beers.php
-rw-rw---- 1 www-data www-data 4328 Apr 8 2020 program_arduino.php
-rw-rw---- 1 www-data www-data 1236 Apr 8 2020 README.md
-rw-rw---- 1 www-data www-data 1777 Apr 8 2020 save_beer_profile.php
-rw-rw---- 1 www-data www-data 3898 Apr 8 2020 socketmessage.php
-rw-rw---- 1 www-data www-data 2311 Apr 8 2020 socket_open.php
-rw-rw---- 1 www-data www-data 2215 Apr 8 2020 sockettest.php
-rw-rw---- 1 www-data www-data 1601 Apr 8 2020 start_script.php
-rw-rw---- 1 www-data www-data 2502 Mar 13 16:02 top-bar.php
drwxrws--- 2 www-data www-data 4096 Apr 8 2020 uploads
-rw-rw---- 1 www-data www-data 37 May 15 11:26 userSettings.json

[email protected]:/$ sudo find / -name "do_not_run_brewpi*"
[sudo] password for brewpi:
find: ‘/run/user/110/gvfs’: Permission denied
find: ‘/proc/15002’: No such file or directory
[email protected]:/$
 
OP
OP
LBussy

LBussy

A Cunning Linguist
HBT Supporter
Joined
Jan 19, 2013
Messages
3,991
Reaction score
1,736
Location
Rural Kansas
No cron for a while now. Check syslogd:

Bash:
sudo systemctl status brewpi

It should show green/running. If not it may show an error (truncated text may be seen by using the right-arrow.)

Alternatively, you can use the log file viewer:

Bash:
journalctl -u brewpi
 

balrog

Supporting Member
HBT Supporter
Joined
Nov 26, 2013
Messages
5,802
Reaction score
8,346
It's all about the package...

[email protected]:~$ sudo systemctl status brewpi
● brewpi.service - BrewPi Remix daemon for: brewpi
Loaded: loaded (/etc/systemd/system/brewpi.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-05-21 12:31:12 EDT; 1h 10min ago
Docs: BrewPi Remix Documentation — BrewPi Remix 0.5.3 documentation
Main PID: 903 (bash)
Tasks: 2 (limit: 4644)
Memory: 21.9M
CGroup: /system.slice/brewpi.service
├─ 903 /bin/bash /home/brewpi/utils/doBrewPi.sh -d
└─17659 sleep 1

May 21 13:41:44 raspberry brewpi[903]: Traceback (most recent call last):
May 21 13:41:44 raspberry brewpi[903]: File "/home/brewpi/brewpi.py", line 61, in <module>
May 21 13:41:44 raspberry brewpi[903]: import brewpiJson
May 21 13:41:44 raspberry brewpi[903]: File "/home/brewpi/brewpiJson.py", line 38, in <module>
May 21 13:41:44 raspberry brewpi[903]: from BrewPiUtil import Unbuffered
May 21 13:41:44 raspberry brewpi[903]: File "/home/brewpi/BrewPiUtil.py", line 48, in <module>
May 21 13:41:44 raspberry brewpi[903]: import BrewPiProcess
May 21 13:41:44 raspberry brewpi[903]: File "/home/brewpi/BrewPiProcess.py", line 38, in <module>
May 21 13:41:44 raspberry brewpi[903]: from packaging import version
May 21 13:41:44 raspberry brewpi[903]: ModuleNotFoundError: No module named 'packaging'
[email protected]:~$
 

balrog

Supporting Member
HBT Supporter
Joined
Nov 26, 2013
Messages
5,802
Reaction score
8,346
Related?
I tried running the curl update, it cannot find upgrade.brewpiremix.com

[email protected]:~$ pwd
/home/brewpi
[email protected]:~$ sudo /home/brewpi/utils/doUpdate.sh

***Script doUpdate.sh starting.***

Downloading current version of this script.

Executing current version of script.

Checking /home/pi/brewpi-tools-rmx for necessary updates.

/home/pi/brewpi-tools-rmx is up to date.

Checking /home/brewpi/utils for necessary updates.

/home/brewpi/utils is up to date.

Checking /var/www/html for necessary updates.

/var/www/html is up to date.

Do you want to flash your controller now? [y/N]:

***Script doUpdate.sh complete.***
[email protected]:~$
[email protected]:~$
[email protected]:~$ curl -L upgrade.brewpiremix.com | sudo bash

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (6) Could not resolve host: upgrade.brewpiremix.com
[email protected]:~$
[email protected]:~$ ping upgrade.brewpiremix.com
ping: upgrade.brewpiremix.com: Name or service not known
[email protected]:~$
 
OP
OP
LBussy

LBussy

A Cunning Linguist
HBT Supporter
Joined
Jan 19, 2013
Messages
3,991
Reaction score
1,736
Location
Rural Kansas
upgrade.brewpiremix.com
Tru "update.brewpiremix.com." Both should work but for some reason "upgrade" is broken at the moment. I'll check on that in a sec.

It "looks like" your upgrade was incomplete, and that should fix it. If not, we'll work it out. I know what it is, just not why it happened.
 

Latest posts

Top