• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

[Version 2 Release] RaspberryPints - Digital Taplist Solution

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
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
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
 
what pins were you using with the Mega?

Originally, I was using pin 2 to test, but that was a couple days ago before I reached out for help here. In the latest failed attempt before moving to the Nano I was on Mega pin 6, so maybe that was the issue. I might try back on pin 2 or one of the others you mentioned.

Nano pins 5 and 6 are working great, but based on the link you sent, should I use pins 2 and 3 instead? I plan to use the Nano in the final build anyway, so I am happy with the progress so far.

Thanks!
 
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

Wait - I'm confused. This implies (strongly!) that the only Arduino pins that can be used are the ones that support external interrupts. If that was the case nobody could have more than a few meters in service, but clearly there are a ton of folks (like me) with way more meters on Unos than the 2 shown...

Cheers!
 
way more meters on Unos than the 2 shown...
Correct so im confused as well but they are allowed to be used for now.

I will need to update the logic to handle pins that do not support interrupts to use the old logic to poll them though im not sure if there is an easy way to tell if the pin doesnt support interupts
 
Wait - I'm confused. This implies (strongly!) that the only Arduino pins that can be used are the ones that support external interrupts. If that was the case nobody could have more than a few meters in service, but clearly there are a ton of folks (like me) with way more meters on Unos than the 2 shown...

Cheers!
Yeah, got six on my Uno.

2,5,6,7,8 & 9
 
Hi Randr+, just randomly thought I would backup the DB, clicked the backup in the install and got this.

Validating Entries...Success!
Checking DB connectivity...Success Connecting to Database!
Checking config folder permissions...Success!
backing RaspberryPints...
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 191297792 bytes) in /var/www/html/install/includes/configprocessor.php on line 174

Is this a hardware limitation? Is there anything I can do about it?

Cheers!
 
Yeah, got six on my Uno.
2,5,6,7,8 & 9

Right - the pins I advised to Alamode users start out with those, followed by 10 and 11, then "maybe" 12 as that one's tied to an Alamode level-shifter.
Then 13, which also has the "Blink" LED, and which in RandR+'s version is used as a heartbeat indicator, so that one's no longer viable...

Cheers!
 
For the record I have not yet switched my keezer from the "Classic 2.0.1" R'Pints but I have a recent-ish version of RandR+'s kit running on a test bed with an Alamode hat. I just verified that - through whatever implementation lies under the hood (I haven't looked yet) - it does count an SF800 on the pins I use (2 and 5 through 9), so I expect it will work for any non-conflicted digital IO pin on an Uno or Alamode.

I don't think I have a free Mega otherwise I'd check that one out as well...

Cheers!
 
Hi all, got the RandR version of RaspberryPints up and running. I am nowing adding a temperature probe. The temp probe is connected to the gpio4 and 3.3v and ground pins on the pi (no arduino). I believe I have connected it successfully and I can cat the file from the command line and get results back.

Code:
pi@rpints:/sys/bus/w1/devices/28-01205fdf7e7b $ cat w1_slave
46 00 4b 46 7f ff 0c 10 12 : crc=12 YES
46 00 4b 46 7f ff 0c 10 12 t=4375

However the probe is not showing up in the Admin portal. I took a look through the logs and saw this error in error.log:

Code:
[Tue Sep 21 10:50:02.124756 2021] [php7:warn] [pid 661] [client 192.168.1.39:60301] PHP Warning:  fsockopen(): unable to connect to localhost:48866 (Connection refused) in /var/www/html/admin/trigger.php on line 45, referer: http://beerbot.local/admin/temp_probe_list.php

Any ideas?
 
Back
Top