• 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.
Another noobs question. I am slogging my way through setting up my Rpints system and making great progress. I got my flow meter connected and working. I will be putting the temp sensor and PIR sensor once I get a breadboard.

I want to install a RFID and flow values to keep track of usage and put a control over highschoolers. Would these instructions be the way to connect the RFID Card reader?

Second, I know I need to get some 12 volt valves and a relay for each valve but where do I get the signal from to open the valves. I've searched hi and low and not been able to find where to connect the signal.

Lastly, I read and want to confirm its best if I have the flow sensor and valve as close to the key.

Thanks for everyones hard work on this great project. Hope to publishsome pictures of my keezer soon.
 
I want to install a RFID and flow values to keep track of usage and put a control over highschoolers. Would these instructions be the way to connect the RFID Card reader?

HaHa! My answer was wrong...Thank you for asking the question, because you just saved me a ton of time because I would have done it wrong!
 
Last edited:
Would these instructions be the way to connect the RFID Card reader?
yes (I have to disagree with garzlok, the logic for RFID is in the PI not the UNO) I think those are the ones I followed, you dont need to do the commands as the setup did those for you. The example script may be helpful to make sure it is hooked up correctly.

where do I get the signal from to open the valves.
I use the Pi's higher numbered pins for the values signal (because alamode takes up the lower number), but you should be able to use the Shields pins also. Just make sure to check or uncheck Value Pi Pin depending on what you use
1610149258870.png
 
I use the Pi's higher numbered pins for the values signal (because alamode takes up the lower number)

ok I found those settings after configuring to show valve control. I might not understand the use of the valves though. what triggers the valves to open. Is that the tagging of a rfid card or logging in of a user ? if so if there is no user logged into bpints are the valves are closed?

and in the configuration why would you have different pins for different taps. Wouldn’t all the valves open on all the lines

thanks
 
what triggers the valves to open. Is that the tagging of a rfid card or logging in of a user ? if so if there is no user logged into bpints are the valves are closed?
Yes the RFID opens the valves. There is also a button on the taps screen to trigger the valves to open, but then will stay open until you hit the button again. The RFID will timeout and close the valves if no pour is detected. Also this only works if you have normally closed valves otherwise the trigger will close them...

different pins for different taps.
I have each tap on its own valve that way if someone is pouring on tap 1 a new RFID scan is needed to allow pouring on tap 2 (for example). you could have all the taps on one pin if you wanted but that means they all are open while a pour is happening but they all will shut when that pour is stopped
 
have each tap on its own valve that way if someone is pouring on tap 1 a new RFID scan is needed t

thanks that helps but I’m still a bit fuzzy. If I have different valve pins how does brew pints know what valve to open After I tag a card
 
it opens all of them then when a pour is started it closes the ones not pouring

got it. Thanks

my next question is I get regular failures of the temp monitor. I end up with a Unable to Run 1Wire Temperature error in the log. I turned on the debug logging in /python/config to true

config['flowmon.debug' ] = True

but I don’t see any more details in the log. It works fine for 5 to 10 min then bombs until I restart flow monitor, Any suggestions ?
 
Last edited:
but I don’t see any more details in the log. It works fine for 5 to 10 min then bombs until I restart flow monitor, Any suggestions ?
off the back, no it seems like you enabled debugging so it should give you the error after 1Wire Temperature:

you could change debug to log on line 745 and restart to see if it actually logs the error you are getting

1610337798668.png
 
Ok here is the error log message I get. i haven’t put my system in the keezer yet so the temps are in the 75 degree range. Would that cause an out of range scenario?

1Wire Temperature: list index out of range1
2021-01-10 21:25:39FlowMonitorI
 
Last edited:
Ok here is the error log message I get. i haven’t put my system in the keezer yet so the temps are in the 75 degree range. Would that cause an out of range scenario?
Can you tell me what files you have in the /sys/bus/w1/devices/28*/w1_slave directories (28* indicates directories that start with 28)?

the other thing that will help me is if you add the following lines to 746 of FlowMonitor.py
exc_type, exc_value, exc_traceback = sys.exc_info()
traceback.print_tb(exc_traceback, limit=1, file=sys.stdout)
1610371278141.png

I commited that to GitHub if you get latest.
You will have to look at /var/log/rpints.log to get the stack trace though it will not log to the webpage
 
I did a full reinstall and it’s running the updated code but I don’t get any further detail in /var/log/rpints.log. Here are further details

