Development Update?


#1

Hey @Elco. It’s been a while since we’ve had any update on how development is going for the complete architecture redesign. You used to give regular updates but I haven’t seen one for a while. Are you able to tell us a bit that’s been happening over the last few months?

Did you ever employ a new Developer to help you out?

I’m particularly interested in a better interface for managing brew day (ie easy switching between mash control and boil control). I realise this isn’t the highest priority though.


#2

Hi Dan,

I don’t have time right now to write a big elaborate blog post, so here’s a quick update

  • I managed to hire a full time developer named Bob, who is working full time on the new stack and making great progress (github.com/brewblox). He’s done his internship at BrewPi for the past 5 months and started on a contract since July. He’s working mainly on the service layer: microservices, controller communication, data logging, rest api.
  • I have also hired a freelance front end developer (Gaya) to work on the Vue frontend for 2 days a week, for the past 5 months.
  • I’m tackling the firmware changes myself.

This has resulted in a lot of progress! The state of things now:

  • The service layer has been rewritten as microservices running in their own docker container, this is an entirely new stack. The services can be queried via REST and there’s an event bus for inter-service communication. We’re making it easy to integrate third party services and hardware too.
  • The UI is being developed as a Vue/Quasar (with Typescript!) dashboard which the user can fully customize by adding blocks. These are a live representation of the hardware and fully customizable charts. Currently Gaya is working on porting the interactive process view from this React prototype (https://brewpi-ui-demo.herokuapp.com/processview/herms-automated-valves). The basics for charts and simple hardware representation blocks are done.
  • The firmware is being rewritten to also be a flexible set of blocks (PIDs, sensors, actuators) that the user can create and link together in any way he pleases.

We’re currently integrating the layers and refactoring where needed for that.

Due to the work on the new stack, the old stack has not seen many updates. It’s not backwards compatible.

We’re trying to have a first alpha version out in September. It’s taking a long time, but then you’re getting everything at once. Multiple processes, customizable charts, mashing layout, etc.


#3

Thanks @Elco. Appreciate the update. Glad to hear you’re making some good progress and looking forward to the alpha release in a few months. I realize it’s a bit task you’re aiming for.


#4

Good news. With the third party integration are you also allowing for third party software to grab the data from the BrewPi? Specifically I was thinking about the new Brewfather software, being software that already has integration with Tilt/iSpindle hydrometers and BrewPiless, it seems to be really helpful to see all the data in one place for an ongoing brew and as it is cloud based and passive less prone to security issues.


#5

Yes, all services have a rest interface. But writing a new container to integrate the Tilt into our system is probably less work than the other way around.


#6

I’m very much looking forward to this - I am finally getting my control box done this weekend (is the plan). I got my shelf with all the valves and pumps built. Get the hoses all measured and hooked up today. I just need to do my volume measurement markings in the kettles. :grinning: Then I will submit some pictures and stuff for the group when its all setup.


#7

Is a September release a pretty sure thing or should I be looking at a second Spark for a second fermenter?