Edge release 2020/04/06

Relevant links:

Edge release 2020/04/06

Firmware release date (hotfix): 2020/04/09

This release includes a collection of quick fixes to problems introduced or uncovered in the previous release.

Important: we fixed a problem with updating brewblox-ctl. To make use of the fix, please run brewblox-ctl update twice. The correct version of brewblox-ctl for this release is 0.18.0.


  • (fix) The Spark LCD now uses the correct formula for converting Celsius to Fahrenheit.
  • (fix) PID integral is now reset Ti is set to 0.
  • (fix) Two consecutive operators (a|&b) in Logic Actuator now trigger an error result in firmware.
  • (improvement) brewblox-ctl flash is now faster.
  • (improvement) brewblox-ctl bootloader no longer requires the --force option.
  • (fix) Improved how in-UI firmware updates are handled. This doesn’t solve all known issues, but should improve reliability.
  • (fix) The update of brewblox-ctl now ignores the local cache. Please run brewblox-ctl update twice to make use of this fix.
  • (fix) Blocks from all services can now be selected in Builder Setpoint / Sensor display parts.
  • (improvement) The Logic Actuator expression field is now more responsive.
  • (improvement) The Logic Actuator error display now has a fixed height. Lower-placed elements will now consistently render in the same place.
  • (fix) When loading the UI, a notification will appear if the datastore could not yet be reached. It is common for the datastore to be much slower to start up than the UI. This results in a UI without any available dashboards or services.

Released a firmware hotfix to solve some crashes. Build date is 2020-04-09.

Tried this update after a long time without updating and got an error in the last command:

Running command: 
	 /usr/bin/python3 -m brewblox_ctl migrate 

module 'brewblox_ctl.utils' has no attribute 'tag_prefix'
Traceback (most recent call last):
  File "/usr/local/bin/brewblox-ctl", line 11, in <module>
  File "/usr/local/lib/python3.5/dist-packages/brewblox_ctl/__main__.py", line 81, in main
    raise SystemExit(1)
  File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 764, in __call__
    if args is None:
  File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 717, in main
  File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 1137, in invoke
    self.format_commands(ctx, formatter)
  File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 956, in invoke
  File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 555, in invoke
  File "/home/pi/brewblox/brewblox_ctl_lib/commands.py", line 66, in update
  File "/usr/local/lib/python3.5/dist-packages/brewblox_ctl/utils.py", line 130, in run_all
  File "/usr/local/lib/python3.5/dist-packages/brewblox_ctl/utils.py", line 130, in <listcomp>
  File "/usr/local/lib/python3.5/dist-packages/brewblox_ctl/utils.py", line 124, in run
    return machine().startswith('armv6')
  File "/usr/lib/python3.5/subprocess.py", line 271, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '/usr/bin/python3 -m brewblox_ctl migrate' returned non-zero exit status 1

Even brewblox-ctl log returns module 'brewblox_ctl.utils' has no attribute 'tag_prefix'.

It’s a hiccup caused by pulling updates from two sources.

Run rm -rf brewblox_ctl_lib, and then restart the update.

Thanks for the quick answer.

It worked like a charm.

Total reclaimed space: 3.379GB

Just a little feedback.

The firmware wasn’t compatible anymore, but updating it was quite easy through the UI.

I just got a little nervous with the update dialog: the FLASH button kept enabled during the update and after it finished. I think this type of update needs a little more safety (like a more clear indication that the update finished and I can close the update dialog).

The flash process is very robust, if not 100% reliable. (It either updates the firmware, or keeps the old version). You could close the UI immediately after clicking the button without changing the result.

That said: we indeed need to improve user feedback. When running it myself, I open the service logs in a console on the side. That’s not a good sign.

There’s always a balance in software, and we cheerily sacrificed disk space usage on the altar of convenient installs/updates.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.