[Version 2 Release] RaspberryPints - Digital Taplist Solution

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.
View attachment 736973
the saved files will fluctuate but they aren’t that big.

it looks like you have the job written correctly, and you wrote the job using ‘sudo crontab -e’?

I guess make sure you have mysqldump in the /usr/bin/ directory.

It was definately the permissions on my RaspberryPints user. I changed it to the root user and now my file isn't 0MB.

25 * * * * sudo /usr/bin/mysqldump -uroot -p raspberrypints > /home/pi/DB_Backup/raspberrypints-$(date +\%F).sql

1627392596069.png


I went down another path and tried to create a new user that had 'Grant' ability and it couldn't create a user

I also noticed that the RaspberryPints user can't create

1627392678817.png


1627392734378.png
 
I’ll be honest, folder/file privileges trip me up all the time.

“sudo or not sudo, that is the question” :D

Your user names; RaspberryPints, phpmyadmin, and root are all default and look to have all the correct values, why you can’t do a sql dump with your RaspberryPints user is unknown. We’re missing something.
 
I just checked in a change to fix this and prevent deleted fermenters from showing.

You can rerun the installer to update or hit the get latest Rpints on the install page to update
If I update will I lose all my settings again?
 
I had to do a little digging to find the settings. I did not test them myself

Using elevated privilege's (i.e. sudo vim or sudo nano)
Modify /boot/config.txt

change or add these settings:
hdmi_cvt=1024 600 60 3 0 0 0

hdmi_group=2
hdmi_mode=87

then reboot
Thanks for taking the time to reply, I have done this (I think) but haven’t noticed any change to the screen when I reboot the pi. I am a complete beginner with this so have probably done something wrong. Could I have entered the settings in the wrong place of the config.txt file?
 
but when I turn the title bar off (my preferred layout) all but one of the title headings turns off and the screen is misaligned.
I just comitted the fix for this, if you update Rpints it should look better
 
If I update will I lose all my settings again?
I Updated the script to not mess with settings that are already set but it may have a bug in it i havent caught yet.

you can modify the install script to have it not run the database update.
in util/installRaspberryPints delete
mysql ${MYSQL_CMD} -D ${MYSQL_DB_NAME} -s -L < ${WWWPATH}/sql/update.sql > /dev/null 2>&1;
from line 1706
then
sudo chmod +x /var/www/html/util/installRaspberryPints
sudo ./var/www/html/util/installRaspberryPints

that will update the files without the database. But it will also overwrite the file so i suggest moving it out of the directory before running so you can use it again later
 
Could I have entered the settings in the wrong place of the config.txt file?
Depends on if the settings appear multiple times in the config file. If they do, usually the last entry is used so if you put those at the beginning then your settings wouldnt be used
 
I Updated the script to not mess with settings that are already set but it may have a bug in it i havent caught yet.

you can modify the install script to have it not run the database update.
in util/installRaspberryPints delete
mysql ${MYSQL_CMD} -D ${MYSQL_DB_NAME} -s -L < ${WWWPATH}/sql/update.sql > /dev/null 2>&1;
from line 1706
then
sudo chmod +x /var/www/html/util/installRaspberryPints
sudo ./var/www/html/util/installRaspberryPints

that will update the files without the database. But it will also overwrite the file so i suggest moving it out of the directory before running so you can use it again later
I updated as normal anyway and everything seems ok. Thanks again.
 
Depends on if the settings appear multiple times in the config file. If they do, usually the last entry is used so if you put those at the beginning then your settings wouldnt be used
So, I re-entered these settings at the bottom
of the config file and rebooted the pi. They are definitely doing something now, but the image is now huge and only a section of it is displaying. Any ideas?🤷‍♂️
 

Attachments

  • F5FBBAC1-6994-4AAC-BA07-6CBDA676F4E9.jpeg
    F5FBBAC1-6994-4AAC-BA07-6CBDA676F4E9.jpeg
    2.3 MB · Views: 27
