CraftBeerPi - Raspberry Pi Software

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.
Mike check the wiki vor Craftbeerpi3. There are sample plugins . Is not dificult to understand.

Hey all,

Other than starting at the beginning of this thread (33 pages long), is there a one stop shop procedure for getting CraftBeerPi set up on a RPi? Has anyone created a setup procedure and published it? Or is the best place to get that info still on the web site? It just seems like a lot of folks have issues setting everything up and have to jump on here to solve it?

Also, if I have a couple of special procedures to operate stepper motors and I need to perform them at various points in my recipe, is it fairly straight-forward to develop add-ins and have them executed at the right time? I am a software engineer so the coding is a no brainer, but I have not looked at the CraftBeerPi code yet, so this is just a preliminary question.
 
Mike Howard,
Just my opinion...
If you follow the instructions at the CraftbeerPi website to the "T" - you should not have any trouble.
If you do, come back here and ask for help.
The big thing for me was getting the correct version of CraftbeerPi software downloaded. If you follow the directions and links off the main page and menu, you'll get version 2 installed.
If you want version 3, when at that point in the instructions - follow the link to here instead: https://github.com/Manuel83/craftbeerpi3
 
I brewed for the first time on my new CBP3 system yesterday. My system is a 2 vessel, 2 pump, 1 element system loosely based on the BrewEasy. My control panel has indicator lights which turn on when the respective receptacle is powered up. I also have a touchscreen on the panel (kiosk mode) but monitor things from inside on the PC. I noticed a couple issues which I'm hoping you all can help with.

1) Whenever the brew steps move from one MashStep to the next, the frequency of the heating element is reset. I have it set to 0.25 Hz via the GUI but on the next mash step my indicator light starts to go on and off probably 20 times per second. Is this a known bug or just an issue with the way I have my set-up configured?
FWIW I can remedy the issue by changing the frequency manually, say to 2.4 Hz, but it is only temporary fix. It will happen again the next mash step.

2) During my brew session when a step has a timer, the timer always shows 00:00:00 on the PC or my phone when the timer starts. No countdown. If I go outside to the panel, I can see the timer counting correctly from the touchscreen interface.

3) I get no temperature charts on the PC or on the touchscreen. When I click Chart, I just see a blank white screen.

Update on number 1...after reinstalling everything and still having the same symptom, I checked the InvertPWM addon. It worked as expected, but I have my SSR wired standard and not inverted. When looking into modifying that addon for non inverted, I realized seesser already has the Mod_PWM addon. I'm not using his ramping logic, but setting my element actor type to Mod_PWM works flawlessly.

Update on number 3...I deleted my logs using the interface and now the charts are working.

I ran into another bug. I have 4 one-wire sensors and the raspberry pi sensor. All but 2 I have set to hidden under my hardware settings. When I restart, they appear on the Brewing page but still show the hidden symbol under hardware settings. I can live with this bug if there is no fix as it is just clutter and not a functionality issue.
 
I'm installing the lastest CraftBrewPi (v2.2) from github on a RPi3 that is running Fedora 29. (https://github.com/manuel83/craftbeerpi)

FYI, the Fedora dependencies do not cross over well to the dependencies in requirements.txt, which is probably set up for Raspian. FYI #2, Fedora uses dnf, not apt-get.

I think I've got all the dependencies figured out (!) and installed (!!), but I'm getting this error when I run python runserver.py :

# python runserver.py
HALLO
/usr/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.babel is deprecated, use flask_babel instead.
.format(x=modname), ExtDeprecationWarning
/usr/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.wtf is deprecated, use flask_wtf instead.
.format(x=modname), ExtDeprecationWarning
/usr/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.superadmin is deprecated, use flask_superadmin instead.
.format(x=modname), ExtDeprecationWarning
Segmentation fault (core dumped)

Is there a way around this error, short of editing the source code ?

Am I supposed to be running CBPi with Python 2.x or Python 3.x ?

Is CBPi3 stable enough for everyday use ? At first glance, I actually like CBPi2 better...

Thanks
 
I don't understand why I am seeing this error.

Requirements.txt has the following:
Flask==0.11.1
Flask-DebugToolbar==0.10.0
Flask-Restless==0.17.0
Flask-SocketIO==2.6.2
Flask-SQLAlchemy==2.1
eventlet==0.19.0
greenlet==0.4.10
RPi.GPIO==0.5.11
python-dateutil==2.5.3
python-engineio==0.9.2
python-mimeparse==1.5.2
python-socketio==1.4.4
PyYAML==3.11
requests==2.11.0
SQLAlchemy==1.0.14
Werkzeug==0.11.10
WTForms==2.1
httplib2==0.9.2
Flask-SuperAdmin==1.7.1
CHIP_IO==0.2.6

