[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.
Excuse the beginner question, but everything was functioning fine for me for several months, then I shut down the raspberry pi and unplugged it for about a week. When I turned it back on my tap list was blank. When I went into admin, everything is there and appears to function fine, but at the top of a few pages it states "Cannot Execute Query". Of note is the "Beer" page.

Do I need to reinstall from scratch, or is there an easier fix?

I tried rebooting with no luck

Thanks
 
the beer style, %abv, calories, and OG are all empty.

Also, if it would not be too hard, is it possible to set it up so drinks remaining are only shown on taps that have a plaato auth token?


For plaato taps I force the information form plaato so if its empty in plaato it wont show up in Rpints. I guess I can check if Plaato is empty before overwriting the tap

Ill look into that shouldn't be too hard to do
 
no matter what I do, this is where my RPints log ends.

any recommendations on what to try next?
have you tried uploading the sketch manually to the Arduino? Start by stopping the flowmon service then upload if it works start the flowmon service and see if it starts to work.
 
Do I need to reinstall from scratch, or is there an easier fix?

I tried rebooting with no luck
What version are you using? If its mine can you check /var/log/rpints.log for the last message to see if its an error
you can always check /var/apache2/error.log to see if there are php issues
 
the beer style, %abv, calories, and OG are all empty.

Also, if it would not be too hard, is it possible to set it up so drinks remaining are only shown on taps that have a plaato auth token?
I added an empty check for plaato information that should now cause it to use RPints info.

Also if you don't want the remaining keg info to show on the main screen set the starting amount for the keg to 0
 
I added an empty check for plaato information that should now cause it to use RPints info.

Also if you don't want the remaining keg info to show on the main screen set the starting amount for the keg to 0
Awesome, many thanks.

And that makes sense then about that info being empty. I had not filled in that info in the plaato app.
 
RandR said:
have you tried uploading the sketch manually to the Arduino? Start by stopping the flowmon service then upload if it works start the flowmon service and see if it starts to work.

Yep. That was the second thing I tried. I’m not certain what to think...just can’t get past the ‘waiting for config response’. After being stuck at this point, I opened the Serial Monitor in Arduino IDE. I can see it’s ALIVE, but when I close the Arduino IDE and try to open the RPints.log, I get this error. (I don’t know if that’s important info, or means squat)
05AEF966-950E-4535-AF48-8CE1786D0A64.jpeg
 
the Arduino IDE and try to open the RPints.log, I get this error. (I don’t know if that’s important info, or means squat)
That error might because the serial communication is getting scrambled from the serial monitor open. if you restart flowmon service does the file open?

Also try stopping the flowmon service, upload the sketch, open serial monitor and when you see the Alive message send
C:3:3:4:5:0:300:200:30:250:0:0|

the Arduino should echo it back to you, if it does then for some reason the python isn't get the echo, if it doesn't then the ardunio isn't fully reading the config message, backup your sketch ino file, get the latest from git and upload and retry
 
Did anyone ever upload a complete image of a working Raspberry pints setup? I'm getting lost in the sauce trying to dig through this thread. Any direction to help me be able to install myself? Thanks all.
 
Did anyone ever upload a complete image of a working Raspberry pints setup? I'm getting lost in the sauce trying to dig through this thread. Any direction to help me be able to install myself? Thanks all.
There’s a new website.
Code:
curl -L install.rpints.com | sudo bash


And if you can't remember that, look at rpints.com.
 
I could add in a last pour amount to RPints but that's only so so compared to having a history every pour

all I could see in the API was the last pour, which I could just say if it is different then register a pour, BUT there are 2 draw backs
1. if back to back pours have the same amount the second wouldn't be recorded in RPints
2. if 3 pours occur quickly then the middle one may not get recorded in RPints because it sees the first and last pour

If there was more API to get a history of pours, or at least a last pour id I could save them in Rpints

Any chance we could get last pour for plaato please? :) I'm okay with those limitations.
 
8 taps fit on one screen and get it to update quicker
You have options if you used my version:

1. leave it horizontal as is (which isn't what you want)
2. leave it horizontal but make it 2 columns (admin configuration page "Number Of horizontal tap List Beer Column:)
3. Change it to be vertical so the taps go across the screen (admin configuration page "Show Tap List Direction:")
 
That error might because the serial communication is getting scrambled from the serial monitor open. if you restart flowmon service does the file open?

Also try stopping the flowmon service, upload the sketch, open serial monitor and when you see the Alive message send
C:3:3:4:5:0:300:200:30:250:0:0|

the Arduino should echo it back to you, if it does then for some reason the python isn't get the echo, if it doesn't then the ardunio isn't fully reading the config message, backup your sketch ino file, get the latest from git and upload and retry

With the serial monitor closed, Flowmon Stop, Flowmon Start my RPints.log is stuck at: Waiting for config response

make no changes,
Flowmon stop
Open serial monitor.
See Alive (repeats every 5-6 seconds)
Send C:3:3:4:5:0:300:200:30:250:0:0|
The Alive stops
Nothing else is returned.

backup my .ino
Go to your GitHub, grap the latest .ino
Load onto my pi
Verify Flowmon is still stopped
Open Serial monitor
See Alive (repeats every 5-6 seconds)
Send C:3:3:4:5:0:300:200:30:250:0:0|
The Alive stops
Nothing else is returned.

(I’ve also tried going to a known working back-up (last night), and that didn’t work either)
 
(I’ve also tried going to a known working back-up (last night), and that didn’t work either)
ok modify the setup function in the sketch ~line 140
add the following after each getSerialInteger
serialPrintln(F("x"));//Replace x with a number for each one you add


the upload and retest
 
I'm working on making the display more customizable, but until then you need to play around with the style.css

Right you are, must have fat figured something, will look at sometime this week

Is there a cheat sheet or easy way to know which values to change in the CSS file that correlate where? For example, I was able to figure out how to change the colors on the color and bitterness text but still struggling to figure out the rest of the areas.
 
still struggling to figure out the rest of the areas.
unfortunately no cheat sheet, but you look can change inline styles in /includes/beerListTable.php and /includes/beerListTableVerticle.php which should force the changes you want
 
Thanks, I think I have it figured out...next possibly stupid question. I can load the taplist using chromium by typing in "localhost" but is there anyway I can load it on another computer (android tablet) on the same network but not connected to the Pi? Unfortunately I don't think my tablet is able to connect to the Pi as a direct display.
 
Is there a cheat sheet or easy way to know which values to change in the CSS file that correlate where? For example, I was able to figure out how to change the colors on the color and bitterness text but still struggling to figure out the rest of the areas.
You can right click the item on the raspberry pint web page that your interested in changing and choose "inspect". This can some times help you figure out which variable controls what.
 
ok if the tap start amount is 0 and show poured amount is set to on then the plaato last pour will show if its populated in plaato
When I set the tap start amount to 0 (location: taplist) then the keg image for that tap disappears. Am I changing the correct "start amount"?
 
[...]is there anyway I can load it on another computer (android tablet) on the same network but not connected to the Pi? [...]

Of course. The whole page is driven by a web server, even if you're looking at it from the local console. All your tablet needs is the lan ip address of the host system and you should pull the tap list right up in a browser.

eg: if your R'Pints host has the lan address 192.168.1.20, on your tablet browser enter 'http://192.168.1.20' for the url...

Cheers!
 
Am I changing the correct "start amount"?
Yes that is the correct behavior, if plaato returns a last pour value on pin v47 then the it will appear where the keg is. I think removing the keg is the right thing to do since rpints is no longer tracking the volume in the keg.

You can check the values from plaato by removing the // infront of line 77 of the index.php file. when you refresh the tap list it will print them on the top. Add back the // to hide the values
 
RandR+ said:
ok modify the setup function in the sketch ~line 140
add the following after each getSerialInteger
serialPrintln(F("x"));//Replace x with a number for each one you add


the upload and retest

So I changed the sketch to look like the following (to twelve (12) SerialIntegers:
Code:
numSensors = getSerialInteger(&configDone);serialPrintln(F("1"));
  for( unsigned int i = 0; i < numSensors; i++ ) {
   pulsePin[i] = getSerialInteger(&configDone);serialPrintln(F("2"));          // read pulse pin for given slot
  }

Now, the Sketch wont upload to the Arduino. I have tried different combinations of USB Cables, Ports on the RPi (always making sure the Arduindo was on ttyACM0).

A few times I got a connection error (avrdude: stk500_getsync(): can't communicate with device: resp=0x14), but sometimes the sketch Uploads until about 90% completion and hangs.

Is it too soon to think I have a Hardware issue?
 
Yes that is the correct behavior, if plaato returns a last pour value on pin v47 then the it will appear where the keg is. I think removing the keg is the right thing to do since rpints is no longer tracking the volume in the keg.

You can check the values from plaato by removing the // infront of line 77 of the index.php file. when you refresh the tap list it will print them on the top. Add back the // to hide the values

I posted a pic of what i get when i remove the // from line 77. It just echos the URL rather than a value.

I was hoping to get the last poured amount to display above the keg pic as shown in the pic of one of your prior posts. I posted a pic of what I mean. Perhaps I’m missing a setting to enable this?

Regarding removing the keg image: The keg images still appear to be accurately estimating the amount of beer left in the keg though, correct? See my pic.

In my index.php file, lines 17-22:
Code:
    $plaatoPins = array(
        "style" => 'v64',
        "abv" => 'v68',
        "og" => 'v65',
        "fg" => 'v66',
        "remainAmount" => 'v51'

Do i just need to add something like "LastPour" => 'v47' ?
 

Attachments

  • 221DD0F3-4C71-4F28-87C2-4963CA99280A.jpeg
    221DD0F3-4C71-4F28-87C2-4963CA99280A.jpeg
    491.8 KB · Views: 26
  • EF7095C4-E1EC-48BB-8B46-8934904EE3F8.jpeg
    EF7095C4-E1EC-48BB-8B46-8934904EE3F8.jpeg
    183.7 KB · Views: 24
Last edited:
It just echos the URL rather than a value.
its not clear but the after the url is two values separated by a -
the first is the Plaato data the second is what Rpints is going to use. Most of the time they will be the same.
From your pic I can see that the last pour isn't being retrieved from Plaato, did you update index.php? line 23 should be "lastPour" => 'v47'

are you running flow meters along with plaato kegs?
 
its not clear but the after the url is two values separated by a -
the first is the Plaato data the second is what Rpints is going to use. Most of the time they will be the same.
From your pic I can see that the last pour isn't being retrieved from Plaato, did you update index.php? line 23 should be "lastPour" => 'v47'

are you running flow meters along with plaato kegs?
I do not have flow meters. Just the plaato keg scales.

ok makes sense. i should have looked closer at the output values.

I updated under the install setion in rpints. It doesn't seem to change my index.php file. I do not have that lastPour code on line 23. Can I manually add it or are there other changes that need to made in the code as well? [edit: when i try to manually add this code, it seems to break rpints and page won't load] [edit2: i can get lastpour data from plaato in my web browser when I enter 'http://plaato.blynk.cc/XXXX/get/v47']

thanks again
 
Of course. The whole page is driven by a web server, even if you're looking at it from the local console. All your tablet needs is the lan ip address of the host system and you should pull the tap list right up in a browser.

eg: if your R'Pints host has the lan address 192.168.1.20, on your tablet browser enter 'http://192.168.1.20' for the url...

Cheers!
When I type "hostname -I" into the terminal I get a reutn address of 127.0.1.1. When I type that into my tablet I get a message that the site can't be reached -- "127.0.1.1 refused to connect"
 
I do not have flow meters. Just the plaato keg scales
I'm not sure whats registering pours if you don't have flow meters, unless you are doing something manual to get the keg to display the correct amount poured.

you need to but a comma on the line before to add last pour
Code:
    $plaatoPins = array(
        "style" => 'v64',
        "abv" => 'v68',
        "og" => 'v65',
        "fg" => 'v66',
        "remainAmount" => 'v51',
        "lastPour" => 'v47'
    );
 
I'm not sure whats registering pours if you don't have flow meters, unless you are doing something manual to get the keg to display the correct amount poured.

you need to but a comma on the line before to add last pour
Code:
    $plaatoPins = array(
        "style" => 'v64',
        "abv" => 'v68',
        "og" => 'v65',
        "fg" => 'v66',
        "remainAmount" => 'v51',
        "lastPour" => 'v47'
    );

doh, that's not the first time I have forgotten a comma. That fixed it. It now echos the lastpour (e.g. lastPour=http://plaato.blynk.cc/XXXX/get/v47-8.26oz-8.26oz) ). But doesn't display this info (e.g. 8.26 oz) anywhere in rpints (i have lastpour listed as on in config section of rpints). I was hoping to have that 8.26 oz displayed over the keg like in the pic on my last post: "8.26 oz " [pic of partially full keg] X.XGal left"

I'm probably misunderstanding things, but it was my understanding that I could get lastpour without flow meters. The plaato keg system detects lastpour based on change in keg weight: this is where v47 comes from, correct?
 
I was hoping to have that 8.26 oz displayed over the keg like in the pic on my last post: "8.26 oz " [pic of partially full keg] X.XGal left"

I'm probably misunderstanding things, but it was my understanding that I could get lastpour without flow meters. The plaato keg system detects lastpour based on change in keg weight: this is where v47 comes from, correct?
Next time I will try to wake up before replying. Yes the keg is accurate because it comes from the Plaato scale data.

I just added the last pour above the remaining amount if you get latest and put in a starting amount to the keg it should show up
 
Next time I will try to wake up before replying. Yes the keg is accurate because it comes from the Plaato scale data.

I just added the last pour above the remaining amount if you get latest and put in a starting amount to the keg it should show up

cool. One last thing. It has last amount poured but is also adding total amount that has been poured as well (e.g 5 gal starting amount minus XX gal left). See pic below: “6.03 oz 1.8Gal poured”. 1.8 is from 5 gal - 3.2 gal left.
 

Attachments

  • 65F3AB9F-7388-484A-A1AA-2F4A287F8FD5.jpeg
    65F3AB9F-7388-484A-A1AA-2F4A287F8FD5.jpeg
    1.7 MB · Views: 15
but is also adding total amount that has been poured as well
I just separated them into two configs. the original "Show Poured Value" and the new one "Show Last Poured Value"
If you update you can turn off the Show Poured Value to just get the last pour
 
here’s my RPints log after uploading the sketch.
can you check python/Flowmonitor.py ~line 161to see if its the following
Code:
        cfgmsg = cfgmsg + alamodeKickTriggerCount + ":"
        cfgmsg = cfgmsg + alamodeUpdateTriggerCount + ":"
        cfgmsg = cfgmsg + alamodePourShutOffCount + ":"
        cfgmsg = cfgmsg + ("1" if self.alamodeUseRFID else "0") + ":"
        cfgmsg = cfgmsg + ("1" if config["dispatch.debug"] else "0")
        cfgmsg = cfgmsg + "|"

It looks the sketch is waiting for one of those yet, most likely the debug since that is the newest
 
I just separated them into two configs. the original "Show Poured Value" and the new one "Show Last Poured Value"
If you update you can turn off the Show Poured Value to just get the last pour
where is this new "Show last poured value" located? i did just update and can't seem to find it.
 
"Show last poured value" located? i did just update and can't seem to find it.
can you make sure the sql was update by going to the install page on the admin screens and hitting update
you can also force the sql by doing the following in the terminal

sudo MySQL
use raspberrypints

INSERT IGNORE INTO `config` ( configName, configValue, displayName, showOnPanel, createdDate, modifiedDate ) VALUES( 'showLastPouredValue', '1', 'Show Last Poured Value', '1', NOW(), NOW() );
 
Back
Top