Edge release 2020/04/21

Relevant links:

Edge release 2020/04/21

Firmware release date: 2020/04/20

The previous release brought multiple firmware issues to light.
We hotfixed some of them immediately, and then started work on the others.
This release includes fixes for a few nasty out-of-memory errors that would manifest as sudden reboots.

In the UI, we focused on improving usability.
This includes fixes for scenarios such as:

  • “I don’t see any dashboards or services” (show notification while waiting for datastore, automatically reload page when available)
  • “Controller out of memory in Quickstart wizard” (prompt if existing control blocks are found on controller)
  • “I picked the wrong sensor in Quickstart” (swap addresses of sensor blocks)

For the majority of changes, we’d be happy if nobody notices them, and they Just Work.

We also added the L-Valve Builder part.


  • (fix) The outOfMemory handler in the firmware could cause a crash.
  • (fix) Reduced firmware memory use to avoid crashes in listening mode.
  • (fix) Removed firmware lock on serial connection to avoid crash in listening mode.
  • (fix) Controller now reboots after listening mode.
  • (fix) Reduced connection timeout in firmware.
  • (feature) Instructions are now shown on LCD screen during listening mode.
  • (feature) Memory use is now shown on LCD screen.
  • (feature) Added eeprom dump command, for use in brewblox-ctl. This allows detailed export of persistent data for debugging purposes.
  • (fix) PWM now keeps better track of state history. This prevents incorrect jumps after a period of steady state.
  • (fix) PWM will now only stretch periods after a normal-length period.
  • (improve) Docker volumes are now also pruned during updates.
  • (improve) Added the --ignore-spark-error flag to brewblox-ctl backup save. If set, the update will continue if it encounters an unreachable Spark service.
  • (feature) Added the brewblox-ctl disable-ipv6 command. Having IPv6 enabled on the Pi can cause interrupts for all services whenever a service restarts. If your Spark service is frequently unreachable without the controller restarting, you can run this.
  • (improve) Reduced UI memory usage.
  • (improve) In the relations diagram, Logic Actuator comparison blocks are now rendered above the Logic Actuator itself. This shows more clearly them being “input” for the Logic Actuator.
  • (feature) The Quick Actions widget is now compatible with all Spark services on your system.
  • (improve) Show a spinner when busy applying a Quick Action.
  • (improve) Show a notification whenever a Quick Action is applied.
  • (improve) Refresh all blocks after a Quick Action, to show secondary effects (eg. PID values after changing a Setpoint).
  • (improve) Quick Start wizards are now disabled when no Spark service is available.
  • (config) Changed the default Ferment fridge Minimum ON constraint from 3 -> 2 minutes.
  • (fix) The brewery page no longer potentially references to a property of a removed layout.
  • (feature) Sidebar status is now stored in localstorage. It will retain its open/closed status on next visits.
  • (feature) The UI now waits for the datastore to be available, and then automatically reloads the page. This prevents mysteriously blank pages just after startup.
  • (feature) Added controller reboot action to the Spark service page actions.
  • (fix) The actual HTTP errors are shown again in error notifications.
  • (feature) Added the L-valve Builder part. The valve can be triggered manually, or linked to a Digital Actuator / Motor Valve.
  • (feature) Progress messages are now streamed to the UI during firmware updates.
  • (improve) The “Edit start/end” button is now always available for Session Graph Notes.
  • (feature) Added a duration preset dropdown for all relevant graphs. This was previously missing for sidebar graphs in dialogs.
  • (deprecate) Deprecated the Block Groups feature. It provided a solution to a problem nobody had.
  • (deprecate) Removed the Session View widget (the precursor to Session Log). It has been deprecated for 6 months now.
  • (feature) Added widget wizards for discovered blocks.
  • (feature) Quickstart wizards now check for existing blocks on the controller. If blocks are found, you can choose to keep them or remove them. You still have to remove obsolete dashboards and widgets yourself.
  • (fix) Resolved an issue where Builder parts were not draggable in browser fullscreen mode.
  • (improve) ENTER / CTRL-ENTER behavior in dialogs now more consistently saves and closes input dialogs.
  • (feature) Added OneWire Temp Sensor action to swap addresses with a different sensor. This should help when a sensor is being replaced, or the wrong sensor was chosen during a Quickstart wizard.
  • (feature) Added selectors for overriding graph Y ranges (both Y1 and Y2).
  • (API) Added “policy” argument to history/query/last_values endpoint.
  • (fix) Graphs with a start time earlier than 24h ago will now never use the realtime dataset (only kept for 24h).
  • (improve) When the service can connect, but does not receive a handshake, the troubleshooter suggests to flash the bootloader.

We had reports of some users getting the following error during updates:

bash: /home/pi/.local/bin/brewblox-ctl: No such file or directory

If this happens, run:

source ~/.bashrc

Thank you for continuously improving Brewblox!


Thanks! Very impressed with how responsive you guys are to user feedback.

1 Like

FYI - looks like the Y1/Y2 adjustment for graphs isn’t working consistently.

How so? Which graph are you using, and what is/isn’t working?

Actually, my mistake, Bob. I’m flatlined on my fermentation at terminal gravity and I just misread the graph. Sorry about that.

1 Like

(feature) Progress messages are now streamed to the UI during firmware updates.

Thanks for that. Just updated the firmware and it was a way better user experience.

1 Like

Hi Bob - possible bug report. When I open up the web interface, the PID blocks, etc from the Spark show an exclamation point (but trend graphs are working). After a minute or so they start working. I just tried this a couple of times while I was close to the Spark, and it appears to be rebooting when this happens (I have my typical display on the Spark, launch the browser on my computer or iPad, Spark reboots after a few seconds and I see its screen, then numbers come into the browser on the computer.

It sounds like some data query is causing problems.
Could you please run brewblox-ctl log?

I’ve run it - what is the best way to get the info to you?

This? https://termbin.com/kqjf

Yes, that’s it. Thanks!

I’m indeed seeing a bunch of controller hangups in your logs, so it appears to be firmware-related.
Could you please run the following?

brewblox-ctl particle -c eeprom

That also ends up printing a shareable URL (line starts with “wget”). The eeprom.bin file contains the data stored on your controller, and lets us reproduce things locally.

Here you are:


1 Like

Seems a lot more responsive in the web UI for me no problems so far after update.

My brewery page works as well now :slight_smile: :smiley:

Great work guys!

Bob - FYI it looks like the Spark reboots are independent of whether I pull up the browser interface.

1 Like

Just reflashed - will see how it does


With fresh install, I’ve been up for almost three days straight.
But I do get these in the notifications.

4:25:07 PM

DB error in Persist object(dashboard-items): Document update conflict.


4:24:51 PM

Eventbus connection interrupted. Retrying…


1:41:41 PM

DB error in Persist object(services): Document update conflict.


1:41:41 PM

DB error in Persist object(services): Document update conflict.


1:41:41 PM

DB error in Persist object(services): Document update conflict.


1:41:41 PM

DB error in Persist object(services): Document update conflict.


I’ve had an issue with one of my fridges since this update, was on a constant beer setting and overnight did this.

I’ve just noticed the brewpi display temperature figures appear to flash randomly.

I’ve now disabled the settings and performed a hard restart.



I see a whole lot of DS2413 disconnects in your log. Could it be a hardware issue?