# pip list
Package Version
------------------ -------
blinker 1.4
CHIP-IO 0.2.6
Click 7.0
eventlet 0.19.0
Flask 0.11.1
Flask-DebugToolbar 0.10.0
Flask-Restless 0.17.0
Flask-SocketIO 2.6.2
Flask-SQLAlchemy 2.1
Flask-SuperAdmin 1.7.1
Flask-WTF 0.14.2
greenlet 0.4.10
httplib2 0.9.2
itsdangerous 1.1.0
Jinja2 2.10
MarkupSafe 1.1.0
mimerender 0.6.0
pifacecommon 4.2.2
pifacedigitalio 3.1.0
pip 18.1
python-dateutil 2.5.3
python-engineio 0.9.2
python-mimeparse 1.5.2
python-socketio 1.4.4
PyYAML 3.11
requests 2.11.0
RPi.GPIO 0.5.11
setuptools 40.4.3
six 1.12.0
SQLAlchemy 1.0.14
Werkzeug 0.11.10
WTForms 2.1

Seems as though the package versions are correct. Why am I receiving this error ?
 
valgrind gives me this:
==2757== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==2757== Access not within mapped region at address 0x3
==2757== at 0x89C3848: gpio_function (c_gpio.c:204)
==2757== by 0x89C24B7: setup_one.15770 (py_gpio.c:198)
==2757== by 0x89C2DEB: py_setup_channel (py_gpio.c:274)
==2757== by 0x4937D37: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==2757== by 0x493731B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==2757== by 0x4939633: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==2757== by 0x4939973: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==2757== by 0x494A11F: PyImport_ExecCodeModuleEx (in /usr/lib/libpython2.7.so.1.0)
==2757== by 0x494A4CF: ??? (in /usr/lib/libpython2.7.so.1.0)
==2757== by 0x494B9FB: ??? (in /usr/lib/libpython2.7.so.1.0)
==2757== by 0x494B167: ??? (in /usr/lib/libpython2.7.so.1.0)
==2757== by 0x494B3E3: ??? (in /usr/lib/libpython2.7.so.1.0)
==2757== If you believe this happened as a result of a stack
==2757== overflow in your program's main thread (unlikely but
==2757== possible), you can try to increase the size of the
==2757== main thread stack using the --main-stacksize= flag.
==2757== The main thread stack size used in this run was 8388608.
 
I wiped the SD card and installed Raspbian instead of Fedora. Then I installed CraftBeerPi3. It works well.
 
I ran into another bug. I have 4 one-wire sensors and the raspberry pi sensor. All but 2 I have set to hidden under my hardware settings. When I restart, they appear on the Brewing page but still show the hidden symbol under hardware settings. I can live with this bug if there is no fix as it is just clutter and not a functionality issue.

It is a know bug. There is a walk arround editing the index.htm and adding some CCS code. Look in youtube.
 
It is a know bug. There is a walk arround editing the index.htm and adding some CCS code. Look in youtube.
That would be great. Can you help me with a few more keywords for searching? I looked through all craftbeerpi videos on youtube and none reference the index.html or CSS.
 
I playing around with BrewPi3.

I don't understand the timer function in the Actors. (ie 10, 20, 30 seconds.) What are they for ?

Is there a way to add a system timer to the "panel" ?
 
I playing around with BrewPi3.

I don't understand the timer function in the Actors. (ie 10, 20, 30 seconds.) What are they for ?

Is there a way to add a system timer to the "panel" ?
The only timer I see under Actors is for a timed agitator. I don't have one set up in my system, but this could be a mechanical stirrer for the mash or whatever else you want to be on for a short period when called.

If you set up the brew steps, you will see that MashStep, BoilStep, PumpStep and ChillStep all have a time parameter in minutes. When you run through your brew steps, these will run for the configured amount of time and then continue to the next step automatically. Mash and boil steps wait for a temperature before the countdown begins. AFAIK there is no way to add a timer to the panel.
 
Thanks for the reply, BrewMeABrew.

I haven't brewed CBPi yet, but from what I can see, I'd really want to have a timer for unforeseen things, even though the steps have a built in timer. Maybe I just need to get used to this new way of controlling the brewing process.

