Brewblox release 2020/10/19

Relevant links:

Brewblox release 2020/10/19

firmware release date: 2020/10/11

brewblox-ctl uses Python. Python 3.5, the default version for Raspbian Stretch, was discontinued in september. Raspbian does not support upgrading Python versions.
If you are not yet running the latest Raspbian (Buster), we strongly recommend re-flashing your SD card.
For those unsure of which Raspbian version they’re using: brewblox-ctl will warn you if your Python version is unsupported.

brewblox-ctl still works on Raspbian Stretch, but depends on other software projects that have announced they will soon no longer be compatible with Python 3.5.

We added commands to brewblox-ctl to make it easy to move your Brewblox installation without losing any settings or history data.
For more information, see our system upgrade guide.

The PWM block has also received a minor rework, both in firmware, and in the UI.
In the firmware, we fixed an issue where the PWM overcompensated for setting changes after it had spent a long period at either 0% or 100%.
In the UI, we reworked the widget to improve visibility of desired setting, actual setting, and achieved value.
We also added a slider to the Basic version of the widget, making it much easier to control.

In response to this thread, we created an experimental service for sharing data with Home Assistant.
It will be some time before we find the time to significantly extend this service, but the concept is promising.


  • (docs) Added system upgrade guide.
  • (docs) Added service architecture doc.
  • (feature) Added the brewblox-ctl init command. This creates a brewblox dir. It is also part of brewblox-ctl install.
  • (feature) Added the brewblox-ctl snapshot save command. This zips the entire brewblox dir. It is more complete, but also takes much more space than brewblox-ctl backup save.
  • (feature) Added the brewblox-ctl snapshot load command. This restores snapshots created by brewblox-ctl snapshot save. You can also use brewblox-ctl install --snapshot ARCHIVE.
  • (improve) brewblox-ctl now shows a warning if the Python version is unsupported (currently 3.5 or earlier).
  • (feature) Added the Stopwatch widget.
  • (improve) Reworked the PWM widget.
    • Desired setting is now set by using a slider.
    • It clearly shows when the PWM is driven, and setting can’t be set manually.
    • Improved rendering of desired setting, actual setting, and achieved value.
  • (feature) Added the brewblox-hass service as proof of concept for Home Assistant integration.
  • (improve) Reworked discover/connect behavior in the Spark service to reboot the service less frequently.
  • (improve) Invalid command arguments in services now generate a warning, but do not immediately cause the service to exit.
  • (improve) The UI now shows the Spark Troubleshooter if the service is running, but does not respond to status requests.
  • (improve) The Spark Troubleshooter now shows whether a firmware update is in progress.
  • (improve) Increased brightness for some text elements on the Spark display screen.
  • (improve) System objects with no persistent data are no longer stored in persistent memory.
  • (fix) Possibly fixed a bug where the UI would show its “waiting for datastore” notification even when the datastore already is available.
    • We’re not sure about this one, as we couldn’t consistently reproduce the error.
  • (fix) The PWM no longer overcompensates for setting changes after spending a long time at 0% or 100%.
  • (fix) If changing block settings would cause the Spark to run out of persistent memory, the old block settings are retained.

Hi Bob,
after update yesterday everything seems to work with access from my Windows-PC, but not from an iOS-device. I often work with my iPad. There I can see the actual sensor-data in the brewery builder, also in several widgets, but there are no historic data (especially in the Graph widget: "No data (yet) for the selcted period). Also there is no data in the Metrics-widget.
Any idea about that?

Some versions of iOS have problems with Websocket connections using self-signed SSL certificates.

We’re looking for a workaround until Apple fixes the bug on their side.

In the meantime, you can try adding the cert to your device’s trust store:

Adding the cert did not fix the problem. I think I have to wait for your workaround…

Sorry, me again!

I updated my Pi and the Spark, however things are not working quite right. At first I was seeing the temperature not hitting the set temp, then I realised that the profile was set to drive the chamber temp, not the beer temp. So I changed that and now it does not appear to be driving anything. I tried selecting start profile again, and even attempted another update.

Neither the beer temp nor the chamber temp shows a target on them and heating and cooling PIDs show nothing is happening.

Still appears to be logging, but not controlling since last night.



It should be fixed if you run the “constant beer temperature”, “enable control”, and “start profile” quick actions (in no particular order).

Ah, thanks. That worked!

Glad that I am doing a Saison - I will leave it at 22C until tomorrow when it ramps up to 33C :slight_smile:

I double-checked some specs, and may have found a solution.
We don’t have any late-model Apple devices, so can’t confirm on our end.

To apply:

brewblox-ctl makecert --release feature-openssl-config
docker-compose restart traefik

The new certificate did not change anything on the iOS-device. I also installed the certificate, but the result stays the same - tried it with two different browsers (Safari and Edge) with the same result.

Thanks for checking it out! We’ll keep looking for a fix.

Can you try chrome or Firefox?

I tried Chrome now, but it doesn’t work either.

Yes, apparently all browsers on iOS have to use the Apple webkit engine and it does not support web sockets over a self-signed certificate. We are figuring out possible solutions at the moment.

Getting ready for a brew and decided to update the software and firmware.
As usual for me, cannot update the firmware via the browser.
brewblox-ctl flash gives results in a blinking blue light and not boot.
I notice this on terminal:

Flash success!

Your firmware has been updated.

If a new bootloader is required, your Spark will automatically download it over WiFi.

ONLY If your Spark LED keeps blinking blue, run: ‘brewblox-ctl particle -c flash-bootloader’

I don’t use WiFi, so I run the particle command.
Have since, flashed again a few times, restarted services, rebooted pi.
This is where I am:

for about a minute, then:

for a few seconds.

rinse and repeat.

I also get the notification on the browser that says I need new firmware.
When I click it, the pop up window says I have the latest firmware.

Ideas please?

Could you please run brewblox-ctl log?

I just went for a 5th round of firmware flash and it works now!

Not sure if my log contains the previous issues, but here it is:

Logs just show the latest (successful) connect. Good to hear it works now! We already made updates a lot more stable, but there’s still some ways to go.

thanks for the quickness!

Did you manage to make any progress on this? I also use an iPad so until a fix is identified it makes my brewery pretty much unusable.

Yes, we’re currently looking at making it possible to run the UI over plain HTTP again. Ironically, we can do so because we use websockets.

1 Like