• 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.
Anyone able to point me to the class that needs modifying?
tap-num should be the class to modify, you might be using browser specific css.

Could you send me your exact styles.css or at least the changes you made so I can review
 
This is what the Rpints.log file showed after this. Im using a Uno so why is it trying to reflash the alamaode???
By default it says alamode, but that's just text. probably should change to Arduino.

Can you manually upload the Sketch to the Uno?
Stop the service (sudo /etc/init.d/flowmon stop)
Open /var/www/html/arduino/raspberrypints/raspberrypints.ino in the Arduino IDE
Hit upload (there is a button on top or under the File menu)
start the service (sudo /etc/init.d/flowmon start)

then check the log to see if something different happens
 
Okay did all that and the log new says this.

2020-02-01 10:56:19 RPINTS: valve update: RPU:VALVE:0=0
2020-02-01 10:56:19 RPINTS: valve update: RPU:VALVE:1=0
2020-02-01 10:56:19 RPINTS: valve update: RPU:VALVE:2=0
2020-02-01 10:56:19 RPINTS: valve update: RPU:VALVE:3=0
2020-02-01 10:56:19 RPINTS: Could not import RFID Reader, RFID disabled. Assuming SPI not installed/configured
2020-02-01 10:56:21 RPINTS: starting setup...
2020-02-01 10:56:21 RPINTS: resetting alamode to try to force it to listen to us...
2020-02-01 10:56:22 RPINTS: giving it a short break to wake up again...
2020-02-01 10:56:24 RPINTS: reflashing alamode via:
/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -patmega328p -calamode -P/dev/ttyACM0 -b115200 -D -Uflash:w:/var/www/html//arduino/raspberrypints/raspberrypints.cpp.hex:i
RPINTS: reflashing alamode failed, moving on anyways, error was: Command '/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -patmega328p -calamode -P/dev/ttyACM0 -b115200 -D -Uflash:w:/var/www/html//arduino/raspberrypints/raspberrypints.cpp.hex:i' returned non-zero exit status 1
2020-02-01 10:56:24 RPINTS:
2020-02-01 10:56:24 RPINTS: starting WS server
2020-02-01 10:56:24 RPINTS: starting tap flow meters...
2020-02-01 10:56:24 RPINTS: resetting alamode
2020-02-01 10:56:24 RPINTS: starting command server
2020-02-01 10:56:24 RPINTS: starting fan control
2020-02-01 10:56:24 RPINTS: Fan Control fanControl1 is Running
2020-02-01 10:56:24 RPINTS: Not Configured to run Fan
2020-02-01 10:56:25 RPINTS: waiting for alamode to come alive
2020-02-01 10:56:25 RPINTS: alamode alive...
2020-02-01 10:56:25 RPINTS: getting config data for alamode
2020-02-01 10:56:25 RPINTS: alamode config, about to send: C:4:3:4:5:6:0:300:200:30:250:0:0|
2020-02-01 10:56:25 RPINTS: Waiting for Config Response
2020-02-01 10:56:27 RPINTS: alamode says:
2020-02-01 10:56:27 RPINTS: 1Wire Temperature Thread 1 is Running
2020-02-01 10:56:27 RPINTS: listening to alamode
2020-02-01 10:56:27 RPINTS: alive
2020-02-01 10:56:27 RPINTS: alamode was restarted, restart flowmonitor
2020-02-01 10:56:27 RPINTS: closing serial connection to alamode...
2020-02-01 10:56:28 RPINTS: flowmonitor aborted, restarting...
2020-02-01 10:56:28 RPINTS: resetting alamode
2020-02-01 10:56:29 RPINTS: waiting for alamode to come alive
2020-02-01 10:56:29 RPINTS: alamode alive...
2020-02-01 10:56:29 RPINTS: getting config data for alamode
2020-02-01 10:56:29 RPINTS: alamode config, about to send: C:4:3:4:5:6:0:300:200:30:250:0:0|
2020-02-01 10:56:29 RPINTS: Waiting for Config Response
2020-02-01 10:56:29 RPINTS: alamode says: alive
2020-02-01 10:56:29 RPINTS: 1Wire Temperature Thread 1 is Running
2020-02-01 10:56:29 RPINTS: listening to alamode
2020-02-01 10:56:29 RPINTS: alamode - Unknown message (length too short): C:4:3:4:5:6:0:300:200:30:250:0:0|
2020-02-01 10:56:29 RPINTS: Sending Status;NOTOK;-1;0;0;0;0;0;|
 
