News

New releases and other updates about OurBrewbot.

OurBrewbot v0.9.1 - small fixes from another code review

A small one this time. The code has had another review, and it turned up a handful of bugs. None of them are serious, and most only show up if something unusual happens - a typo in a setting, or the internet going down - but they were all worth fixing. There are no new features, and none of your settings are changed by the update.

Profiles

Sensor calibration

Brewfather and Brewer's Friend

Firmware uploads and settings

Other changes

If you use the API

Two requests that used to be accepted are now refused with an error:

Full list of changes · Release notes and download

OurBrewbot v0.9.0 - a brand new WebUI

The main change in this release is a brand new admin WebUI. The old one had grown a tab at a time since the early days, and it showed - it was cramped, it didn't really work on a phone, and it asked the controller for a lot more than it needed to. So it's been redesigned from scratch.

Everything you could do in the old WebUI is still there, the API is the same apart from one new check on Tilts and iSpindels (see the end of this post), and none of your settings are touched by the update. It's all built into the firmware as before, so there's nothing extra to upload.

A new layout

The admin page now opens on a Dashboard with a card for each fermenter, showing its readings, what it's doing and its temperature control, with the profile and batch details underneath. Everything else is grouped into a handful of sections:

Each section has its own address (eg /admin#profiles), so you can bookmark the one you use most, and the browser's back button works as you'd expect. On a phone the sections are in a menu, the forms are one column, and the buttons are big enough to tap. On a bigger screen the cards sit side by side. The other pages - firmware update, WiFi, reset, reboot and the RF and BLE sniffers - have had a tidy up too, so they fit on a phone.

Saving changes

Other new bits

Easier on the controller

The ESP8266 doesn't have a lot of memory to spare, so the new WebUI tries to ask less of it:

I've tested it on my own controller, on a PC and an Android phone, and with Safari's engine on a PC, but not yet on a real iPhone, so if something looks wrong on yours please let me know.

Home Assistant dashboard

The example Home Assistant dashboard (HomeAssistant/dashboard.yaml in the repo) has been reworked to use more of Home Assistant's own tile cards, with fewer custom ones. It still needs Mushroom, Plotly Graph Card and card-mod from HACS. OG and target SG are now shown to 3 decimal places next to the readings.

Also in this release

Full list of changes · Release notes and download

OurBrewbot v0.8.2 - live log viewer and phone layout fixes

A small one this time, with one new feature in the WebUI and a fix for the admin page on phones.

Live log viewer

There's now a Log bar at the bottom of the admin page. Click it and a drawer opens showing the controller's log as it happens, so you can see what it's doing without setting up a syslog server or an MQTT broker.

It's a live view, not a stored log. The controller only keeps a few seconds of lines in memory, so if your browser falls behind, or the page is hidden (eg your phone goes to sleep), some lines will be missed. When that happens the drawer says so, with a line like -- 25 lines missed --, rather than leaving a silent gap. It also marks where the controller has restarted. If you need a complete log, syslog is still the way to go.

Admin page on phones

The Profiles and Probes tabs were too wide for a phone screen, so most of each table was off to the side, and you had to scroll sideways to reach it. On a narrow screen each profile step and each probe is now shown as a small card of its own, with the fields stacked underneath each other. The step move and delete buttons are bigger, so they're easier to tap, and the step type info box now stays on the screen.

On a wider screen - a tablet, a computer, or most phones turned on their side - you'll get the usual tables as before.

Full list of changes · Release notes and download

OurBrewbot v0.8.1 - lots of small fixes from another code review

The biggest change is that the controller now writes far less to its flash memory. The rest are small bugs that only show up in unusual situations - a bad value typed in somewhere, a flash read that fails, or two things going wrong at once - but they were all worth fixing. There are no new features in this one.

Far fewer writes to the flash

Every 10 minutes the controller saves its settings, so that things like a running profile's progress survive a power cut. Until now, that rewrote every config file and its backup each time, around 2,880 file writes a day, even when nothing had changed. Flash memory only takes so many writes before it wears out, so that was a lot of wear for nothing.

It now only writes the files that have actually changed. Normally that's just one small file, plus the fermenter settings while a profile is running. Any copy found missing or damaged at start-up is saved again, and a file that fails to save is tried again 10 minutes later.

Temperature control and profiles

Settings

Installing over an original MyBrewbot

Firmware uploads

MQTT and Home Assistant

Security

Builds

Full list of changes · Release notes and download

OurBrewbot v0.8.0 - further MyBrewbot analysis

I've done some more analysis work on the original MyBrewbot firmware, module by module, comparing what it did with what OurBrewbot currently does. The biggest result is that an original MyBrewbot's settings are now properly carried across when you install OurBrewbot over it. There are also a few smaller fixes that came out of the comparison.

The docs page now has a Differences from the original firmware section, if you want to know what behaves differently from the original.

Installing over an original MyBrewbot

The original firmware keeps its settings in the same files as OurBrewbot, and they survive installing OurBrewbot as long as the flash isn't erased. Until now OurBrewbot read them as they were, but several of them mean something different in OurBrewbot, due to some assumptions I made when starting out. Eg, the fermenter power switch was the other way round, plug roles come from the slot they're in, Tilt colours are numbered differently, and so on - so the result wasn't quite right.

On its first start, OurBrewbot now converts them as follows:

The untouched original files are kept in the orig folder, and orig/conversion.txt lists every change that was made. You can read both in the file browser on the System Settings tab, which now shows files in folders too. Settings for Probe names, Plaato, MyBrewBuddy and monitor.beer aren't carried across.

Double reset clears the WiFi

As on the original, pressing the reset button twice, the second press within 10 seconds of the first, clears the saved WiFi and opens the OurBrewbot-XXXXXX setup hotspot.

Setup hotspot

Both are an improvement over the original firmware, which couldn't control the fermenters without WiFi for more than about 20 minutes, and not at all while its setup hotspot was open.

Smart plugs

Other smaller changes...

Full list of changes · Release notes and download

OurBrewbot v0.7.1 - setup hotspot crash fix and crash reports that wait for WiFi

A small release, prompted by a crash report from a controller that had started up while its WiFi was down. Thanks to everyone who has crash reporting switched on - this one would have been hard to find without it!

Setup hotspot crash

Since 0.6.4, a controller that can't reach its WiFi when it starts opens its OurBrewbot-XXXXXX setup hotspot, so new WiFi details can be entered. The controller crashed and restarted when that hotspot closed:

Each restart also starts the compressor delay again, so a long WiFi outage could hold off cooling for much of the time. This is now fixed.

A quicker setup hotspot

While the WiFi is down, the hotspot now opens after 1 minute instead of 5. It then stays up for 2 minutes at a time, taking turns with 1 minute of trying to reconnect, so the controller gets back onto your network sooner once it's working again. While a phone is connected to the hotspot it stays open for up to 5 minutes, so you aren't cut off while typing in the new WiFi details.

Crash reports wait for WiFi

Until now, a crash report was only held in memory. If the WiFi was down, or the controller restarted before the report was sent, it was lost - which is exactly what happens when a controller keeps crashing while it's offline.

Crash reports are now saved on the controller and sent once WiFi has been connected for about 2 minutes, oldest first. Up to 5 are kept; a newer one replaces the oldest. Switching Crash Reports off, or a factory reset, deletes any reports still waiting.

Full list of changes · Release notes and download

OurBrewbot v0.7.0 - fixes for long uptimes, safer config imports and a tidy-up

I've done an audit of the code and turned up a few bugs, mostly ones you'd only hit after weeks of uptime or in an unlucky moment, plus a fair bit of old code that wasn't doing anything.

One change to be aware of: /reboot and /reset now only work with a POST. If you have a script or bookmark that uses them, see below.

Temperature control

Controllers left running for weeks

The processor's millisecond counter goes back to zero every 49.7 days, and a few things were using it to measure long periods of time. After 49.7 days of uptime:

These now all use a clock that doesn't wrap.

Config import

/reboot and /reset now need a POST

A plain GET to /reboot or /reset?target=config, which is what a browser does when it opens a link, used to restart the controller or wipe all its settings. Link previews and browser prefetching can do that without anyone clicking anything.

Opening either address in a browser now just shows a page asking you to confirm. The WebUI buttons work as before. If you use these from a script, send a POST instead, for example curl -X POST http://<your controller>/reboot.

Everything else

Full list of changes · Release notes and download

OurBrewbot v0.6.4 - temperature control fixes

After 0.6.3 I went back through the control logic and found a fair few things that weren't quite right. None of them are new, but some could affect a brew, so I'd recommend updating.

Temperature control

iSpindels

Smart plugs

MQTT and Home Assistant

Everything else

Full list of changes · Release notes and download

OurBrewbot v0.6.3 - a crash fix, thanks to your crash reports

Thanks to users who have crash reporting enabled! A few reports have pointed me straight at a bug I've not seen on my own controller.

Full list of changes · Release notes and download

OurBrewbot v0.6.2 - text and MQTT topic tidy up

A quick follow-up to 0.6.1, tidying up how the controller stores text.

Full list of changes · Release notes and download

OurBrewbot v0.6.1 - WebUI fix for phones

A small one. If you left the WebUI open on your phone, switched to another app and came back later, the page could be left blank until you reloaded it. The phone puts the page to sleep in the background, and any request it was waiting on just never came back.

Full list of changes · Release notes and download

OurBrewbot v0.6.0 - fewer random reboots

This release is mostly about stability. Since May my own controller has been rebooting on its own every week or two, always with a crash somewhere in the network code. It took a few weeks of debug builds to pin down, but I've found at least one of the causes.

If you've had the odd unexplained reboot, this one's worth installing.

Full list of changes · Release notes and download

OurBrewbot v0.5.0 - update checks, crash reports and a new website

This is the first release since 0.4.10, so it rolls up everything from 0.4.11 to 0.5.0. It also goes out alongside this new website.

New

Both can be switched off - see Contacting ourbrewbot.com in the README.

mDNS rewritten

Everything else

Full list of changes · Release notes and download