BrewBlox possibly not logging data

No, it’s just me that can’t spell. Should be:

brewblox-ctl http post https://localhost/history/query/configure

I just entered that command
And got this
0;pi@raspberrypi: ~/brewbloxpi@raspberrypi:~/brewblox $ brewblox-ctl http post https://localhost/history/query/configure null 0;pi@raspberry

Checked the site and the graph is working
Thank you!

1 Like

Hello - I have a similar issue after upgrading Brewblox. After moving, I got everything set back up and running on the older version (2020-12-02T13:22:33.647Z) with my Spark 1 for fermentation control. Everything worked great and the graph was populated as expected. 24hrs later I decide to update Brewblox to the latest version as well as update firmware on the Spark. Now no data on the graph - tried refreshing, recreating the graph from a wizard, pulling in various blocks and data - nothing.
Log file is here if anyone can help provide any resolution:
https://termbin.com/fnpb

Thanks in advance!

It’s reporting an older version of your configuration and spark firmware, while your service is using the latest.

With the firmware being two years behind, I recommend running brewblox-ctl update to see if it updates correctly to 0.7.0, and then running brewblox-ctl flash to update the firmware.

Will try it - as I mentioned, the problem appeared when I updated. I used ‘brewblox-ctl update’ to update Brewblox then I used the utility within Brewblox to update the Spark firmware since it notified me of the available firmware update.

If you retry the ctl update, does it show any errors? I can’t make any guarantees one way or the other, but it’s not impossible that in-UI firmware updates are incompatible with this large a version mismatch - they rely more on being compatible with the current version.

Tried updating twice then rebooted the Pi and tried again. Same error each time:

ERROR: for eventbus Cannot create container for service eventbus: invalid mount config for type “bind”: bind source path does not exist: /home/pi/brewblox/mosquitto
ERROR: Encountered errors while bringing up the project.
Command ‘docker-compose up -d’ returned non-zero exit status 1.
Command ‘python3 -m brewblox_ctl update --update-ctl-done’ returned non-zero exit status 1.

This can be resolved by running the following commands:

cd ~/brewblox
docker-compose down
cd
pip3 uninstall brewbox-ctl
wget -qO - https://www.brewblox.com/install | bash

It should recognize the brewblox dir, and install there. If it does not, and prompts to remove all files, do not accept.

The installation process will create as needed, and prompt to keep existing.

The uninstall didn’t work. Tried both the ‘brewbox’ and ‘brewblox’ variants. Ignored and tried the wget command and didn’t like that either.

Brewbox was a typo by @Bob_Steers . Actually 2 typos.
The correct package is brewblox_ctl.

The wget command has a capital letter O, not a zero.

It indeed appears I wasn’t at my sharpest by that point.

You’ll want to use

pip3 uninstall --user brewblox-ctl

(And what elco said about O(letter) vs 0(number)).

Point being that between your current version and now, we’ve changed how the software is installed. You hit upon a specific configuration mismatch between old and new that throws a hard error.

Tried the pip3 uninstall command and returns the error:
no such option: --user

I’m not too familiar with the options or syntax for these commands so I may have done something wrong.

Am I just better off to format my card and start fresh? I didn’t realize the version differences caused issues otherwise I would have just left it at the working older version.

The uninstall is secondary, and mostly to avoid later confusion. The second command (starting with wget) is the important one.

If you have a default fridge setup, and don’t care about history, then re-flashing and following the install guide is the simplest and safest route.

If you want to keep your settings and history, run the wget command, and we can walk you through any hiccups to get your system back in order.

Awesome - good to hear and thanks for the clarification that uninstallation is optional.

wget command runs, accepted defaults and get an ‘All Done’ response.

Connecting to UI I get ‘Waiting for datastore’ and there is no functionality and no previous data. What next?

If you run brewblox-ctl up, do you still get an error?
Could you please run brewblox-ctl log?

If the error still is

ERROR: for eventbus Cannot create container for service eventbus: invalid mount config for type “bind”: bind source path does not exist: /home/pi/brewblox/mosquitto

You can resolve this by running mkdir -p mosquitto, and running up again.

I checked this morning and the UI is back up and I can see the fermenter status but still no data on the graph. Log is here:
https://termbin.com/eozz

Shall I flash the spark via USB now?

The service is connected, and reports an up-to-date firmware version. Does the problem persist if you reload the UI?

Just looked and the graph is reporting now. Appears that it started logging about the time that I ran the brewblox-ctl up command.

Looks like all is good now - thanks so much for your help!!

1 Like