Some other things I'd like to see in CBPi...

1) Be able to download the temp chart of a brew as a data file (CSV ?) in addition to the jpg, pdf that it already has.
2) Have the heat actor duty cycle imposed on the temp chart, so one can see what the heating element was doing. Would be very helpful when tuning, analysing or troubleshooting a system.
3) A global timer
4) A event log capture on the global timer that created a text file "brew log" with all the major happenings... temp, when things were turned on/off, steps start/shop, hop additions, etc.

I might tackle adding some of these things to CBPi.
 
Thanks for the reply, BrewMeABrew.

I haven't brewed CBPi yet, but from what I can see, I'd really want to have a timer for unforeseen things, even though the steps have a built in timer. Maybe I just need to get used to this new way of controlling the brewing process.

Some other things I'd like to see in CBPi...

1) Be able to download the temp chart of a brew as a data file (CSV ?) in addition to the jpg, pdf that it already has.
2) Have the heat actor duty cycle imposed on the temp chart, so one can see what the heating element was doing. Would be very helpful when tuning, analysing or troubleshooting a system.
3) A global timer
4) A event log capture on the global timer that created a text file "brew log" with all the major happenings... temp, when things were turned on/off, steps start/shop, hop additions, etc.

I might tackle adding some of these things to CBPi.
I recently discovered that the temp logs can be downloaded from the web interface under Settings then Logs. You can import the text file into Excel, set the delimiter to get data in columns.

I would also appreciate the heater power on the same chart for tuning purposes.

After brewing with this system only twice, I seem to have adapted to using the brew step timer. After you start the brew, you can go back to the brew steps screen to see the times everything start and end, if that is helpful.
 
After brewing with this system only twice, I seem to have adapted to using the brew step timer. After you start the brew, you can go back to the brew steps screen to see the times everything start and end, if that is helpful.

So what happens if you want to delay or extend a step or something ? I don't see a pause button on any of the steps or a way to keep track of how long you might be paused.

At the end of a brew, I'd like to have a log of everything that happened for the whole brew session. I think it would be really nice to have to post mortem a brew with.
 
So what happens if you want to delay or extend a step or something ? I don't see a pause button on any of the steps or a way to keep track of how long you might be paused.

At the end of a brew, I'd like to have a log of everything that happened for the whole brew session. I think it would be really nice to have to post mortem a brew with.
If you want to do everything manually, replace the MashStep step(s) with MashInStep, which hits a target temp and waits for you to proceed. I can see value, though, it having the ability to pause and resume. Someone requested that feature a while back on the GitHub.
 
That would be great. Can you help me with a few more keywords for searching? I looked through all craftbeerpi videos on youtube and none reference the index.html or CSS.
Add this to the en of the < head >

<code>

<style>
/*hide on dashboard hack
write the order number of the sensor(s) below between the parentheses,
each line for new sensor)*/

div.col-md-9.col-sm-8 > div:nth-child(2) > div:nth-child(1), /*fisrt actor*/
div.col-md-9.col-sm-8 > div:nth-child(3) > div:nth-child(1), /*fisrt sensor*/
div.col-md-9.col-sm-8 > div:nth-child(3) > div:nth-child(2),
/* div.col-md-9.col-sm-8 > div:nth-child(3) > div:nth-child(3), let this visible */
div.col-md-9.col-sm-8 > div:nth-child(3) > div:nth-child(4),
div.col-md-9.col-sm-8 > div:nth-child(3) > div:nth-child(5), /*5th sensor*/
{
display: none;
}
</style>

</head>

</code>
 
This is where I ordered mine: Terragady

What a bargain ! $50 for a fully assembled and tested interface board.

CraftBeerPi has to be the best brewery control system and it's also the cheapest and easiest to set up too. Triple win. It makes those big, expensive hand wired control boxes look so dated. So much cost and work for what ?

I love that CraftBeerPi imports recipes, has brew steps built in and is remotely accessible from a browser. Manual control boxes do none of those things. CBP rocks.
 
