BrewBlox Installation Problem

Hi - I’m trying to install BrewBlox today after using BrewPi for several years. I finished step 5 in the getting started guide but am getting an error message on step 6 (https://brewblox.netlify.com/user/startup.html#step-6-flash-the-firmware) when I try to run
brewblox-ctl flash

from ~/brewblox I get

module ‘brewblox_ctl.utils’ has no attribute ‘tag_prefix’

Any advice? Thanks.

Could you please run pip3 show brewblox-ctl and copy the output? It sounds like you got a version that should not have been released yet.

Thanks for the quick response Bob. Here is what I get:

pi@raspberrypi : ~/brewblox $ pip3 show brewblox-ctl

Name: brewblox-ctl

Version: 0.16.0

Summary: Brewblox management tool

Home-page: None

Author: BrewPi

Author-email: development@brewpi.com

License: GPL-3.0

Location: /usr/local/lib/python3.7/dist-packages

Requires: pyyaml, pprint, click, python-dotenv, requests

Required-by:

If you run sudo pip3 install -U brewblox-ctl, the last line of the output should now read

Successfully installed brewblox-ctl-0.16.1

You should then be able to run the flash without errors.

Edit: pip can take a minute to see the updated version. If needs be, re-run the pip3 install command.

Thanks. It looks like the flash worked.

Is this normal?

pi@raspberrypi:~/brewblox $ brewblox-ctl up
ERROR:
Can’t find a suitable configuration file in this directory or any
parent. Are you in the right directory?

    Supported filenames: docker-compose.yml, docker-compose.yaml

Command ‘docker-compose up -d --remove-orphans’ returned non-zero exit status 1.

Did you run brewblox-ctl setup?

I had before the previous command you’d sent. Should I rerun it?

Assuming so, any need to rerun the flash and wifi commands?

I ran
sudo pip3 install -U brewblox-ctl

brewblox-ctl flash
brewblox-ctl wifi

It may have suffered from (apparently) having the wrong version of brewblox-ctl. Please re-run it. If it asks to confirm replacing files, just choose yes.

You do not need to re-run brewblox-ctl flash / brewblox-ctl wifi.

Thanks - will give it a shot

Thanks again for your help Bob. I’ve got the software up and running.

I’m running a system with a glycol chiller and a heater. I’d run Beer Profile on BrewPi with the following settings (Elco had helped me fix some overshoot issues). Is there a recommended way to copy them over or should I run with default for the first batch? I assume I would ignore all of the beer to fridge settings? Thanks.

Beer-to-Fridge proportional gain (Kp) 0
Beer-to-Fridge integral time constant (Ti) 0
Beer-to-Fridge derivative time constant (Td) 0
Maximum difference between fridge and beer set point (= output of PID) 10.8
Beer-to-Fridge Input filter delay time 18
Beer-to-Fridge Derivative filter delay time 159
Cooler proportional gain (Kp) 3
Cooler integral time constant (Ti) 14400
Cooler derivative time constant (Td) 60
Cooler PWM period (seconds) 180
Cooler minimum OFF time 10
Cooler minimum ON time 5
Cooler Input filter delay time 18
Cooler Derivative filter delay time 159
Heater 1 proportional gain (Kp) 100
Heater 1 integral time constant (Ti) 14400
Heater 1 derivative time constant (Td) 60
Heater 1 PWM period (seconds) 4
Heater 1 Input filter delay time 18
Heater 1 Derivative filter delay time 159
Heater 2 proportional gain (Kp) 30
Heater 2 integral time constant (Ti) 1800
Heater 2 derivative time constant (Td) 60
Heater 2 PWM period (seconds) 4
Heater 2 Input filter delay time 18
Heater 2 Derivative filter delay time 159
Dead time when switching between actuators 7200

It’s best to first try the default settings generated by the glycol wizard. The PID calculations have seen major improvements since BrewPi, making old settings somewhat mismatched.

Often, the default settings work just fine. If they don’t, feel free to post a graph screenshot, and we’ll be happy to help tune your system.

Great - thanks again.

I’m having the same problem trying to update the firmware. I ran brewblox-ctl update and have since been getting the ‘module ‘brewblox_ctl.utils’ has no attribute ‘tag_prefix’’ error. tried the ‘sudo pip3’ update, but it reported no update required what now?

Oh yes, and the ui stopped working of course.

Which version does sudo pip3 show brewblox-ctl report?
Current version is 0.17. If it’s still on 0.16, you can run

sudo pip3 install --no-cache-dir -I brewblox-ctl

That’s an uppercase -i flag if you’re not copy-pasting the command.
I’ll make an issue to skip caches when updating. Pip can be rather slow to recognize new versions.

If version is ok, and it still complains, it may be the local libs:

rm -rf ./brewblox_ctl_lib
brewblox-ctl update

Thanks Bob, it turned out to be the local libs. So I successfully performed an update and then also successfully flashed the firmware. Except that thereafter the ui no longer connected with the controller and the controller’s display has gone blank. I performed another installation of the controller, which all went well as the controller appears on the ui with the new name that I assigned to it (but still no display and still no handshake with the ui). It gives me an eventbus connection interrupted error. What now?

Could you please run brewblox-ctl log? That should give a bit more info on what is and isn’t happening.

Here goes. I attach the log file. Hope it’s everything as it froze after a while.brewblox.log (172.6 KB)

You currently have two Spark services, that are both trying to talk to the same device.

If you have multiple (physical) Spark controllers, you can check this page on how to configure them.

If you only have one controller, run

brewblox-ctl service remove --name spark-one
brewblox-ctl restart

Refresh the UI a few times, and the service should appear in the sidebar. (the datastore takes a minute to get started)