did you do a screen refresh after setting it to off? it doesnt automatically refresh.
Thanks, no I hadn’t. I’ve switched it back off and done a reboot. There is a slight change….but I’m still only getting not quite 3 of the 6 taps displayed on the screen, and still got the white stripe down the right hand side.
 

Attachments

  • FA69EFB5-C4B7-4383-BC2A-B8B302F79B77.jpeg
    FA69EFB5-C4B7-4383-BC2A-B8B302F79B77.jpeg
    1.8 MB · Views: 21
.but I’m still only getting not quite 3 of the 6 taps displayed on the screen, and still got the white stripe down the right hand side
It looks like the descriptions dont have enough width to display properly. either turn them off or remove other columns (then refresh). There isnt much that can be done with that small width. You also try having the tap list be in vertical mode.

The white stripe is the the scroll bar, Rpints tries to force it off screen but it looks like its still showing. It will go away if you get all the taps to display at once
 
Agreed, trying to stuff too much information into the available real estate.
The glasses dictate the minimum vertical pitch, so descriptions need to be shorter than a glass to maximize the tap count...,

Cheers!
 
Ah cool, I thought maybe it would send temp, pours, beer stats etc to a mqtt server! Get the speakers to play cheering sounds everytime one pours a beer etc :D

Ok tried your new file and good thing is that the logs isn't showing any errors or "to slow" messages. The downside... nothing is showing in the UI either. It just stays at the same values. Tried adding a 1 to the ratio, leaving them empty, adding weights, removing weights etc. but no change
View attachment 720787
Haaha mine plays a homer simpson beer mm beer clip and refreshes my taplist haha mqtt has a ton of possibilities
 
I've been trying to feel my way through all of this. One thing I noticed in the flowmonitor script was what appears to be a call to flash a .ino file. I've tried to:
1. Load into Particle IDE, but it throws an error looking for a file thats not there.
2. I put the Photon in to DFU mode, connected to the pi, rebooted, and tried:
a. restarted flowmonitor from the RPints console
b. manually ran the python script from the CLI

Still no luck.

Anyone that can point me in the right direction, I'd really appreciate it. Getting this Photon working is the last piece of the puzzle I need to get working.

Many thanks!
sorry I'm slow to respond but for some reason my homebrew talk notifications were going to my junk mail folder but if you are still stuck let me know! I wrote code for the photon and hacked pints to MQTT and sent my work to @RandR+ I just now realized he integrated it into his script. I am stoked you are the man!!!!
 
So first off, big thanks to everyone contributing here. I've been tinkering with this project and various forks/alternative programs for a couple weeks now, but that curl install went so smoothly that I was up and running in minutes once I found it.

I've been monitoring my kegerator temp/humidity and keg temps for a while now with DHT22/DS18b20 sensors and an esp32 sending MQTT messages to my broker with Home Assistant/Node-red/Brewblox pulling in messages for various graphs/alarms etc.. I also just recently started sending some flowmeter messages to them as well. These sketches are all fairly simple on the esp32 and I am by no means a programmer, but managed to make them work. So I decided to try the latest MQTT listener for Rpints by just forcing some messages using MQTT Explorer to the rpints/pour topic and voila! My taplist was updating volumes, pretty much instantly. Again, great job on these implementations.

So my questions to the gurus here: First, I keep seeing mention to this photon code, is there anyway anyone is willing to share or point me in the right direction of this code? I would like to implement something similar on my esp32. Secondly, is there any chance of being able to send temperature values to the MQTT listener on Rpints to update my keg temps? I know this is possible, but beyond my skills to implement or edit on the Rpints side of things. I'm sure there are many higher priorities than this, but thought I'd ask!

Thanks in advance.
 
First, I keep seeing mention to this photon code, is there anyway anyone is willing to share or point me in the right direction of this code?
Check with @bscuderi