Wholly $hit...I have a pour. What fixed it?? Also how do I get rid of those other pours which were already there?

Screen Shot 2020-02-01 at 11.02.39 am.png
 
2020-02-01 10:56:29 RPINTS: Waiting for Config Response
2020-02-01 10:56:29 RPINTS: alamode says: alive
This looks like a baudrate issue
In /var/www/html/python/FlowMonitor.py change line 225
from
self.arduino = serial.Serial(self.port,9600,timeout=.5)
to
self.arduino = serial.Serial(self.port,115200,timeout=.5)
and save

in the raspberrypints.ino change line 124
from
Serial.begin(9600);
to
Serial.begin(115200);


Then repeat the upload process
 
Also how do I get rid of those other pours which were already there?
this should remove all pours from the table, unless you really want to save that 1 pour this is the way to go (assuming you use the default database name)
sudo mysql -D raspberrypints -e "DELETE FROM pours;"
 
Those lines for self Arduino (line 225) and serial.begin (line 124) weren't the same as you quoted..But I assume that doesn't matter?

Now Im not seeing any pours at all?? The heading POURS is gone too.

here is the log file now.
2020-02-01 11:24:28 RPINTS: valve update: RPU:VALVE:0=0
2020-02-01 11:24:28 RPINTS: valve update: RPU:VALVE:1=0
2020-02-01 11:24:28 RPINTS: valve update: RPU:VALVE:2=0
2020-02-01 11:24:28 RPINTS: valve update: RPU:VALVE:3=0
2020-02-01 11:24:28 RPINTS: Could not import RFID Reader, RFID disabled. Assuming SPI not installed/configured
2020-02-01 11:24:30 RPINTS: starting setup...
2020-02-01 11:24:30 RPINTS: resetting alamode to try to force it to listen to us...
2020-02-01 11:24:31 RPINTS: giving it a short break to wake up again...
2020-02-01 11:24:33 RPINTS: reflashing alamode via:
/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -patmega328p -calamode -P/dev/ttyACM0 -b115200 -D -Uflash:w:/var/www/html//arduino/raspberrypints/raspberrypints.cpp.hex:i
RPINTS: reflashing alamode failed, moving on anyways, error was: Command '/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -patmega328p -calamode -P/dev/ttyACM0 -b115200 -D -Uflash:w:/var/www/html//arduino/raspberrypints/raspberrypints.cpp.hex:i' returned non-zero exit status 1
2020-02-01 11:24:33 RPINTS:
2020-02-01 11:24:33 RPINTS: starting WS server
2020-02-01 11:24:34 RPINTS: starting tap flow meters...
2020-02-01 11:24:34 RPINTS: resetting alamode
2020-02-01 11:24:34 RPINTS: starting command server
2020-02-01 11:24:34 RPINTS: starting fan control
2020-02-01 11:24:34 RPINTS: Fan Control fanControl1 is Running
2020-02-01 11:24:34 RPINTS: Not Configured to run Fan
2020-02-01 11:24:35 RPINTS: waiting for alamode to come alive
2020-02-01 11:24:36 RPINTS: alamode alive...
2020-02-01 11:24:36 RPINTS: getting config data for alamode
2020-02-01 11:24:36 RPINTS: alamode config, about to send: C:4:3:4:5:6:0:300:200:30:250:0:0|
2020-02-01 11:24:36 RPINTS: Waiting for Config Response
2020-02-01 11:24:36 RPINTS: alamode says: C:4:3:4:5:6:0:300:200:30:250:0:0|
2020-02-01 11:24:36 RPINTS: 1Wire Temperature Thread 1 is Running
2020-02-01 11:24:36 RPINTS: listening to alamode
2020-02-01 11:24:36 RPINTS: Sending Status;NOTOK;-1;0;0;0;0;0;|
2020-02-01 11:25:09 RPINTS: got WS connection from ('::ffff:192.168.1.163', 61382, 0, 0)
2020-02-01 11:26:09 RPINTS: got WS connection from ('::ffff:192.168.1.163', 61400, 0, 0)
 
this should remove all pours from the table, unless you really want to save that 1 pour this is the way to go (assuming you use the default database name)
sudo mysql -D raspberrypints -e "DELETE FROM pours;"

After doing this now the heading POURS is completely gone/.

Screen Shot 2020-02-01 at 11.38.16 am.png