Good morning, I recently built my CBPi system from scratch with a 3 pot system, 2 pumps, herms coil in the hlt that feeds to the sparge arm and a chiller plate. It was supposed to be a project for my best friend and me, because, I'm more of a grease monkey, and not too well versed when it comes to coding, computers etc, which is his area of expertise, however he recently started dating my sister and I've been left with building the pi setup myself. I can't blame him, seeing as he hasn't had a girl in years, but now I don't know what to do. I downloaded CBPi 3, got it running, got all the wiring complete and I followed every bit of instruction I can find, but I still have a few bugs. Bug 1. I've set up my HLT as GPIOSimple, Logic(Hysteresis), Agitator(pump), Actor(HLT) but it always overshoots the target temp of 148, even when I use the car button to "automate" the process. I looked online and also tried "PIDArduino" and "SimpleBoilLogic" as the logic, but it gives me the same results. It overshoots the temp by over 10 degrees before I have to turn it off. Bug 2. I read about activating the PIDAutoTune, PIDSmartBoilWithPump, and CascdePID add-ons to help with automation, but when I rebooted my Pi I had an error for all three saying they failed to load. Bug 3. I tried creating steps for the brew process, but the only options I get are MashinStep and MashStep. I read on this thread that I should also have a pump and boil steps, but I don't. I'd appreciate any help you can give me.
 
BeerGreek - where are your temperature sensors? Did you include them in your kettle setup? Are you sure you’re pairing the right sensor with the right kettle?

I’m about ready to give my system a test run tomorrow... we’ll see what happens.
 
BeerGreek - where are your temperature sensors? Did you include them in your kettle setup? Are you sure you’re pairing the right sensor with the right kettle?

I’m about ready to give my system a test run tomorrow... we’ll see what happens.
The sensors are located about about 2 inches above the boil coils and they're paired up with the right kettles. I changed the settings again today and tested the system, but I got the same result. Now I'm using the Mod-PWM add-on and adjusted the logics for each kettle, but it's still overshooting it by quite a bit. Let me know how yours works and what settings/configurations you're using.
 
The sensors are located about about 2 inches above the boil coils and they're paired up with the right kettles. I changed the settings again today and tested the system, but I got the same result. Now I'm using the Mod-PWM add-on and adjusted the logics for each kettle, but it's still overshooting it by quite a bit. Let me know how yours works and what settings/configurations you're using.

I just fired up my rig for the first time and tested the HLT. I filled with 13 gallons of water at 40°. I set the target temp for 153°. It took 45 minutes to get to the target temp, at which time the heating element turned off. When the water cools to less than 153°, the element turns back on. Everything seems to be working fine.

My settings for now are:
Kettle - Logic: Hysteresis, Heater: Element 1, Agitator: Pump 1, Sensor: Yelow
Actors - Element 1: GPIOPWM, State: OFF

Hope this helps.
 
If you use histerisys logic, what are your on off offsets?
I have no idea. How do you check/set it up?

Edit: I figured it out. Both are set to zero, which I'm sure is wrong, but it seemed to work.
 
Last edited:
Hey everyone, so I tried the Mod-PWM add-on, but it didn't help at all. My HLT was set to 150 degrees, but got all the way up to 200 before I decided to turn it off. I'm going to try Hysteresis and GPIOPWM tonight and see if that works. Otherwise, until I get it figured out, I'll just have to manually adjust the heater power once it gets close to temp. Here are the settings I'm planning on using tonight.
 

Attachments

  • 2019-01-07_10-18-11.png
    2019-01-07_10-18-11.png
    71.8 KB · Views: 103
  • 2019-01-07_10-19-13.png
    2019-01-07_10-19-13.png
    78.5 KB · Views: 130
  • 2019-01-07_10-20-01.png
    2019-01-07_10-20-01.png
    90 KB · Views: 90
  • 2019-01-07_10-22-05.png
    2019-01-07_10-22-05.png
    86.1 KB · Views: 141
Hey everyone, so I tried the Mod-PWM add-on, but it didn't help at all. My HLT was set to 150 degrees, but got all the way up to 200 before I decided to turn it off. I'm going to try Hysteresis and GPIOPWM tonight and see if that works. Otherwise, until I get it figured out, I'll just have to manually adjust the heater power once it gets close to temp. Here are the settings I'm planning on using tonight.

If it is behaving this way, there is something wrong. It is either hardware or software. If the hardware works when you manually control things, I would assume your hardware is working.

You must either have a bad install (seems unlikely) or you have something configured incorrectly. Are you sure you have the devices set to the proper elements to drive the control sequence?
 
To try set the tourn off to 1 and leave tourn on 0.
That will off the heater when the temp is 1 deg abobe your target and tourn it on again as it is below the target.
 