Secondly, is there any chance of being able to send temperature values to the MQTT listener on Rpints to update my keg temps?
I added logic to FlowMonitor.py to handle a new message "T" that will record temp from MQTT

update then send the temp message via MQTT
T;<Probe>;<Temp>;<Temp Unit>;<taken date>
example:
"T;1234;44.4;F;2022-08-01"
 
Check with @bscuderi


I added logic to FlowMonitor.py to handle a new message "T" that will record temp from MQTT

update then send the temp message via MQTT
T;<Probe>;<Temp>;<Temp Unit>;<taken date>
example:
"T;1234;44.4;F;2022-08-01"
@mrstone14 yeah here's my photon code for anyone it may help your mileage may vary so a couple of things about it. I have it set up for 3 taps and not simply changeable by code you can copy paste relevant sections and add more taps if you need. Also I'm not using the particle cloud to connect. I go manual mode and wifi only since I don't need the cloud. I may add an mqtt message top make it connect to the cloud in the future for easy code updates for now if i need to flash code I just put the photon in safe mode to flash. You can see with my pours I filter for several things unique to a pour to eliminate the false pours I was getting on a classic raspberry pints arduino. You again may need to tweak to your needs.. It works great for my setup though. For debugging I have a pour that was filtered out by the filters publish a retained mqtt message to false pour topic.. Again I'm an amature I'm sure someone could do alot better with it even make it play nicer with all the other pints functions.. For me although its a win getting the pi off the fridge and plugged in where I have ethernet. You have to put your server ip in near the top where I have it and the bottom function mqttconnect() will need your mqtt server username and password as well.. Hope this helps!
https://github.com/bscuderi13/PintsPhotonMqtt/blob/main/PhotonMqtt.ino
 
Last edited:
Check with @bscuderi


I added logic to FlowMonitor.py to handle a new message "T" that will record temp from MQTT

update then send the temp message via MQTT
T;<Probe>;<Temp>;<Temp Unit>;<taken date>
example:
"T;1234;44.4;F;2022-08-01"
Also this is awesome!!!! I kinda wondered about this have some ds18b20s laying about and I'll probably have to incorporate this when I get bored lol
 
Hello
I have just installed the RandR+ version.
Is there any way to adjust the font size for the beer names, style, and tasting notes?
They show up to small on the screen I have.
If I need to change a Style.css which folder will it be in and what sections?
This is a great forum, looking forward to your help.
Cheers
 
If I need to change a Style.css which folder will it be in and what sections?
The root of RPints contains style.css it has most of the styles in it labelled by what they control (i.e. tapnum, beername) some styles are inline html styles in includes/beerListTable.php and includes/beerListTableVerticle.php (depending if you want the tap across the top or on the left side)
 
The root of RPints contains style.css it has most of the styles in it labelled by what they control (i.e. tapnum, beername) some styles are inline html styles in includes/beerListTable.php and includes/beerListTableVerticle.php (depending if you want the tap across the top or on the left side)
Hi
Have played around but can only find in beerListTable.php
<?php if($editting || $config[ConfigNames::ShowBeerName]){ ?>
<H1 id="beerName" <?php if($editting && !$config[ConfigNames::ShowBeerName])echo 'class="disabled"';?>><?php echo $beer['beername']; ?>
<?php DisplayEditCheckbox($editting, $config, ConfigNames::ShowBeerName, 'beerName'); ?></H1>
<?php } ?>
Changing the <H1 to <H2 will change things but can not find how to make the font bigger is it tied to my screen size?
Cheers
 
Thanks for the help.
Ended up changing the beerListTable.php file under /var/www/html/includes
added the style="font-size:400%; color: #07A12B; before the id="beerName"

<?php if($editting || $config[ConfigNames::ShowBeerName]){ ?>
<H1 style="font-size:400%; color: #07A12B; id="beerName" <?php if($editting && !$config[ConfigNames::ShowBeerName])echo 'class="disabled"';?>><?php echo $beer['beername']; ?>
<?php DisplayEditCheckbox($editting, $config, ConfigNames::ShowBeerName, 'beerName'); ?></H1>
<?php } ?>
 
