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.
0.7.2 Bugfix Release
Upgrading

Existing users of BrewPi Remix 0.5.3 and above may upgrade with:
Bash:
sudo /home/brewpi/utils/doUpdate.sh
If you are not on version 0.5.3 or above (or if you have no idea what version you are on,) use the following command to upgrade to the latest version:
Bash:
curl -L upgrade.brewpiremix.com | sudo bash
This must be run from within your /home/brewpi directory, or from each chamber directory in multi-chamber mode.

Pardon my ignorance, but is there perhaps a "sudo /home/brewpi/utils/Show-Joseph-His-Currently-Installed-Version.sh"?
 
Pardon my ignorance, but is there perhaps a "sudo /home/brewpi/utils/Show-Joseph-His-Currently-Installed-Version.sh"?
At the bottom of the web page, it shows what version the web application is - which should be the same as the rest.

To answer according to your very specific manner to find out your version; in the various directories (/home/brewpi, /var/www/html, /home/pi/brewpi-tools-rmx) issue the following command:

Bash:
sudo git describe --exact-match --tags
 
Well smack my http and call me Judy! I never scrolled to the bottom. Thanks.

1615667933947.png
 
Hey gang, long time lurker, first time poster on the BrewPi remix thread. Thanks for all the great ideas, insights, and instructions and of course to @LBussy for providing great instructions and the awesome install script.

I'm currently fermenting my second batch with the BrewPi remix and I'm loving it, except....the raspberry pi seems to be crashing and I'm not sure why. I'm using a rpi zero in a headless setup. I have not installed a physical reboot button, so when it does stall/fail, I've been unplugging the power supply (not ideal I know). The arduino uno is being powered from the usb port of the rpi and continues to run when the rpi stalls. It seems that the rpi is remaining powered up, but loosing connection to the wifi network. It seems that the frequency of failures from the rpi has increased. I don't remember failing much if at all on the initial fermentation---it maybe runs now for 12-16 hours before loosing wifi connection. I recently wiped the sd card and did a fresh install. I did reconfigure the hardware and installed everything into a sprinkler project box before fermenting the second batch, so it's possible I jacked something...

My question is: how do I go about troubleshooting this? Any areas I should begin checking? I've taken a look at the logs in the maintenance panel and I haven't seen anything

Thanks in advance for all of your help. This is a really cool project and has been a great introduction to working with these tools.

Cheers,
NP
 
Separate power is a good way to go - but let's talk about how to debug what's happening.

If you are on a current-ish version, the WiFi script will log to stderr.txt if it has trouble connecting. I'd also be interested to see if you can ping by name and/or IP address when it does go away.

Does it continue to log data while it's not responding to you?

You can also check the daemon log with "journalctl -u brewpi" and see if anything interesting lies there.
 
Try powering the RPI zero and Arduino UNO with separate power sources and see what happens.
I will get a power adaptor and try powering separately. Thanks for the quick reply @Bigdaddyale
Separate power is a good way to go - but let's talk about how to debug what's happening.

If you are on a current-ish version, the WiFi script will log to stderr.txt if it has trouble connecting. I'd also be interested to see if you can ping by name and/or IP address when it does go away.

Does it continue to log data while it's not responding to you?

You can also check the daemon log with "journalctl -u brewpi" and see if anything interesting lies there.
Dumb question: where is stderr.txt located? How would I check that file when the rpi inevitably goes offline again?
This is what is in the current stderr.txt log:

2021-03-13 11:42:51 [E] Starting BrewPi.
2021-03-14 12:07:01 [E] Starting BrewPi.
2021-03-15 12:26:03 [E] Starting BrewPi.

I will try to ping by name/IP when it goes offline again.
When the rpi is unresponsive would you expect it to log data to stderr.txt or somewhere else?

I checked the daemon log and here is what was available:


-- Logs begin at Mon 2021-03-15 12:17:01 EDT, end at Mon 2021-03-15 13:28:41 EDT
Mar 15 12:17:33 brewpi systemd[1]: Started BrewPi Remix daemon for: brewpi.
Mar 15 12:25:47 brewpi brewpi[436]: No user config file found:
Mar 15 12:25:47 brewpi brewpi[436]: /home/brewpi/settings/config.cfg
Mar 15 12:25:47 brewpi brewpi[436]: Using default configuration.
Mar 15 12:25:48 brewpi brewpi[436]: No user config file found:
Mar 15 12:25:48 brewpi brewpi[436]: /home/brewpi/settings/config.cfg
Mar 15 12:25:48 brewpi brewpi[436]: Using default configuration.
Mar 15 12:25:48 brewpi brewpi[436]: No user config file found:
Mar 15 12:25:48 brewpi brewpi[436]: /home/brewpi/settings/config.cfg
Mar 15 12:25:48 brewpi brewpi[436]: Using default configuration.
Mar 15 12:26:00 brewpi brewpi[436]: 2021-03-15 12:26:00 [N] No user config file
Mar 15 12:26:00 brewpi brewpi[436]: 2021-03-15 12:26:00 [N] /home/brewpi/setting
Mar 15 12:26:00 brewpi brewpi[436]: 2021-03-15 12:26:00 [N] Using default config
Mar 15 12:26:01 brewpi brewpi[436]: 2021-03-15 12:26:01 [N] No user config file
Mar 15 12:26:01 brewpi brewpi[436]: 2021-03-15 12:26:01 [N] /home/brewpi/setting
Mar 15 12:26:01 brewpi brewpi[436]: 2021-03-15 12:26:01 [N] Using default config
Mar 15 12:26:01 brewpi brewpi[436]: 2021-03-15 12:26:01 [N] No user config file
Mar 15 12:26:01 brewpi brewpi[436]: 2021-03-15 12:26:01 [N] /home/brewpi/setting
Mar 15 12:26:01 brewpi brewpi[436]: 2021-03-15 12:26:01 [N] Using default config
Mar 15 12:26:03 brewpi brewpi[436]: Logging to /home/brewpi/logs/.
Mar 15 12:26:03 brewpi brewpi[436]: Output will not be shown in console.
Mar 15 12:26:03 brewpi brewpi[436]: Starting BrewPi.

Thanks for the quick reply!
 
Last edited:
The logs are kept in "/home/brewpi/logs/" named "stderr.txt" and "stdout.txt." The stdout is re-written at each restart but the stderr should persist. It might be helpful if at all possible to drag a keyboard and monitor to the thing if it happens frequently enough. If you do, you can watch both logs with "tail -f /home/brewpi/logs/std*.txt"

That log grouping on 2021-03-15 12:26:00 is interesting. Might see where that leads us if/when it happens again.
 
Hello again,
I am somewhat stuck with the ESP8622. It may be an understanding problem on my part.
Like I said earlier, I get to flash fine with BrewFlasher. I can access it, use my Smartphone and configure it. Although I put an mDNS name, it seems that it is not registered. I can locate the device in the list of devices connected to my router using the MAC address (I have more devices with the ESP label… they are sonoff devices for the lights in the house.) I don't know if it is normal that the mDNS label is not recorded.
This problem is minor, but somewhat annoying for the colleagues to whom I am explaining the operation. They still have less experience than I do with all of this and they could use that label.
Once at this point, I no longer know how to re-enter the ESP8622 configuration to try again to change the mDNS label or change the Wi-Fi network selection. When the system has to work definitively, I will need to change the wifi network. I am learning how to configure the new system at home, but the final system will work elsewhere with another Wi-Fi network.
When I restart the ESP8622 directly connects to the Wi-Fi network, without the possibility of accessing the configuration menu.
On the other hand, in the connection graph of the Brewpi Hardware blog post (BrewPi Hardware) I can see the pin numbering of the arduino uno. Can you give me the correspondence on the wemos D1 mini?
Thanks
 
I have not installed a physical reboot button, so when it does stall/fail, I've been unplugging the power supply (not ideal I know).
Here's a gist I created for this. Basically, all you need is to edit a text file and a momentary contact button between two pins. You can also add an LED as shown here (be sure to use a suitable resistor). It's not perfect, but the Raspbian folks only allow a boot overlay to do the button or the LED - not both. When used like this, the LED will be on late and off early, but it's better than nothing.
 
