Austauschformate für Bierrezepte
Als ich das Rezept für mein kürzlich gebrautes IPA aufschrieb, machte ich mir Gedanken darüber, ob ich die Rezeptur auch in einem maschinenlesbaren Format veröffentlichen sollte. Ich betrieb also eine kurze Recherche, welche Tools und Formate für diesen Zweck existieren.
BeerXML
In meinen Bookmarks fand ich zunächst das XML-basierte BeerXML, laut Wikipedia
a free, fully defined XML data description standard designed for the exchange of beer brewing recipes and other brewing data.
BeerXML existiert bereits seit 2005 und ist wohl der De-facto-Standard für den Austausch von Braurezepten. Es wird von vielen Programmen und von Bibliotheken in diversen Programmiersprachen unterstützt. In PHP lässt sich BeerXML beispielsweise mit php-beerxml parsen und generieren.
Brauen kann je nach Experimentierfreudigkeit des Brauers ein sehr komplexer Prozess sein, und BeerXML versucht offenbar, möglichst viele und auch ungewöhnliche Zutaten und Vorgänge abzubilden - und ist daher auch selbst komplex. Dennoch werden gewisse Beschränkungen des Standards diskutiert, und es wurde mit der Arbeit an einer Version 2.0 von BeerXML begonnen. Über den aktuellen Entwicklungsstand des Nachfolgers konnte ich nichts herausfinden.
Mich stört an BeerXML, dass es teilweise zu restriktiv ist. Möchte ich das benutzte Wasser zum Rezept hinzufügen, muss ich etwa den Magnesiumgehalt in mmol/l kennen. Die Trinkwasseranalyse listet den Wert allerdings in mg/l auf. Klar, ich kann das umrechnen, aber umständlich ist es schon. Wie man mehrfache Hopfengaben zu unterschiedlichen Kochzeitpunkten darstellt, konnte ich noch nicht herausfinden.
Aufgrund der Komplexität von BeerXML wäre es schön gewesen, ein XML Schema zu haben, gegen das man ein selbst erstelltes BeerXML-Dokument hätte validieren können, aber eine .xsd
habe ich auf der offiziellen Webseite nicht gefunden. Abhilfe schafft das Beerxml-standard-Projekt, das XML Schemata und Beispiele bereitstellt - aber auch diesen wenig ermutigenden Satz:
the authoritative source (beerxml.com) is no longer active and appears to be abandoned. In an effort to resurect(sic!) the project, I have created this git repository.
Wie dem auch sei, viele Programme unterstützen BeerXML, allen voran das kommerzielle BeerSmith und diverse mobile Apps (z.B. für Android), die beim Brauen unterstützend zur Seite stehen. Im Open Source-Bereich kann etwa Brewtarget Rezepte verwalten und BeerXML importieren und exportieren.
Beer.json
Es scheint beinahe unausweichlich, dass als Alternative zu BeerXML ein Datenaustauschformat auf Basis von JSON zu definieren versucht wird.
There is only one standard way of saving a beer recipe, and it is not the prettiest thing in the world. Lots of angular brackets and such
schreibt der Autor von Beer.json, das aber seit zwei Jahren keinen Commit mehr erfahren hat. Auch die Webseite beerjson.com hilft nicht wirklich weiter. Das zugehörige Repository ist zwar erst wenige Monate alt, aber enthält nur zwei Beispieldateien.
Interessanter sind da die Projekte, die rund um die Hausbrauer-Community Malt.io entstanden sind, etwa die JS-Bibliothek Brauhaus.js. Diese werden offenbar hauptsächlich von einem einzigen Entwickler vorangetrieben, was eher gegen ihren Einsatz spricht. Einen Blick sind sie aber allemal wert, zumal die Konvertierung vom angloamerikanischen Maßsystem ins metrische unterstützt wird.
Und nun?
Um zum Ende zu kommen: Der einzig gangbare Weg scheint momentan BeerXML zu sein. Für mich als Einsteiger ist das Format einerseits zu komplex, andererseits auch zu limitiert. Das gleiche gilt übrigens für die Programme zur Verwaltung von Braurezepten, die ich mir bisher angesehen habe. Großer Funktionsumfang schön und gut, aber eine gewisse Bedienbarkeit sollte schon gegeben sein.
Sinnvoll sind die meisten Programme wahrscheinlich nur, wenn Rezepte (via BeerXML) aus dem Netz importiert und nachgebraut werden sollen. Denn in der Regel lässt sich ein Brauplan (mit Schritt-für-Schritt-Anleitung) generieren und ausdrucken, oder mobile Apps glänzen mit eingebauten Timer-Funktionalitäten und klaren Anweisungen.
Wie handhabt ihr das beim Bierbrauen? Welche Methoden helfen euch, beim Brauen den Überblick zu behalten? Nutzt ihr Software für eure Rezepte oder am Brautag selbst?
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
Frank am :
Du hast schon vor drei Jahren (als ich noch lange kein Hobbybrauer war) wohl dieselben enttäuschenden Erfahrungen gemacht, wie ich in den vergangenen Monaten.
Falls Dir das Thema immer noch am Herzen liegt und Du magst, können wir uns ja mal austauschen. Dann schreibe ich gerne mehr. Jetzt nur soviel: Mir als Grainfather-Nutzer geht es um Uploads zu brew.grainfather.com, um Verarbeitung der Dateien von BeerSmith3 und der SQLite3-DB des Kleinen Brauhelfer und ein Plugin für meine WordPress Seite (siehe URL). Ich hab schon einiges gebastelt, will das aber irgendwie mehr "harmonisieren".
Rob am :
Ich bin gerade dabei, mir selber eine Brauanlage zu bauen. Momentan bin ich mit der Serveranwendung dran. Ich will damit Rezepte anlegen und später auch importieren können, die dann von der Anlage "runtergebraut" werden. BeerXML ist tatsächlich ziemlich abstoßend, muss ich sagen. Entscheidend sind für mich in erster Linie die Raststufen beim Maischen, damit meine PID-Regelung den Einkocher entsprechend steuert. Langfristig wäre da eine komplette Umsetzung a la Brewfather natürlich super, wo man dann auch alle möglichen Werte mit durchrechnen kann. Ich werde jetzt aber erstmal klein anfangen und mir entsprechende Datenmodelle bauen, die ich bei Bedarf erweitern kann. Manchmal ist es ja sogar sinnvoll, das Rad neu zu erfinden.
Matthias Gutjahr am :
Ein Vorteil von BeerXML ist, dass es von vielen Projekten unterstützt wird, z.B. bei Setup, die den Raspberry Pi zum Steuern verwenden, etwa CraftBeerPi https://web.craftbeerpi.com/