Brewblox assistence


Spark service page -> spark widget -> settings modal -> units


Hi, I have just moved over to the BrewBlox update onto my Spark V2. All seemed to go quite smoothly following the tutorial. I have just about sorted installing all the blocks necessary for my fermentation chamber (fridge with heater)
I have a couple of queries regarding the settings for some of the blocks,
Actuator offset - should I install a preset?, there is only one option available being HLT.
Cool/Heat PWM - should I specify a constraint ?
Fridge offset - should I choose an offset from setting or current value?

For the short period I have had it running it seems to work but I guess it needs some tuning from the defaults. I have found that despite a 30min delay on the mutex it has jumped straight from a period of cooling to heating? I have not yet been able to reach my beer set point, not cooling for long enough before it wants to heat. Will the above queries resolve this?



For the standard fridge configuration, the guide on the forum is superseded by the arrangement wizard (settings menu, wizardry). This sets sensible default settings you can then tweak.


Thanks, I did use the wizard. So no need to specify anything further? Still bemused why heating is jumping in straight after a period of cooling, despite the delay set and the beer set point not reached.


Usually there is no need for further configuration.

On the Spark page, there’s a button to show block relations. You could check this to verify it everything is linked as it should be.

Your fridge setpoint seems to be fluctuating wildly. Which value is this exactly?

I can’t directly explain why your mutex ignored the actuator wait time twice. If you want, you can upload your block settings by running the following command on your raspberry:
curl -sK https://localhost/spark-one/objects | | nc 9999

BrewBlox Installed flawlessly..but!

Hi, the block relations seem to be ok?

Screen Shot 2019-03-06 at 8.11.52 AM

I let it run overnight but unplugged the heater (small hair dryer) and the beer has reached it’s set point. But as you can see there is another period of heating directly after cooling. I guess the heating period is longer as there is no heat to raise the temp.
I’m not sure how to view the entire time period, when the graph is scrolled it is blank beyond that time period.

Screen Shot 2019-03-06 at 8.10.30 AM

Screen Shot 2019-03-06 at 8.21.15 AM

That period of heating seems to coincide with me viewing the webpage, I had to reload the page as there was no connection to the spark. On viewing the spark one info “block” it says the time since boot was only a matter of minutes (it has been running now for over 24 hrs) that time seems to coincide with me refreshing the page??

41%20AM Screen Shot 2019-03-06 at 8.09.41 AM

Sorry but I couldn’t get that line of code to do anything.




I think Bob has two | characters by mistake.
Blocks look okay.

Did you upgrade to the latest version with brewblox-ctl? The graph might be an issue we fixed a week ago.


Hi Elco,

I installed it on the 3rd March,

version: ‘3’


image: brewblox/brewblox-mdns:rpi-${BREWBLOX_RELEASE:-stable}
network_mode: host
restart: unless-stopped
command: >

I assume I need to run an update?

Still no joy with the code, it but it now returns the error - curl: no URL specified.



Anyone having display issues on iOS? Widgets are cutoff. Looks fine on my desktop but not on my iPad.


I’m working on a fix for the clipping issue on mobile devices, but we don’t officially support mobile yet.

We try not to break it, and design the UI to be viable for mobile, but our main priority is to get the desktop version working well first.

Edit: the fix for mobile display is merged, and will be released either later this week, or begin next week.


It appears I wasn’t overly sharp yesterday, and made two typos in the command. The correct one should be:

curl -Sk https://localhost/spark-one/objects | nc 9999


How close are we to something that can be used for automated brewing? Wizard?


Thanks, tried and it gave this…

pi@raspberrypi:~/brewblox $ curl -Sk https://localhost/spark-one/objects | nc 9999
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7322 100 7322 0 0 6361 0 0:00:01 0:00:01 --:–:-- 6366

I did an update as per brewblox-ctl.
It returned an error,
Running command:

docker-compose pull

Pulling eventbus … done

Pulling traefik … done

Pulling mdns … done

Pulling influx … done

Pulling history … error

Pulling datastore … done

Pulling spark-one … done

Pulling ui … done

ERROR: for history Get Get net/http: TLS handshake timeout

ERROR: Get Get net/http: TLS handshake timeout

Error: Command ‘docker-compose pull’ returned non-zero exit status 1

pi@raspberrypi : ~/brewblox $

I have let it run again overnight and it appears to be ok,

Screen Shot 2019-03-07 at 8.58.26 AM
The only issues, when I first refresh the page and view the service block it seems it has rebooted again and the graph only shows the last 4hrs.
45%20AM Screen Shot 2019-03-07 at 8.42.45 AM




Not a priority item but noticed the temps on the spark still show as °C even though I have everything set to °F.


@Trig that error looks like a temporary bad connection to the docker image host.

If you’re consistently only seeing 4h in graphs, you should retry updating - 4h graphs is a bug we fixed recently in the image that gave an error.

@uk_brewer that’s correct: fahrenheit on the controller display is still on the backlog (other unit conversions are done outside firmware)


Hi Kenneth,

The ‘standard fridge setup’ is already in the wizards (wizard Arrangements)

Here is the HERMS setup in blocks: (At this point you have to do it manually)

The ‘group’ setting in the MT setpoint driver is emptied. That makes the block inactive.
Now the HLT setpoint and the BK setpoint can be used.

When you want to use the driven HLT temperature (that is what you do with HERMS: :slight_smile:
you should put ‘group1’ the ‘Active in Groups’ field. Now you can use the MT setpoint.
Then the Block Relations looks like this:

Whith the ‘Balancer’ and ‘Mutex’ active you can use the heating elements in both the HLT en BK, at the same time.



Wow thank you DouBrew, this will help me alot. I have plenty power for both 8.5k heaters on at the same time, do I just delete those then?


Well, what the mutex does, is switching the power constantly between the HLT element and the BK element. The balancer will give the ‘power time’ to the element which needs it the most.

So on your control panel, you can switch your BK and HLT element both on.

In this way, you can heat your strike water in the BK.

Be careful not to run your elements dry.! (a floating switch in the kettle will prevent this)


Don’t think this explanation is quite right.

The mutex makes sure only one of the actuators is turned on at a time. When one is on, it holds the other off. Once the first turns off, the second can then turn on. And visa-versa. This means if the actuator that is on and blocking the other is set to be on 100% of the time, the other will never get to turn on at all. This is configured by setting the mutex as a constraint on the actuators.

The balancer is there to make sure multiple PWMs get time on proportional to what they’re asking for such that the total time on of all the PWMs in the balancer adds up to 100%. e.g. if two actuators ask for 100%, they’ll both get allocated 50%. This is set as a constraint on the PWMs.

So the balancer will allocate the proportion of the time each actuator will get on and then the mutex will make sure that time on doesn’t overlap to avoid too much power draw at any one time. Your first element will be on for 50% of the time period and will block the second. Once it turns off after that 50%, the other will turn on for 50% and block the first.

If you are happy you can draw full power all the time, just don’t include the mutex & balancer in your HERMs setup at all.


That is the in-depth explanation, thanks!