I have just put a release candidate online for 0.5.0. It is not recommended to update while you're fermenting. Once this has had some real world testing and I have had feedback from the community that there are no bugs, we'll release it into stable/master.
The biggest new feature in this release is WiFi support. You can now setup WiFi on the Photon and change the port setting in the Python script to a TCP socket. Details on how to do this can be found here:
By the way, I have created a new wiki. This is the only article on it so far, but we'll expand it and make it the central place for user documentation and build guides. I hope this new wiki (dokuwiki) will make it easier for the community to help with improving the docs. Keeping our docs on GitHub and build by readthedocs seemed to be a too high barrier.
Unfortunately, WiFi support takes about 4k of code space, which we do not have left on the core. Therefor WiFi support is not included in the binary for the Spark core, only for the photon. If we free up space in the future, we will include it, but for this release it was not feasible.
Extra logging sensors
Another big update in this release is the removal of 'Room temp' and the mocked black character display in the UI. Instead, you now have 3 logging sensors that behave the same as room temp: just logging.
Now all temperatures are shown at the top, without annoying switching between displaying room and fridge temp:
It is not very pretty but functional. I'd be happy to take a PR to make it look better.
For the full release notes, take a look here:
How to update
Hopefully, trying the release candidate will be as easy as:
sudo python updater.py --ask
Then pick the 0.5.0 release on all 3 prompts.
Bye bye pi?
With the ability to use WiFi instead of USB, it's easier to use other hardware than the pi to run the server. I hope someone in the community can help us run BrewPi in a docker image. Maybe even on devices like a Synology NAS.
There is a lot of groundwork in this release to make objects in the firmware more flexible and configurable. I want to change how PIDs and devices work. Instead of assigning a device as 'fridge cooler', I'd like to remove any notion of fridge, beer or mode. You just get a bunch of PIDs and you can configure what the input and output is.
If you want to set it up similar to the current setup, you'll have:
- A PID with fridge temp as input and a cooler as output
- A PID with fridge temp as input and a heater as output
- A PID with beer temp as input and a fridge setpoint manipulator as output
But if you have a glycol setup with a central reservoir, 2 fermenters and a 2 glycol pumps, you might set it up as:
- A PID with glycol temp ans input and cooler as output
- A PID with beer 1 temp as input and pump1 as output
- A PID with beer 2 temp as input and pump2 temp as output.
To facilitate this change in how objects relate to each other, this release includes a new referencing system under the hood. Obviously, it also requires many changes to the UI.
Want to help?
If you want to help us build the new system, we can use help with:
- Firmware code in C++, for example building a new user interface on the device itself.
- The new web interface, built with Vue.js
If you're not sure where you can help, just send me a PM with what you're skills are and I'm sure we can find a nice little side project.
I'm also still looking for a full time developer to join our team. So if you want a job in writing beer brewing software and live near Eindhoven, please contact us.
I know the releases are not coming fast enough, but I'm doing everything I can. Unfortunately Geke, the awesome woman responsible for processing orders and shipping packages at BrewPi, fell down the stairs while sleepwalking and broke her neck 2 months ago (vertebra C2). She's recovering well and will be back in 1-2 months, as it looks now without any lasting complications. This however puts a heavier workload on me, since I'm covering for her absence myself.