he other thing that will help me is if you add the following lines to 746 of FlowMonitor.py
exc_type, exc_value, exc_traceback = sys.exc_info()
traceback.print_tb(exc_traceback, limit=1, file=sys.stdout)

Here is the code I am running

except Exception, e:
log("Unable to Run 1Wire Temperature")
log("1Wire Temperature: " +str(e))
exc_type, exc_value, exc_traceback = sys.exc_info()
traceback.print_tb(exc_traceback, limit=1, file=sys.stdout)

I changed the debug to log to see if that forces other log messages

and here is the resulting log entries

pi@beer:/var/log $ cat rpints.log

2021-01-11 08:52:23 RPINTS: starting WS server
2021-01-11 08:52:23 RPINTS: starting device monitors...
2021-01-11 08:52:23 RPINTS: starting command server
2021-01-11 08:52:23 RPINTS: starting fan control
2021-01-11 08:52:23 RPINTS: Fan Control fanControl1 is Running
2021-01-11 08:52:24 RPINTS: Not Configured to run Fan
2021-01-11 08:52:24 RPINTS: 1Wire Temperature Thread 1 is Running
2021-01-11 08:52:26 RPINTS: RFID Reader RFID-default is Running
2021-01-11 09:19:34 RPINTS: Unable to Run 1Wire Temperature
2021-01-11 09:19:34 RPINTS: 1Wire Temperature: list index out of range



Can you tell me what files you have in the /sys/bus/w1/devices/28*/w1_slave directories (28* indicates directories that start with 28)?

pi@beer:/sys/bus/w1/devices/28-3c01d075b9ec $ ls -al
total 0

drwxr-xr-x 4 root root 0 Jan 11 08:34 .
drwxr-xr-x 4 root root 0 Jan 11 08:34 ..
-rw-r--r-- 1 root root 4096 Jan 11 09:31 alarms
lrwxrwxrwx 1 root root 0 Jan 11 08:34 driver -> ../../../bus/w1/drivers/w1_slave_driver
--w------- 1 root root 4096 Jan 11 09:31 eeprom
-r--r--r-- 1 root root 4096 Jan 11 09:31 ext_power
drwxr-xr-x 3 root root 0 Jan 11 08:34 hwmon
-r--r--r-- 1 root root 4096 Jan 11 09:31 id
-r--r--r-- 1 root root 4096 Jan 11 09:31 name
drwxr-xr-x 2 root root 0 Jan 11 09:31 power
-rw-r--r-- 1 root root 4096 Jan 11 09:31 resolution
lrwxrwxrwx 1 root root 0 Jan 11 08:34 subsystem -> ../../../bus/w1
-r--r--r-- 1 root root 4096 Jan 11 09:31 temperature
-rw-r--r-- 1 root root 4096 Jan 11 08:34 uevent
-rw-r--r-- 1 root root 4096 Jan 11 08:34 w1_slave

and here is the content of the w1_slave_drivers directory

pi@beer:/sys/bus/w1/drivers/w1_slave_driver $ ls -al
total 0
drwxr-xr-x 2 root root 0 Jan 11 08:34 .
drwxr-xr-x 4 root root 0 Jan 11 08:34 ..
lrwxrwxrwx 1 root root 0 Jan 11 09:37 28-3c01d075b9ec -> ../../../../devices/w1_bus_master1/28-3c01d075b9ec
--w------- 1 root root 4096 Jan 11 09:37 bind
--w------- 1 root root 4096 Jan 11 08:34 uevent
--w------- 1 root root 4096 Jan 11 09:37 unbind

and

pi@beer:/sys/bus/w1/devices $ ls -al

total 0

drwxr-xr-x 2 root root 0 Jan 11 08:34 .
drwxr-xr-x 4 root root 0 Jan 11 08:34 ..
lrwxrwxrwx 1 root root 0 Jan 11 08:34 28-3c01d075b9ec -> ../../../devices/w1_bus_master1/28-3c01d075b9ec
lrwxrwxrwx 1 root root 0 Jan 11 08:34 w1_bus_master1 -> ../../../devices/w1_bus_master1
 
Here is the code I am running
Looks like the same code that I tested with but I don't see the stack trace printed out... wondering if its not outputting to the file like I did for me

/sys/bus/w1/devices/28-3c01d075b9ec
Looks like the system detected 1 temp probe 3c01d075b9ec

Can you post the file?
/sys/bus/w1/devices/28-3c01d075b9ec/w1_slave

In there should be a line with t= in it. Rpints looks for that then takes the value after the = as the temperature in Celsius, if there is nothing after the = then that is the issue
 
