Tue, 31 Aug 2021 20:48:37 +0200
Split batch, adjust mash step volume. In the duplicated log_brew handle the missing values. In save product, round the mash step sg to 4 decimals. In prod_edit, ingredients are stored as strings, not arrays. This triggered a memory corruption that only happened in rare circumstances. Don't fix mash step fields in the javascript, it is already done during load from the database. Calculation of the mash volume is rounded to 6 decimals. Enter mash step Brix/Plato value, the SG result is rounded to 4 decimals.
<!-- vim:syntax=docbksgml --> <chapter id="design"> <title>Architectuur.</title> <para> Het Brouwerij Management Systeem, afgekort <command>bms</command>, is een applicatie server die luistert naar MQTT berichten in de <command>mbv1.0</command> basis van het topic. Zie de <ulink url="https://en.wikipedia.org/wiki/MQTT">MQTT wiki</ulink> voor meer informatie over het MQTT protocol. </para> <para> Als bron dienen onder andere vergistings controllers. Deze sturen MQTT berichten naar de MQTT server. Deze berichten komen dan in het bms systeem terecht die ze verwerkt. De controllers hoeven niet eerst bekend gemaakt te worden, het protocol is zo ontworpen dan controllers zichzelf aankondigen en opgenomen worden in de brouwerij. Dit gebeurt door het sturen van 'node' berichten. Ongeacht de functie van een controller, iedere controller stuurt 'node' berichten. Verder stuurt een vergisting controller een of meer gistkasten. Voer iedere kast worden er 'device' berichten gestuurd. </para> <figure><title>BMS architectuur,</title> <mediaobject id="bms-flow-config"> <imageobject> <imagedata fileref="bms-flow.png" scale="80" format="png"> </imageobject> </mediaobject> </figure> <para> Vanuit de bms applicatie kunnen er via de MQTT server ook commando's naar de controllers worden gestuurd. Van een vergisting kast kan bijvoorbeeld de temperatuur ingesteld worden, of kan de controller aan of uit gezet worden. </para> </chapter>