So you asked how to do it, then you went and did it a different way. Cool.

To the defense of @x2harry there are times where it’s painfully obvious many people had a hand at putting RPints together. Some of that is noticeable in that there are still a lot of in-line attributes that trump the .css. I’ve started addressing some of these in my build, but I only attack the ones that matter to me.

I know every now and then I’ll throw a formatting nugget change to RandR, but I probably don’t do it as often as I should.
 
If an inline definition (horrible design choice) is causing normal CSS to not function as expected, using the !important keyword will override:
CSS:
h1 {
  font-weight: bold;
  color: #fff;
  font-size: 32px;
  !important;
}

h2 {
  font-weight: bold;
  color: #fff;
  font-size: 24px;
  !important;
}
 
So I've been messing around with Rpints now for a couple weeks, big thanks to @RandR+ and @bscuderi . I decided to do a fresh install on a clean Buster image, but for the life of me I can't get the flowmeters working anymore. I've done multiple fresh Buster/Rpints installs and no luck. I am just testing out with an Arduino Mega, which I had working fine a week or two ago, but now nothing on the fresh install. The logs are not showing anything related to the Arduino. The sketch seems to upload fine to the Mega, although I do only see "alive" in the serial monitor when I check on my PC, not sure if that is normal or not. Anyone have any thoughts? I can provide more info as needed, I'm just not quite sure where to go from here.
 
The sketch seems to upload fine to the Mega, although I do only see "alive" in the serial monitor when I check on my PC, not sure if that is normal or not. Anyone have any thoughts? I can provide more info as needed, I'm just not quite sure where to go from here.
Alive indicates the arduino is up and running, its waiting for the python to respond with the config.

Try stopping the service and running the python manually (assuming you installed to the default www root)
sudo /etc/init.d/flowmon stop
cd /var/www/html/python
python PintDispatch.py
 
Alive indicates the arduino is up and running, its waiting for the python to respond with the config.

Try stopping the service and running the python manually (assuming you installed to the default www root)
sudo /etc/init.d/flowmon stop
cd /var/www/html/python
python PintDispatch.py
So among some normal output I've seen in the interface logs, running these commands had the following error print out:
"('RPINTS: reflashing Arduino failed, moving on anyways, error was: ', CalledProcessError())"
So something isn't communicating properly it seems.

Edit: Turned on flowmon.debug, log is attached for reference.
 

Attachments

  • rpints.txt
    1.7 KB · Views: 8
Last edited:
('RPINTS: reflashing Arduino failed, moving on anyways, error was: ', CalledProcessError())"
So something isn't communicating properly it seems.

Edit: Turned on flowmon.debug, log is attached for reference.
reflashing failing isnt normal but not a show stopper if the arduino was flashed once and responding to the config.

looking at the log I see the python got the alive and responded with no further anomalies from the Arduino which tells me the code is working as it should but the flow meters are not reporting anything almost like the power to them is unplugged so they cant
 
reflashing failing isnt normal but not a show stopper if the arduino was flashed once and responding to the config.

looking at the log I see the python got the alive and responded with no further anomalies from the Arduino which tells me the code is working as it should but the flow meters are not reporting anything almost like the power to them is unplugged so they cant
Thanks @RandR+ . I'll have to fiddle with the Mega a bit because, as far as I can tell, voltages look good to the flowmeters. I switched over to an Arduino Nano I had laying around and everything is working fine now.
 
I'll have to fiddle with the Mega
what pins were you using with the Mega? there is a limited number of pins that can be used because the logic uses interrupts to get the count for the pour.

seems like pins 2, 3, 18, 19, 20, 21 are available to use ( attachInterrupt() - Arduino Reference )

This is one downside to the logic but its more accurate to use interrupts then the loop to check for high/low state
 
Back
Top