Edit:- Ok its back again after a reboot. Ill keep playing around. thanks heaps mate.

EDIT:- Nope. It showed one pour then I changed the count per litre from 7000 to 3000 as it only showed 33mls when I had poured 500mls, but it won't show the second pour now?
 
Last edited:
Anyone able to point me to the class that needs modifying?
Use the built-in browser developer tool's to determine what is happening/not happening in regard to rendering/css. Most modern browsers have some sort of built-in developer tools (might be called a different name, but they allow inspecting the rendered DOM).
 
Use the built-in browser developer tool's to determine what is happening/not happening in regard to rendering/css. Most modern browsers have some sort of built-in developer tools (might be called a different name, but they allow inspecting the rendered DOM).
Thanks I have been trying. I used the dev tools to change fonts, spacing and widths without a problem. I can't seem to do anything with it to change the way it renders the image. You would think the object-fit or image-fit or auto would work, but alas... I even changed the graphic to 150 X 75 and it still doesn't fit. I'm not good at this stuff, I appreciate the help.
 
Thanks I have been trying. I used the dev tools to change fonts, spacing and widths without a problem. I can't seem to do anything with it to change the way it renders the image. You would think the object-fit or image-fit or auto would work, but alas... I even changed the graphic to 150 X 75 and it still doesn't fit. I'm not good at this stuff, I appreciate the help.
Look for overridden styles, things with a line thru them. Perhaps, the image is correctly set, but then overrode by a later style. Remember, CSS = cascading style sheet (in other words the last style wins).
 
Thanks I have been trying. I used the dev tools to change fonts, spacing and widths without a problem. I can't seem to do anything with it to change the way it renders the image. You would think the object-fit or image-fit or auto would work, but alas... I even changed the graphic to 150 X 75 and it still doesn't fit. I'm not good at this stuff, I appreciate the help.
Remember too things are rendered, aka images, based on their container. Perhaps, a div or span or other item is ruining the images.