Like I said earlier, I get to flash fine with BrewFlasher. I can access it, use my Smartphone and configure it. Although I put an mDNS name, it seems that it is not registered. I can locate the device in the list of devices connected to my router using the MAC address (I have more devices with the ESP label… they are sonoff devices for the lights in the house.) I don't know if it is normal that the mDNS label is not recorded.
mDNS is a broadcast thing, so if it's on your network and your router doesn't filter broadcast (some do) then it should work.

If you are using Windows, try zeroConfServiceBrowser. It should show all of the devices broadcasting on your network. These days there should always be at least a few. If you see none, then the problem is either your computer or your network. Are you able to connect to your Raspberry Pi by name? Can you ping your ESP device by name from the Pi?
 
Hello,
With ZeroconfServiceBrowser I can recognize my wemos D1 mini and see the ip and the host. They respond to ping from your ip and ping from your host. From the pc and from the Raspberry. How do I access them to change Host and IP? or access your setup?
Can you tell me the connection pinouts on the Wemos D1 mini to install the probes and relays and try to recognize them?
Thanks
 
With ZeroconfServiceBrowser I can recognize my wemos D1 mini and see the ip and the host. They respond to ping from your ip and ping from your host. From the pc and from the Raspberry.
Excellent, all good then.

How do I access them to change Host and IP? or access your setup?
There is no direct configuration on the device at this point. You configure BrewPi to use the device by an entry in the "/home/brewpi/settings/config.cfg" file. It probably has something like this now:

INI:
port = auto
altport = None

Delete those and add an entry like this:

INI:
port = socket://192.168.168.143:23

Change the IP address to reflect the IP of your controller, leave the ":23" at the end.

Can you tell me the connection pinouts on the Wemos D1 mini to install the probes and relays and try to recognize them?
  • D0 - Heat
  • D5 - Cool
  • D6 - OneWire
 
Hello,
Tell me if I have understood the process correctly:
When I have configured my wemos D1 mini: it has taken an IP address offered by the router's dhcp. For example: 192.168.1.xx. This IP is the one that you tell me that I have to configure in the file Config.cfg port = socket: //192.168.1.xx: 23 in this way raspberry will use this port to communicate with my wemos D1 mini. If this is correct, the problem will be in my new location, the range of IP's is different 192.168.100.xx for this reason I think I would have to modify the IP that my wemos D1 mini has assigned.
  • D0 - Heat
  • D5 - Cool
  • D6 - OneWire
is this for relays or for ssr?Some days ago, you commented that there was a little connection difference. I'm going to use ssr.
Thanks
 
Last edited:
I think I would have to modify the IP that my wemos D1 mini has assigned.
I am reasonably sure there is no web server in the controller, so there's nothing for you to connect to. There is a TELNET server (which is how the application connects.) The easiest way to erase the settings is to use the BrewPi web interface if you can connect. If you cannot, then use BrewFlasher, re-flash, and be sure to choose the "erase flash." Just re-flashing does not erase the WiFi settings. After that you should be able to connect to it as an Access point", and connect it to the new network.

is this for relays or for ssr? Some days ago, you commented that there was a little connection difference. I'm going to use ssr.
Relays will use the same pins. The SSR is generally set up opposite of how a relay is set:

1615985288718.png

Under "Pin Type", the SSR is set up as "Non-Inverted."
 
Ok, I think that with these indications I could put the system to work. This weekend I am looking for a quiet time. I will continue to report.
Thanks.
 
Lee
what could cause this?:
2021-03-13 20:33:36 [E] Failed to parse Purple Tilt from Tiltbridge payload.

Oh, never mind. I just realized the date. I know what caused this. How can I delete this post?
 
