Relevant links:
- User guides: https://www.brewblox.com/
- Discord server: https://discord.gg/WaFYD2jaaT
- Previous release notes: https://www.brewblox.com/user/release_notes.html
- Project board: https://github.com/orgs/Brewblox/projects/1
- Code repositories: https://github.com/Brewblox
Brewblox release 2023/04/17
firmware release date: 2023/04/14
History bug fixed
For some time, graphs suffered from a bug in the history database where it would sometimes fail to return any data for some fields.
This problem has now been fixed in the database.
Because the bug caused an incorrect cached index to be generated, the problem may persist for a few hours until a new index is generated.
If you wish to immediately re-generate the index, run:
brewblox-ctl down
sudo mv ./victoria/indexdb ./victoria/indexdb_bak
brewblox-ctl up
Wait for the system to start, and check whether graphs work again.
Then remove the old index with:
sudo rm -rf ./victoria/indexdb_bak
GitHub Container Registry
Mid-march, Docker announced they would drop support for free team accounts on Docker Hub.
Any teams that did not upgrade to a paid account would have their data deleted.
We migrated our images to the GitHub Container Registry.
The image names remain the same, but will be prefixed with ghcr.io/
.
brewblox-ctl update
will automatically adjust the image names for default tags.
Docker Compose
brewblox-ctl
uses Docker Compose to manage and start Docker containers.
Docker Compose v1 (docker-compose
) is a Python application we install in the Brewblox directory.
Docker Compose v2 (docker compose
) no longer uses Python, and is installed as a plugin for Docker itself.
If you have a Pi or other Debian / Ubuntu system, this change happens automatically during your next update.
If you’re using a non-Debian OS such as Synology, you may need to manually install the Compose v2 plugin: https://docs.docker.com/compose/install/linux/.
MQTTS Connections
To improve support for remote devices, Brewblox now listens on a password-protected MQTTS (MQTT + TLS) port.
The default is 8883
. To change it, set the BREWBLOX_PORT_MQTTS
variable in the .env file.
As a beta implementation, we have added support for MQTT Spark connections.
Here, the Spark connects to the MQTTS port, and the service and controller exchange messages over MQTT.
This way, you can safely connect remote Sparks to a central system, with only the secure MQTTS port exposed to the internet.
Changes
- (feature) Added periodic time synchronization to the Spark service, as backup to NTP.
- (feature) Added beta support for MQTT Spark connections.
- (feature) The eventbus now also listens on a TLS+password protected port.
- The default is
8883
. To change it, set theBREWBLOX_PORT_MQTTS
variable in the .env file.
- The default is
- (feature) Added sidebar button and query arg (
?kiosk
) to activate UI kiosk mode. - (feature) The Spark System Info block now shows RAM diagnostics.
- (feature) The Spark System Info block now reports measured voltage for both 5V and external.
- (feature)
brewblox-ctl
now uses system-wide Compose v2, instead of locally installeddocker-compose
. - (feature) Switched from Docker Hub to the Github Container Registry as Docker image host.
- (feature) Added the
WAIT_DIGITAL_EQUALS
Sequence instruction. This waits until a Digital Actuator state equals a given state. - (feature) Updated default CI file in brewblox/brewblox-boilerplate to use GitHub Actions.
- (improve) Reduced the update interval when waiting for a Sequence instruction condition from 1s to 10ms.
- (docs) Updated Spark service documentation.
- (fix) Updated to Victoria Metrics 1.88, which includes a fix for the bug where history data would be missing on fetch.
- (fix) The Graph display part in the Builder now re-renders when its size is changed.
- (fix) The Metrics display part border can be toggled again.
Edit (2023/04/24): fixed .env variable name. MQTTS_PORT → BREWBLOX_PORT_MQTTS