To drive yourself totally mental, try making a scrolling list (table) where the header row remains (doesn't scroll). Is possible, not exactly easy, but doable.
 
Remember too things are rendered, aka images, based on their container. Perhaps, a div or span or other item is ruining the images.

To drive yourself totally mental, try making a scrolling list (table) where the header row remains (doesn't scroll). Is possible, not exactly easy, but doable.
Are you drunk? No wait, haha that's me. I have 8 taps and RandR+ helped me put them in a portrait mode screen with double columns. Hopefully, I won't need to scroll the table under the header. Everything is fitting really well on full screen and looks awesome. Just a couple more things to fix. The tap graphics fitting and I put "Your beer is being poured at a COLD 34.56° F" at the bottom of the table. Currently with last pour at the top, I'm struggling to pull show the converted $temp variable at the bottom. It's something I think I can figure out. I'll look into some of your suggestions on the tap graphic. Thanks!
 
I'm to the point of trying to get the tap number graphics to fit. I PM'd Troyp42 and used what worked for him, but it didn't for me. He modified the class for the tap circle. I've been trying .tap-num without success. It is also is browser dependent. It works great on FireFox, but none of the other browsers including Chromium.

Anyone able to point me to the class that needs modifying?

Bit surprised you get that issue in Chromium. I know older Browsers, such as Safari from a couple years ago will render the page like that.

Anyway, what you seek to change can be located here: /var/www/html/includes/beerListTable.php

about Line 88. (I cant remember if I added anything to throw my line count off) You'll want to set your height and width to a set px. I set mine to 51px x 54px and I render the image in all the browsers important to me.

As Tabor said....the base element wins. in this case it's beerListTable.php.
 
After doing this now the heading POURS is completely gone/.

View attachment 664625

Edit:- Ok its back again after a reboot. Ill keep playing around. thanks heaps mate.

EDIT:- Nope. It showed one pour then I changed the count per litre from 7000 to 3000 as it only showed 33mls when I had poured 500mls, but it won't show the second pour now?
Is that background original art?
 
Just a couple more things to fix. The tap graphics fitting and I put "Your beer is being poured at a COLD 34.56° F" at the bottom of the table. Currently with last pour at the top, I'm struggling to pull show the converted $temp variable at the bottom. It's something I think I can figure out. I'll look into some of your suggestions on the tap graphic. Thanks!

What you're attempting to do is modify the displayed/rendered DOM. Must use javascript or jQuery.

Please realize the Raspberry Pints Tap List is rendered from the server. Once done the server is disconnected from the browser. This is what is known as "stateless".

If we want ongoing updating to happen once the Tap List is rendered, then we are on the client and must handle accordingly (otherwise we'll not see our changes).
 
Last edited:
This is so frustrating. Ive changed the baud rate from 9600 to 115200, then to 57600 after reading various posts on here but no matter what I do it wont register pours. It has worked a few times and for a bit was working every pour whilst trying to calibrate it. But now wont work at all. Please help????

If I run serial monitor in the Arduino IDE I get a constant ALIVE message so I know the Arduino is working properly. Ive gone back to a baud rate of 115200.
 
Bit surprised you get that issue in Chromium. I know older Browsers, such as Safari from a couple years ago will render the page like that.

Anyway, what you seek to change can be located here: /var/www/html/includes/beerListTable.php

about Line 88. (I cant remember if I added anything to throw my line count off) You'll want to set your height and width to a set px. I set mine to 51px x 54px and I render the image in all the browsers important to me.

As Tabor said....the base element wins. in this case it's beerListTable.php.

Thanks, that sounds right. So here is what I have from 70-100

<?php for($i = 1; $i <= ceil($numberOfBeers/$maxTapCol); $i++) {
$beer = null;
if( isset($beers[$i]) ) $beer = $beers[$i];
if($tapOrBottle != ConfigNames::CONTAINER_TYPE_KEG && !isset($beer) ) continue;
?>
<tr class="<?php if($i%2 > 0){ echo 'altrow'; }?>" id="<?php echo $beer['id']; ?>">
<?php
for($tapCol = 0; $tapCol< $maxTapCol && $numberOfBeers > $tapCol; $tapCol++){
$beer = null;
if( isset($beers[$i+($tapCol * (ceil($numberOfBeers/$maxTapCol)))]) ) $beer = $beers[$i+($tapCol * (ceil($numberOfBeers/$maxTapCol)))];
if($tapOrBottle != ConfigNames::CONTAINER_TYPE_KEG && !isset($beer) ) continue;
?>
<?php if($config[ConfigNames::ShowTapNumCol]){ ?>
<td class="tap-num">
<?php if($tapOrBottle == ConfigNames::CONTAINER_TYPE_KEG){
if($config[ConfigNames::AllowSamplePour]){
?>
<a href ="./includes/pours.php/?tapId=<?php echo $beer['id']; ?>" style="height:100%">
<?php
}
$style = "";
if(isset($beer) && isset($beer['tapRgba']) && $beer['tapRgba']) $style = "background-color: ".$htmlHelper->CreateRGB($beer['tapRgba']);
$imgs = glob ( 'img/tap/tap'.$beer['id'].'.*' );
if(count($imgs) > 0) $style .= ($style != ""?";":"").'background:url('.$imgs[0].') no-repeat bottom left; background-size:cover; -webkit-border-radius:0px; -mox-border-radius:0px; height:100%; width:50px';
?>
<span class="tapcircle" style="<?php echo $style; ?>">
<?php if(isset($beer['tapNumber']) && $beer['tapNumber'] != 0){echo $beer['tapNumber'];}elseif(count($imgs) == 0){echo $i;}else{echo '&nbsp;';} ?>
</span>
<?php if($config[ConfigNames::AllowSamplePour]){ ?>
</a>
<?php }?>

Did I mention the best I can do is cut and paste what someone else has done? I'm waay out of my league and really appreciate the patience and help everyone has given me here. This is RandR+ file he modified for the two column beer table. Is it the 6th line up from the bottom or out of this range?
 
Thanks, that sounds right. So here is what I have from 70-100

<?php
}
$style = "";
if(isset($beer) && isset($beer['tapRgba']) && $beer['tapRgba']) $style = "background-color: ".$htmlHelper->CreateRGB($beer['tapRgba']);
$imgs = glob ( 'img/tap/tap'.$beer['id'].'.*' );
if(count($imgs) > 0) $style .= ($style != ""?";":"").'background:url('.$imgs[0].') no-repeat bottom left; background-size:cover; -webkit-border-radius:0px; -mox-border-radius:0px; height:100%; width:50px';
?>

Did I mention the best I can do is cut and paste what someone else has done? I'm waay out of my league and really appreciate the patience and help everyone has given me here. This is RandR+ file he modified for the two column beer table. Is it the 6th line up from the bottom or out of this range?

The above is what you're looking for.

change to:

Code:
<?php
            }
       $style = "";      
       if(isset($beer) && isset($beer['tapRgba']) && $beer['tapRgba']) $style = "background-color: ".$htmlHelper->CreateRGB($beer['tapRgba']);
       $imgs = glob ( 'img/tap/tap'.$beer['id'].'.*' );
       if(count($imgs) > 0) $style .= ($style != ""?";":"").'background:url('.$imgs[0].') no-repeat bottom left; background-size:cover; -webkit-border-radius:0px; -mox-border-radius:0px; height:51px; width:54px';
       ?>

With that being said....the height and width that I have in my php may not be right for you and you may have to expand/contract the size based off of your needs....but that's the base element that needs to be altered.
 
Those lines for self Arduino (line 225) and serial.begin (line 124) weren't the same as you quoted..But I assume that doesn't matter?
No the line numbers don't matter, but it looks like you made the right changes as the log doesn't show it restarting over and over again. And shows what I would expect it to be at startup

After doing this now the heading POURS is completely gone/.
That's to be expected until a new pour is registered. it sounds like the first pour worked but the seconded didnt

After you do a pour check /var/log/rpints.log to see if there is any errors.
 
it the 6th line up from the bottom or out of this range?
I used your style.css and the inspection tool and found the issue for chrome

The bold are the styles causing the issue in chromium with your changes, if you remove them chrome looks better
if(count($imgs) > 0) $style .= ($style != ""?";":"").'background:url('.$imgs[0].') no-repeat bottom left; background-size:cover; -webkit-border-radius:0px; -mox-border-radius:0px; height:100%; width:50px';

BUT I also tried it without your changes in chrome and it looked ok on chrome/edge/firefox, a little small tweaking the above line made it look great so try this (on the beerListTable.php)
if(count($imgs) > 0) $style .= ($style != ""?";":"").'background:url('.$imgs[0].') no-repeat center; background-size:cover; -webkit-border-radius:0px; -mox-border-radius:0px; height:100px; width:50px';
 
Verify what port is being used...most likely /dev/ttyACM0 or /dev/ttyACM1.

Then modify /var/www/html/Config.py

"config['flowmon.port'] = '/dev/ttyACM0'

As an aside, I ran into issues of my RPi 3+ bouncing between ttyACM0 and ttyACM1 and did this...


http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/


my "99-usb-serial.rules" looked like this...

SUBSYSTEM=="tty", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0043", SYMLINK+="arduino"

after I made this modification...I could use "/dev/arduino" in Config.py

Then you can go back to GUI and use Arduino IDE Programmer. (still sees ttyACM0 though, so make sure it's selected under Tools/Serial Port)

raspberrypints.ino is located in "/var/www/html/arduino/raspberrypints"

Thanks, i've changed the info in the config file but i'm not getting any pours registered.
So, to double check. Can i power the uno via the raspberry pi or does it have to be powered via it's own port?
Also, are there any other things that need changing considering i was originally on the alamode?
And lastly. i have 1 red solid led on the uno and 1 flashing, does this mean anything?
 
.....After you do a pour check /var/log/rpints.log to see if there is any errors.
Will do when I’m back home. Does the length of wires matter? I am using Ethernet cable. I have a 3 foot run inside the fridge to an Ethernet plug on the outside. Then a 6ft patch lead to my box and into another Ethernet port.
 
Well bugger me. It works now. They all work fine for some reason. Heres the log file anyway.


2020-02-02 07:53:57 RPINTS:
2020-02-02 07:53:57 RPINTS: starting WS server
2020-02-02 07:53:57 RPINTS: starting tap flow meters...
2020-02-02 07:53:57 RPINTS: resetting alamode
2020-02-02 07:53:57 RPINTS: starting command server
2020-02-02 07:53:57 RPINTS: starting fan control
2020-02-02 07:53:57 RPINTS: Fan Control fanControl1 is Running
2020-02-02 07:53:57 RPINTS: Not Configured to run Fan
2020-02-02 07:53:58 RPINTS: waiting for alamode to come alive
2020-02-02 07:54:00 RPINTS: alamode alive...
2020-02-02 07:54:01 RPINTS: getting config data for alamode
2020-02-02 07:54:01 RPINTS: alamode config, about to send: C:4:3:4:5:6:0:300:200:30:250:0:0|
2020-02-02 07:54:01 RPINTS: Waiting for Config Response
2020-02-02 07:54:01 RPINTS: alamode says: alive
2020-02-02 07:54:01 RPINTS: 1Wire Temperature Thread 1 is Running
2020-02-02 07:54:02 RPINTS: listening to alamode
2020-02-02 07:54:02 RPINTS: alive
2020-02-02 07:54:02 RPINTS: alamode was restarted, restart flowmonitor
2020-02-02 07:54:02 RPINTS: closing serial connection to alamode...
2020-02-02 07:54:03 RPINTS: flowmonitor aborted, restarting...
2020-02-02 07:54:03 RPINTS: resetting alamode
2020-02-02 07:54:04 RPINTS: waiting for alamode to come alive
2020-02-02 07:54:05 RPINTS: alamode alive...
2020-02-02 07:54:05 RPINTS: getting config data for alamode
2020-02-02 07:54:05 RPINTS: alamode config, about to send: C:4:3:4:5:6:0:300:200:30:250:0:0|
2020-02-02 07:54:05 RPINTS: Waiting for Config Response
2020-02-02 07:54:06 RPINTS: alamode says: C:4:3:4:5:6:0:300:200:30:250:0:0|
2020-02-02 07:54:06 RPINTS: 1Wire Temperature Thread 1 is Running
2020-02-02 07:54:06 RPINTS: listening to alamode
2020-02-02 07:54:06 RPINTS: Sending Status;NOTOK;-1;0;0;0;0;0;|
2020-02-02 07:54:48 RPINTS: got WS connection from ('::1', 35898, 0, 0)
2020-02-02 07:55:48 RPINTS: got WS connection from ('::1', 35904, 0, 0)
2020-02-02 07:58:09 RPINTS: got WS connection from ('::ffff:192.168.1.163', 50472, 0, 0)
2020-02-02 07:58:13 RPINTS: got WS connection from ('::ffff:192.168.1.163', 50477, 0, 0)
2020-02-02 07:58:15 RPINTS: got WS connection from ('::ffff:192.168.1.163', 50479, 0, 0)
2020-02-02 07:58:16 RPINTS: got WS connection from ('::ffff:192.168.1.163', 50480, 0, 0)
2020-02-02 07:58:24 RPINTS: got WS connection from ('::ffff:192.168.1.163', 50494, 0, 0)
2020-02-02 07:59:24 RPINTS: got WS connection from ('::ffff:192.168.1.163', 50515, 0, 0)
2020-02-02 07:59:39 RPINTS: got a pour: P;-1;3;211
Pourpour on pin: 3, count: 211, conversion: 7000, amount: 0.030142857142857, amountUnit: ml, user: N/A
2020-02-02 07:59:40 RPINTS: restarting fan timer after pour
2020-02-02 07:59:40 RPINTS: count update: RPU:FLOW:3=211:-1
2020-02-02 07:59:40 RPINTS: received server update, sending 'RPU:FLOW:3=211:-1' to ('::ffff:192.168.1.163', 50477, 0, 0)
2020-02-02 07:59:40 RPINTS: received server update, sending 'RPU:FLOW:3=211:-1' to ('::ffff:192.168.1.163', 50479, 0, 0)2020-02-02 07:59:40 RPINTS: received server update, sending 'RPU:FLOW:3=211:-1' to ('::1', 35898, 0, 0)
2020-02-02 07:59:40 RPINTS: received server update, sending 'RPU:FLOW:3=211:-1' to ('::ffff:192.168.1.163', 50494, 0, 0)

2020-02-02 07:59:40 RPINTS: received server update, sending 'RPU:FLOW:3=211:-1' to ('::ffff:192.168.1.163', 50515, 0, 0)
2020-02-02 07:59:40 RPINTS: received server update, sending 'RPU:FLOW:3=211:-1' to ('::ffff:192.168.1.163', 50472, 0, 0)
2020-02-02 07:59:40 RPINTS: received server update, sending 'RPU:FLOW:3=211:-1' to ('::1', 35904, 0, 0)
2020-02-02 07:59:40 RPINTS: received server update, sending 'RPU:FLOW:3=211:-1' to ('::ffff:192.168.1.163', 50480, 0, 0)
2020-02-02 07:59:40 RPINTS: Sending Status;NOTOK;-1;0;0;0;0;0;|
2020-02-02 07:59:40 RPINTS: got WS connection from ('::ffff:192.168.1.163', 50525, 0, 0)
2020-02-02 07:59:42 RPINTS: got a pour: P;-1;3;215
Pourpour on pin: 3, count: 215, conversion: 7000, amount: 0.030714285714286, amountUnit: ml, user: N/A
2020-02-02 07:59:42 RPINTS: count update: RPU:FLOW:3=215:-1
2020-02-02 07:59:42 RPINTS: received server update, sending 'RPU:FLOW:3=215:-1' to ('::1', 35898, 0, 0)
2020-02-02 07:59:42 RPINTS: received server update, sending 'RPU:FLOW:3=215:-1' to ('::ffff:192.168.1.163', 50525, 0, 0)
2020-02-02 07:59:42 RPINTS: received server update, sending 'RPU:FLOW:3=215:-1' to ('::ffff:192.168.1.163', 50479, 0, 0)
2020-02-02 07:59:42 RPINTS: received server update, sending 'RPU:FLOW:3=215:-1' to ('::ffff:192.168.1.163', 50515, 0, 0) 2020-02-02 07:59:42 RPINTS: received server update, sending 'RPU:FLOW:3=215:-1' to ('::ffff:192.168.1.163', 50480, 0, 0)
2020-02-02 07:59:42 RPINTS: received server update, sending 'RPU:FLOW:3=215:-1' to ('::1', 35904, 0, 0)2020-02-02 07:59:42 RPINTS: received server update, sending 'RPU:FLOW:3=215:-1' to ('::ffff:192.168.1.163', 50477, 0, 0)

2020-02-02 07:59:42 RPINTS: received server update, sending 'RPU:FLOW:3=215:-1' to ('::ffff:192.168.1.163', 50472, 0, 0)

2020-02-02 07:59:42 RPINTS: received server update, sending 'RPU:FLOW:3=215:-1' to ('::ffff:192.168.1.163', 50494, 0, 0)
2020-02-02 07:59:42 RPINTS: [Errno 32] Broken pipe
2020-02-02 07:59:42 RPINTS: closing WS connection to ('::ffff:192.168.1.163', 50477, 0, 0)
2020-02-02 07:59:42 RPINTS: [Errno 32] Broken pipe
2020-02-02 07:59:42 RPINTS: closing WS connection to ('::1', 35898, 0, 0)
2020-02-02 07:59:42 RPINTS: [Errno 32] Broken pipe
2020-02-02 07:59:42 RPINTS: closing WS connection to ('::ffff:192.168.1.163', 50472, 0, 0)
2020-02-02 07:59:42 RPINTS: [Errno 32] Broken pipe
2020-02-02 07:59:42 RPINTS: closing WS connection to ('::ffff:192.168.1.163', 50494, 0, 0)
2020-02-02 07:59:42 RPINTS: [Errno 32] Broken pipe
2020-02-02 07:59:42 RPINTS: [Errno 32] Broken pipe
2020-02-02 07:59:42 RPINTS: closing WS connection to ('::1', 35904, 0, 0)2020-02-02 07:59:42 RPINTS: closing WS connection to ('::ffff:192.168.1.163', 50479, 0, 0)

2020-02-02 07:59:42 RPINTS: [Errno 32] Broken pipe
2020-02-02 07:59:42 RPINTS: closing WS connection to ('::ffff:192.168.1.163', 50480, 0, 0)
2020-02-02 07:59:42 RPINTS: Sending Status;NOTOK;-1;0;0;0;0;0;|
[2020-02-02 07:59:42,573] [ERROR] mod_pywebsocket.standalone.WebSocketServer: Exception in processing request from: ('::1', 35898, 0, 0)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 599, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.7/dist-packages/mod_pywebsocket/standalone.py", line 664, in __init__
self, request, client_address, server)
File "/usr/lib/python2.7/SocketServer.py", line 657, in __init__
self.finish()
File "/usr/lib/python2.7/SocketServer.py", line 716, in finish
self.wfile.close()
File "/usr/lib/python2.7/socket.py", line 283, in close
self.flush()
File "/usr/lib/python2.7/socket.py", line 307, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe

[2020-02-02 07:59:42,576] [ERROR] mod_pywebsocket.standalone.WebSocketServer: Exception in processing request from: ('::1', 35904, 0, 0)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 599, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.7/dist-packages/mod_pywebsocket/standalone.py", line 664, in __init__
self, request, client_address, server)
File "/usr/lib/python2.7/SocketServer.py", line 657, in __init__
self.finish()
File "/usr/lib/python2.7/SocketServer.py", line 716, in finish
self.wfile.close()
File "/usr/lib/python2.7/socket.py", line 283, in close
self.flush()
File "/usr/lib/python2.7/socket.py", line 307, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe

[2020-02-02 07:59:42,577] [ERROR] mod_pywebsocket.standalone.WebSocketServer: Exception in processing request from: ('::ffff:192.168.1.163', 50477, 0, 0)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 599, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.7/dist-packages/mod_pywebsocket/standalone.py", line 664, in __init__
self, request, client_address, server)
File "/usr/lib/python2.7/SocketServer.py", line 657, in __init__
self.finish()
File "/usr/lib/python2.7/SocketServer.py", line 716, in finish
self.wfile.close()
File "/usr/lib/python2.7/socket.py", line 283, in close
self.flush()
File "/usr/lib/python2.7/socket.py", line 307, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe

[2020-02-02 07:59:42,578] [ERROR] mod_pywebsocket.standalone.WebSocketServer: Exception in processing request from: ('::ffff:192.168.1.163', 50494, 0, 0)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 599, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.7/dist-packages/mod_pywebsocket/standalone.py", line 664, in __init__
self, request, client_address, server)
File "/usr/lib/python2.7/SocketServer.py", line 657, in __init__
self.finish()
File "/usr/lib/python2.7/SocketServer.py", line 716, in finish
self.wfile.close()
File "/usr/lib/python2.7/socket.py", line 283, in close
self.flush()
File "/usr/lib/python2.7/socket.py", line 307, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe

[2020-02-02 07:59:42,578] [ERROR] mod_pywebsocket.standalone.WebSocketServer: Exception in processing request from: ('::ffff:192.168.1.163', 50479, 0, 0)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 599, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.7/dist-packages/mod_pywebsocket/standalone.py", line 664, in __init__
self, request, client_address, server)
File "/usr/lib/python2.7/SocketServer.py", line 657, in __init__
self.finish()
File "/usr/lib/python2.7/SocketServer.py", line 716, in finish
self.wfile.close()
File "/usr/lib/python2.7/socket.py", line 283, in close
self.flush()
File "/usr/lib/python2.7/socket.py", line 307, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe

[2020-02-02 07:59:42,579] [ERROR] mod_pywebsocket.standalone.WebSocketServer: Exception in processing request from: ('::ffff:192.168.1.163', 50472, 0, 0)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 599, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.7/dist-packages/mod_pywebsocket/standalone.py", line 664, in __init__
self, request, client_address, server)
File "/usr/lib/python2.7/SocketServer.py", line 657, in __init__
self.finish()
File "/usr/lib/python2.7/SocketServer.py", line 716, in finish
self.wfile.close()
File "/usr/lib/python2.7/socket.py", line 283, in close
self.flush()
File "/usr/lib/python2.7/socket.py", line 307, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe

[2020-02-02 07:59:42,582] [ERROR] mod_pywebsocket.standalone.WebSocketServer: Exception in processing request from: ('::ffff:192.168.1.163', 50480, 0, 0)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 599, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.7/dist-packages/mod_pywebsocket/standalone.py", line 664, in __init__
self, request, client_address, server)
File "/usr/lib/python2.7/SocketServer.py", line 657, in __init__
self.finish()
File "/usr/lib/python2.7/SocketServer.py", line 716, in finish
self.wfile.close()
File "/usr/lib/python2.7/socket.py", line 283, in close
self.flush()
File "/usr/lib/python2.7/socket.py", line 307, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
 
Well it appears my issue is that blowing through the flow meters registers a pour but pouring water or beer through them is not enough pressure to get them turning. Even if I blow through the beer line connected to the flow meter it still doesn’t turn. It if I take the beer line off and blow through the Flowmeter it works.
I’m using 4mm EVA Barrier line around 2 metres long and regulator is set at 100kpa (14psi)
Does this mean I have to switch to 5 or 6mm line and run a longer length?
 
Refresh the collective memory: what make/model flow meters?
Do you have more than one meter being tested?

imo, if you are pouring a little over an ounce per second (a bit under 2 liters per minute) and a meter isn't spinning I'd suspect the meter. Even the Adafruit is spec'd at 1 lpm at the low end - which means it'll likely work even lower with perhaps some loss of accuracy...

Cheers!
 
Back
Top