Using Multiple KegBoards

I have 5 taps in my keezer. I’ve been able to install kegberry, and 2 flow sensors on one kegboard. I purchased 3 more sensors and 2 more arduinos in order to include the remaining three taps into the system. I’m using a USB hub to connect the kegboards. It appears the kegberry thinks the two boards are the same board? I ran a test wire from pin 12 to pin 2 on both boards and it registers pours from the same tap. Anyone have any thoughts about this or know how to get the kegberry to recognize those are two separate boards?

Anyone out there?

Have you tried deleting the taps and board from the server, disconnecting and restarting everything starting with the server. The start the tablet, then plug in the hub

I’m not using a tablet. Just running everything on the raspi. I tried deleting all taps and controllers. Restarted and reconnected everything. Still only shows one controller on the admin screen. I can’t add a controller on the admin page either - it says to do it on the app, but I’m not running an app. It just automatically detected the controller when I hooked it up, but it doesn’t want to show a second controller. Anyone with any ideas?

You can manually add a controller using the database admin page.
Database admin can be enabled by adding KEGBOT_ENABLE_ADMIN = True
to local_settings.py.
You may have to restart the services after saving your changes.
After that, you can find the link to the database admin page by going to the kegbot admin and look under the “other” category on the left pane.

I was able to add the line to local_settings.py. However, when I go to Database Admin I get “Server Error (500)”

Thoughts on that? Thanks for your help.

Try stepping into your virtual env and running the command kegbot syncdb
Then see if you can access the database admin page.

Success! I was able to add 2 more controllers and two flow meters associated with each board. However when I run the test wire from pin 12 to pin 2 on board 1, then do the same for board 2, it registers a poor from the same keg. How can I get it to recognize that these are two different arduinos?

Try changing the default name in the sketch, so they show up under 2 different names. Default name in the firmware is “kegboard” if I remember correctly.

I get that the sketch is for the arduino, but I’m not sure how to change the default name. Is it as simple as changing the file name? Do I need to open the sketch and every place it says “kegboard” change it to “kegboard2”? Is there one simple default name in the sketch to change? Thanks for any help.

Sorry scott, checking this late. I will find where it is in the sketch and get back to you. However, it should just be in the first tab where is says something to the effect of “default kegboard name”. You shouldn’t have to change anything other than that I believe.

I found the default name under the kegboard_config tab. I was able to change it kegboard2, which automaticlaly change the name on the first tab and the file name to kegboard2. Uploaded the new sketch and tested it out. It registers the pour twice. I think what’s happening is it is now recognizing two boards, but the flow meters are named the same on both: flow0 and flow1. Should I try changing the name of the flow meters to flow2 and flow3? I’m having trouble finding it in the sketch. Or maybe I need to reassign the flowmeters on kegboard2 to different pins? Thoughts?

Your flow sensors should be named {boardname}.flow0 or {boardname}.flow1 depending on which pins are being used.

In my case, I’m using: kegboard-e485aa5f.flow0, kegboard-e485aa5f.flow1, kegboard-8623df06.flow0, and kegboard-8623df06.flow1

You may to make sure they are named properly in the database admin > Flow meters page, then correctly assign them to the taps in kegbot admin > Taps

I assume 8623df06 and the e485aa5f are the serial numbers? My kegboards don’t have serial numbers, I assume because they are arduinos, not kegboards made by kegbot before they stopped producing them? Although I do notice in the sketch there is info for serial numbers. Should I have serial numbers?

Those are serial numbers for my kegbot pro mini boards. I imagine they chose to do it this way just to guarantee that every board’s id/name was unique.
I think you’d be fine using the names of the boards that you are using, since they are different from each other.

I agree. They SHOULD be fine, unfortunately something still isn’t right. I’ve tried a couple things, one of which was deleting all my taps and controllers, reboot, then plug in arduino named “kegboard2” and run the pin 12 test to see if it will automatically recognize the controller. It does recognize it, but it still just calls it “kegboard” with no serial number. I’ll try uploading the sketch again with “kegboard2” in it tomorrow but I have a feeling the results won’t change. I’m thinking I need to somehow get the arduino sketch to generate a serial number with each board? Any other thoughts/ideas?

  1. Deleted all controllers, taps, and flow meters
  2. Uploaded sketch with “kegboard2” as default name to arduino just to be sure.
  3. Plugged in and ran test pin 12. Kegberry automatically detects controller, but still names it “kegboard” (no serial number).
  4. I go to database admin and change it’s name to “kegboard2”.
  5. Run test pin 12 and no pour is recorded. (tried several times to be sure).
  6. Go back to database admin and change controller name back to “kegboard”.
  7. Run test pin 12 and pour is recorded.

Conclusion: Regardless of what default name is, it’s still naming controller “kegboard”. I’m thinking I need to have it generate a serial number with each arduino. Not sure if it’s suppose to and there is a problem, or there needs to be something added/modified in the sketch. Anyone know how to do that?

i did find this post looking for a way to assign the serial number

“Set a board serial number from your workstation (with set-kegboard-serialnumber command line program)”

not sure if its still valid or not

Doesn’t seem to work. I even tried stepping into virtual environment first. Both times it replies: command not found.

Maybe I’m doing something wrong?

It looks like ‘set-kegboard-serialnumber’ exists in the kegboard repository, so make sure you are stepping into the right virtual environment.