Brewometer integration


I’ve been playing around with this for the last week but still not got it going.
I started with a fresh SD card today, followed the install instructions from the wiki and brewpi works fine, same with the test script, but I get the same error every time I try copy over the script files and try to run it.
I’ve run the update script and also manually cloned brewpi-scrip. I’m using the master branch for this, is that right?
I’m really at a loss for what I’m missing! :confused:


Can someone provide me their source list so I can confirm mine is correct. Thank you.


A fresh install has the following in /etc/apt/sources.list

deb stretch main contrib non-free rpi
#Uncomment line below then ‘apt-get update’ to enable ‘apt-get source’
#deb-src stretch main contrib non-free rpi



I have a problem, i hope you can help me :slight_smile:
My install versión brewpi is 0.5.2 and I want install brewpi-brewometer.
I follow the instructions of but is dows not works :frowning:
I have this error:
Apr 12 2018 23:31:03 Notification: Script started for beer ‘My First BrewPi Run’
Apr 12 2018 23:31:03 Connecting to controller…
Apr 12 2018 23:31:03 Opening serial port
Apr 12 2018 23:31:03 Checking software version on controller…
Traceback (most recent call last):
File “/home/brewpi/”, line 353, in
hwVersion = brewpiVersion.getVersionFromSerial(ser)
File “/home/brewpi/”, line 29, in getVersionFromSerial
bg_ser.writeln(‘n’) # request version info
AttributeError: ‘Serial’ object has no attribute ‘writeln’

What am I doing wrong?


Hi @Andu and @eviltom - - I’ve worked it out. When I was comparing the modifications to source I’d stupidly forgotten to fetch the latest (so was comparing to my local branch) :man_facepalming:

I’ve now fixed the problem and if you re-sync the file it should work.

Sorry for the delay/confusion with this one.


Thanks @sbowler
Can I just check, do you mean to clone from again?
I tried that and I’ve just recreated the container and started from scratch and I’m still getting the same error.


Bugger! Missed the error message when I did the push from my local. Fixed now. Thanks for testing so quickly.


Re-synced and refreshed the page and everything worked.
Brilliant! Thank you very much for your efforts, @sbowler



I seem to be missing a step, as the graph is not showing data,

Running in Docker:

Get output from

Also get data in .json and csv files.

‘’‘root@FermentPi:/home/brewpi/data/Punk-IPA-03042018-2# cat Punk-IPA-03042018-2.csv
Apr 15 2018 09:41:20;13.88;13.71;null;12.94;13.26;null;3;12.88;null;null;13.89;1.007;
Apr 15 2018 09:42:22;13.88;13.7;null;13.0;13.26;null;3;12.88;null;null;13.89;1.007;
Apr 15 2018 09:43:26;13.81;13.7;null;13.0;13.2;null;3;12.88;null;null;13.89;1.007;
Apr 15 2018 09:44:28;13.88;13.7;null;13.06;13.18;null;3;12.88;null;null;13.89;1.007;
Apr 15 2018 09:45:29;13.88;13.7;null;13.06;13.25;null;3;12.81;null;null;13.89;1.007;
Apr 15 2018 09:46:31;13.88;13.69;null;13.13;13.25;null;3;12.88;null;null;13.89;1.007;
Apr 15 2018 09:47:34;13.88;13.69;null;13.13;13.2;null;3;12.88;null;null;13.89;1.007;’’’

Have copied all files to relevant locations and changed permissions and restarted a new session.

Any suggestions much appreciated.


I had to force refresh the browser to get it to display properly. CTRL +F5


@eviltom, That seems to be the problem, although not 100%. Seems to work in Chrome but on in Safari on my Mac, even after a reboot of the Mac.

Will have to look for whats wrong with Safari.

Actually “Opt + Cmd + E” is clear cache on Safari.



is working !!! :metal: :metal: :metal:

thank you very much for your work @sbowler , it’s really nice :star_struck:


Hi…i am a new user here. I want to know Any suggestions on how to share the code? I was going to use a github branch but the brewpi-script branch reveals changes that I think are for a upcoming version, so not sure of the value in merging my changes into that to allow others to test?

printed circuit board assembly


Hi @CoraDias - IMO, the best way is really a GitHub repository. In regards to upcoming changes, it depends which brewpi-script repository you’re talking about. Generally @elco keeps upcoming changes on the develop branch. Once they move to master, they’re released.


As the major software changes are still in the “jam tomorrow” stage and the docker setup is standard now is there any chance of providing a python script within the downloaded files to move all the other files in the right position in the container for docker users? It would be much simpler to do a git clone followed by running the script for the end user any time a docker container was updated, destroying the Tilt integration in the container, rather than having to copy over all the bits and pieces one at a time. With it being a container it should be identical for all users.


Much easier would be to make the required changes inside a docker container, commit them and publish the image on docker hub for a 1 step deployment.


I’ve opened an issue for this on GitHub (Link) – However, I’m hoping commenting here may get me support more quickly, as I’ve got a beer currently in my ferm chamber and I want my controller to be up and working again ASAP!

Is there support for BrewPi + Tilt monitoring for those of us still using Legacy BrewPi (Due to being on a RasPi2 instead of a RasPi 3)? I’ve got a working BrewPi setup, but when I attempt to merge in the necessary files for the Tilt monitoring to work, it breaks:

  • beer-panel.php
  • js/beer-chart.php
  • css/styles.css

I’m happy to be more descriptive, but it would really be copy/pasting from the GitHub issue.


I’m trying to get a Tilt working in BrewPi and I’ve followed all of the instructions I’ve seen here and I still can’t get to where I need to be I think.

With a fresh Raspbian install and following the instructions to get setup here:
I’ve turned on ssh, got portainer working.

ssh pi@raspberrypi.local

docker pull brewpi/brewpi-raspbian
docker run -d --privileged --net=host --name brewpi     -p 80:80 -p 81:81 -v ~/brewpi-data:/data     -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime --restart always brewpi/brewpi-raspbian
docker exec -it brewpi bash
# new prompt
sudo apt-get install python-scipy python-numpy bluez python-bluez libcap2-bin
sudo setcap cap_net_raw+eip $(eval readlink -f `which python`)

git clone

#clones into /home/brewpi/brewpi-brewometer

python /home/brewpi/brewpi-brewometer/tiltHydrometer-test/ 
# should get a read out if your tilt is active. Often first measurement is blank, don't panic. ctrl + c to quit reading

# now we need to copy things 
cp -r /home/brewpi/brewpi-brewometer/brewpi-web/ /var/www/html/
sudo chown -R www-data:www-data /var/www

cp -r /home/brewpi/brewpi-brewometer/brewpi-script /home/brewpi/ 
sudo chown -R brewpi:brewpi /home/brewpi

But I get:
chown: invalid user: ‘brewpi:brewpi’

I’ve wiped this docker numerous times. Updated and upgraded apt-get. Just can’t quite get there.

I’m really not sure why this user doesn’t exist. I figure it’s gotta be in the container, but it isn’t.

Am I missing a step?


The docker install of brewpi runs everything as the root user inside the container, as is common with docker. There is indeed no brewpi user.


So, it’s sudo chown -R root:root /home/brewpi?

Doing that and a full reboot I get no graph in brewpi, even though reports fine on my black Tilt.

root@raspberrypi:/home/brewpi# python /home/brewpi/brewpi-brewometer/tiltHydrometer-test/ 
ERROR: Loading default settings file (tiltHydrometer/settings.ini): No section: 'Manager'
Scanning - 20 Secs (Control+C to exit early)
Red: None
Green: None
Black: None
Purple: None
Orange: None
Blue: None
Yellow: None
Pink: None
Red: None
Green: None
Black: T: 25.56 G: 0.998
Purple: None
Orange: None
Blue: None
Yellow: None
Pink: None