If it is behaving this way, there is something wrong. It is either hardware or software. If the hardware works when you manually control things, I would assume your hardware is working.

You must either have a bad install (seems unlikely) or you have something configured incorrectly. Are you sure you have the devices set to the proper elements to drive the control sequence?

The hardware works fine when I manually adjust. Last night I ended up having to manually adjust the heater power to 35% when it reached 152 so it would stay around 154 which kept the mash tun right at 147.99 to 148.43. At least now, until I get the automation figured out, i know how to manually adjust it to make it work.

To try set the tourn off to 1 and leave tourn on 0.
That will off the heater when the temp is 1 deg abobe your target and tourn it on again as it is below the target.

Thanks Lalo I'll give that a try tonight and see if it does anything.
 
I need help...

So I have built out my CraftBeerPi brew controller and am using an RTD probe (because mistakes were made) since finding out that it is not supported by default I bought and soldered in a max31865 board as an amplifier. However I am now trying to insert the new code into my craftbeerpi installation but I do not know how. https://github.com/thegreathoe/cbpi-pt100-sensor This is the page for the code addition I am trying to use but I just have no idea how to import the code into my install, could someone please give me a short walkthrough or point me towards a resource for this? Am I pasting the code in somewhere? Pulling it in with a command like the craftbeerpi install? I am so close to finished with this thing (I hope) but without this am dead in the water...
 
I need help...

So I have built out my CraftBeerPi brew controller and am using an RTD probe (because mistakes were made) since finding out that it is not supported by default I bought and soldered in a max31865 board as an amplifier. However I am now trying to insert the new code into my craftbeerpi installation but I do not know how. https://github.com/thegreathoe/cbpi-pt100-sensor This is the page for the code addition I am trying to use but I just have no idea how to import the code into my install, could someone please give me a short walkthrough or point me towards a resource for this? Am I pasting the code in somewhere? Pulling it in with a command like the craftbeerpi install? I am so close to finished with this thing (I hope) but without this am dead in the water...
Just go to the system menu in addons. Find the PT100 one and install it. You have to restart CBPi after that. Your RDT is 100 or 1000 ohms ? max31865 is not for any rdt.
 
Thank you for replying!

Alright it looks like I was running v2.2 and not v3, so I have installed v3 now and saw the addon in question, but I am not seeing my sensor populate in the menu. I am using a PT100 connected to a max31865 chip, which is what the addon says it uses. Is there anything additional I need to do to make my temperature probe appear in the menu? Or at this point is it more likely to be a wiring issue?
 
Alright I have v3, the addon, and am wiring my board using this image.
https://learn.adafruit.com/adafruit-max31865-rtd-pt100-amplifier/python-circuitpython
I have also tried the VIN on the 5v circuit.
My craftbeerpi page is reading -428.8 F no matter what, even disconnecting wires or the entire max31865 does nothing to change this.
Is there an additional step I need to do besides installing the addon from the craftbeerpi addon page to get this working?
 
Alright I have v3, the addon, and am wiring my board using this image.
https://learn.adafruit.com/adafruit-max31865-rtd-pt100-amplifier/python-circuitpython
I have also tried the VIN on the 5v circuit.
My craftbeerpi page is reading -428.8 F no matter what, even disconnecting wires or the entire max31865 does nothing to change this.
Is there an additional step I need to do besides installing the addon from the craftbeerpi addon page to get this working?

1 - please fill out your profile, it is not that difficult, and you never know that you might have a neighbor that can help...
2 - please post a pic of your connected board showing the solder joints and the connection to the Pi and RTD...
3 - please provide the link to where you obtained the PT100 RTD sensor
 
1 - please fill out your profile, it is not that difficult, and you never know that you might have a neighbor that can help...
2 - please post a pic of your connected board showing the solder joints and the connection to the Pi and RTD...
3 - please provide the link to where you obtained the PT100 RTD sensor
Updated!

Pictures are attached of my connections, some things are difficult to photograph clearly. Note that the black wire coming from the max board is the same as the brown going to the xlr connector...

The board was a HiLetgo PT100 MAX31865 temperature thermocouple Sensor Amplifier on Amazon.

The probe is this one from the electric brewery https://shop.theelectricbrewery.com...amp-temperature-probe-with-1-5-flange-diy-kit
20190116_124904.jpg
20190116_125023.jpg
20190116_125012.jpg
20190116_124814.jpg
20190116_124806.jpg
 

Latest posts

Back
Top