Can you post the file?
/sys/bus/w1/devices/28-3c01d075b9ec/w1_slave

pi@beer:/sys/bus/w1/devices/28-3c01d075b9ec $ cat w1_slave

39 01 55 05 7f a5 81 66 1d : crc=1d YES
39 01 55 05 7f a5 81 66 1d t=19562

If t= the number of temperature readings then I can see the t value incresing over time each time I read the w1_slave file so I know its getting readings. Is it possible that the probe experiences glitches and sends an improbably temp value that is out of range for what flowmonitor is looking for causing the error? I am going to try to write out the readings on the probe to a file over time so see what values are being sent to see if that might be part of the issue
 
Last edited:
$ cat w1_slave
Thanks, I setup my test system with that info, but it didn't break....

i corrected the stack trace printing to:

debug(traceback.format_exc())
1610392520586.png


This is saved to the file and the log webpage.

If you could make htat change and let me know the new output that would be great
 
If you could make htat change

Ok the code is now
Screen Shot 2021-01-11 at 12.18.54 PM.png


I did change out my PU resistor from 4.7K to 10K to see if that would help and interesting in that it was running for a long time without a failure. Ill keep it running and report back.
 
I did change out my PU resistor from 4.7K to 10K to see if that would help and interesting in that it was running for a long time without a failure.
That's not intuitive - I can see using a stronger pull-up (lower resistance value) but not the other way around.
 
That's not intuitive - I can see using a stronger pull-up (lower resistance value) but not the other way around.

i am a serious NOOB when it comes to these electronics projects but learning fast. I'll keep it running and see what happens. maybe the 4k7 resistor was not making good contact in my breadboard and when I switched out it was installed more firmly. If it doesnt crash today, I'll put the 4k7 back in and see if it works with that one as well.
 
Ill keep it running and report back

here is the error log

2021-01-11 13:14:44 RPINTS: Unable to Run 1Wire Temperature
Exception in thread Thread-14:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/var/www/html/python/FlowMonitor.py", line 745, in run
traceback.print_tb(exc_traceback, limit=1, file=sys.stdout)
NameError: global name 'exc_traceback' is not defined

Perhaps I didnt update the code properlywith that second error message.
 
Perhaps I didnt update the code properlywith that second error message.
you need to remove the trace_back.print_tb line. you removed the definition for exc_traceback

should look like (log can be used instead of debug)
1610400422330.png
 
Just a little update: I am switching name registrars, DNS and web hosts so I am SURE I will screw that up somewhere. :p

If you notice any issues getting to any of the hosted or DNS options (install.rpints.com goes through there), post here.
 
I did a full update and it’s running the updated code from commit d23029 today but I don’t get any further detail in /var/log/rpints.log.

pi@beer:~ $ tail -f /var/log/rpints.log
2021-01-11 19:17:16 RPINTS: starting WS server
2021-01-11 19:17:16 RPINTS: starting device monitors...
2021-01-11 19:17:17 RPINTS: starting command server
2021-01-11 19:17:17 RPINTS: starting fan control
2021-01-11 19:17:17 RPINTS: Fan Control fanControl1 is Running
2021-01-11 19:17:17 RPINTS: Not Configured to run Fan
2021-01-11 19:17:18 RPINTS: Motion Detector MD-montion is Running
2021-01-11 19:17:18 RPINTS: 1Wire Temperature Thread 1 is Running
2021-01-11 19:17:19 RPINTS: RFID Reader RFID-default is Running
2021-01-11 19:17:45 RPINTS: Unable to Run 1Wire Temperature
 
Feature idea: provide an RPI GPIO output to turn on tower or coffin lighting when the PIR fires.
It'd have to be buffered, but that would be on the user.
Polarity control would be a bonus, could save a transistor and reduce aggravation ;)

Cheers!
 
d23029 today but I don’t get any further detail in /var/log/rpints.log.
did you make sure the config.py has debug enabled?
config['flowmon.debug' ] = True


Or change the debug lines (748-749) to log in FlowMonitor.py?
 
did you make sure the config.py has debug enabled?
config['flowmon.debug' ] = True

here is my current config setting
config['flowmon.debug' ] = True

Or change the debug lines (748-749) to log in FlowMonitor.py?

And the flowmon code

except Exception, e:
log("Unable to Run 1Wire Temperature")
debug("1Wire Temperature: " +str(e))
debug(traceback.format_exc())
return



So looks like I changed it in both. Do I need to completely restart the pi machine or just restart the flow monitor to loan the new code?
 
Back
Top