Hello,
new steps, new problems.
Brewpi remix installed. multi-camera, but at the moment only one. configured the file config.cfg with the ip corresponding to the only D1mini (with a probe and a ssr connected). the ip answers ping both from a pc and from the raspberrypi. It seems all correct.
I access the page for the first time and it returns a wrong temperature reading (20º) in the header. It seems that things are going well.
I access the "device Configuration" section. I refresh device list, at first an error but finally it shows me a list with several devices, among them I recognize the probe. I configure and update but the temperature reading does not work. After this everything is worse. In the header of the page I only get "Cannot connect to script" and although I refresh again I do not get anything in the list of devices. I restart the system and I always get this last state. In the terminal type viewer, I always get "Error while receiving device configuration: SintaxError: token C in JSON at position 0"
the system returns ping still. I understand that there must be a communication problem with the D1mini, but I don't know what to do.
Any ideas?
Thanks
 
I always get "Error while receiving device configuration: SintaxError: token C in JSON at position 0"
Confirmed - you can switch to the "devel" branch to get past this error (change path as appropriate if you are using multi-chamber):
Bash:
cd /home/brewpi
sudo git checkout devel
sudo /home/brewpi/utils/doPerms.sh
sudo systemctl restart brewpi
That should get you past that error, I was working on it yesterday but it is not in the master branch yet.

I configure and update but the temperature reading does not work.
I am banging my head against this one right now. It's been a bit since I tested that workflow but I noticed this yesterday as well. Stand by for now on that one.
 
cd /home/brewpi sudo git checkout devel sudo /home/brewpi/utils/doPerms.sh sudo systemctl restart brewpi
"sudo systemctl restart brewpi" returns "Failed to restart brewpi.service: Unit brewpi.service not found"
 
I understand, I have corrected the syntax and now fine. Anyway the problem persists, nothing has been solved. I keep getting "Cannot connect to script" in the header and "error while receiving ..." in the terminal of "device configuration" It doesn't show any device.
 
I configure and update but the temperature reading does not work.
Okay, this is fixed in devel AND in my current fermentation chamber. :p

I'll release it later this week, but for now, the steps are:

Bash:
cd /home/brewpi
sudo git fetch --all
sudo git checkout devel
sudo git pull
sudo /home/brewpi/utils/doPerms.sh
sudo systemctl restart brewpi
 
0.7.3 Bugfix Release

This release addresses the following:
  • 640af2f - Error when requesting devices
  • d83f05b - Error (Silent failure) when setting devices
Upgrading

Existing users of BrewPi Remix 0.5.3 and above may upgrade with:

Bash:
sudo /home/brewpi/utils/doUpdate.sh

If you are not on version 0.5.3 or above (or if you have no idea what version you are on,) use the following command to upgrade to the latest version:

Bash:
curl -L upgrade.brewpiremix.com | sudo bash

This must be run from within your /home/brewpi directory, or from each chamber directory in multi-chamber mode.

Returning from Devel Branch

If you followed the above instructions to use the Devel branch, you must revert first. Please do the following:

Bash:
cd /home/brewpi
sudo git fetch --all
sudo git checkout master
sudo /home/brewpi/utils/doPerms.sh

At this point you should tun the upgrade command above:

Bash:
sudo /home/brewpi/utils/doUpdate.sh
 
Hello, I have updated and I have seen some error in the process, maybe it is normal. The error persists but, do not take it as a definitive information. I'm away from home, doing the update remotely (remote.it works great, thanks for the tip) Today is a long day at work for me and I don't get home until tomorrow. Once there I am going to restore a backup copy of my Sd and do the new installation. When I have it done I report the result. Thanks for such continuous support.
 
0.7.3 Bugfix Release

This release addresses the following:
  • 640af2f - Error when requesting devices
  • d83f05b - Error (Silent failure) when setting devices
Upgrading

Existing users of BrewPi Remix 0.5.3 and above may upgrade with:

Bash:
sudo /home/brewpi/utils/doUpdate.sh

If you are not on version 0.5.3 or above (or if you have no idea what version you are on,) use the following command to upgrade to the latest version:

Bash:
curl -L upgrade.brewpiremix.com | sudo bash

This must be run from within your /home/brewpi directory, or from each chamber directory in multi-chamber mode.

Returning from Devel Branch

If you followed the above instructions to use the Devel branch, you must revert first. Please do the following:

Bash:
cd /home/brewpi
sudo git fetch --all
sudo git checkout master
sudo /home/brewpi/utils/doPerms.sh

At this point you should tun the upgrade command above:

Bash:
sudo /home/brewpi/utils/doUpdate.sh

I followed the above instructions to revert to master. Yet My version reports as

BrewPi Remix version: 0.7.3 (devel) [ 2959fa2

Shouldn't it have changed to Master?
 
Shouldn't it have changed to Master?
I think I see where we went sideways. For you *only* do the following:

Bash:
cd ~/brewpi-tools-rmx/
git fetch --all
git checkout master
cd /home/brewpi
sudo git fetch --all
sudo git checkout master
cd /var/www/html
sudo git fetch --all
sudo git checkout master

Then you can do the update:
Bash:
sudo /home/brewpi/utils/doUpdate.sh

The back-story: BrewPi Remix is made of three separate repositories. I'm going to reduce that to two "soon", and may go to one. It's a carry-over from the way Elco did the original project. The update will not change your branch by design. I have a script I have been working on to manage switching between branches but it's not done yet.
 
@LBussy I'm thinking about switching my SS Brewtech Fermeters from the FTSS to BrewPi Remix. Taking a quick look at the code, am I correct that all of actual process-control work is done from the brewpiLoop() on the Arduino and the Pi code is just used to provide a web interface that reads/writes data over the serial link and provides the logging?
 
Pretty much. The UI does allow things like temp profiles, but maintenance of a given temperature is all in the controller.

If you are thinking glycol, there's a couple of non-obvious things that we can walk through but I did create a glycol branch in devel this week.
 
Pretty much. The UI does allow things like temp profiles, but maintenance of a given temperature is all in the controller.

Great, thank you.

If you are thinking glycol, there's a couple of non-obvious things that we can walk through but I did create a glycol branch in devel this week.

Yes, my Arduinos will be running relays for the glycol pumps and relays for the heater belts on the fermenters, with one-wire temperature sensors in the thermowells. It looks like

https://github.com/brewpi-remix/brewpi-firmware-rmx/issues/14
is implementing the glycol fixes?
 
Yessir. Right now it's easiest if you use PIO and build the "Glycol" variant. You'll use the Beer ONLY probe. If you are going to control the Glycol chiller with BrewPi then you'll need a second "chamber" but you can always keep a view on the Brew's chamber by using a "Room" probe in the glycol.

I don't have Glycol here, so it's been a crapshoot to figure out how to support it with some style. I mean I have zero doubts about the temperature control, it's more about it actually saying things like "Glycol" and "Fermenter" in the UI.

If you are wanting to use an ESP device instead, that may be a little more work (for me, not you).
 
Perfect, thanks. I just ordered another Pi B+ to run it, so when that arrives I'll start playing around with the install. I'll be running each fermenter on its own Uno to keep things simple. My glycol chiller has it's own thermostat, so I'll just use a probe to monitor the temperature but not control it.
 
No, errors would not be normal. I need to see what they are if you saved them.

Sorry I couldn't save the error.

Anyway, once I have returned home, I have done the following:
- I have restored a copy of my sd
- I have installed brewpiRemix again.
- I have configured config.cfg.
- I check ping to the IP of the mini D1 (from my pc and from raspberry)
- I access the brewpi host page.
- I open the page "device configuration". It has not detected devices on the first try, I suppose it is normal due to the wifi communication.
- I configure devices "0 and 2" and apply ...
You can see the result. The devices are not installed.
I have to say that I have checked the cables of my installation.
My connection is this:
+ 5v -> + 5v Mini D1; + 5v SSR; Endurance; red probe lead.
-5v -> - 5v Mini D1; black probe wire
D5 -> -5v SSR
D6 -> Resistance; yellow probe lead.
conf1.jpg
 
I see the issue, I don't believe the issue. :p I'm having some github challenges apparently and I'll have to figure that out after coffee. Please standby.
 
Last edited:
Okay - for the technical folks who may get a kick out of this: You actually have to press the "merge" button to merge code. Go figure!

Sorry about the problems. If you have upgraded already, just do it again and it will work.

Also, @blau: The only device that should be assigned to "Beer 1" is the beer probe. All of the rest should be "Chamber Device." I need to remove that "configuration" one of these days.
 

Latest posts

Back
Top