Reset starter values when saving a product without a starter. The yeast calculator only calculates a starter when enabled. Calculate the cells/ml/plato field. Disable starter buttons when the product brewday is over.

Add bug remark

Added some info yo the about screen. Added calculating beer color using the method documented by Dirk Naudt. This looks like originated from a European Brewing Convention in 1948.

Added color method written by Hans Halberstadt.

Fixed spelling error and Capitals

Version 0.3.1

Allow screen scaling

Updated jqwidgets to version 7.2.0

Version 0.3.0 start development.

Version 0.2.0 merged again. stable

Version 0.2.0 merged with default. stable

Documentation updates.

Added new chapters.

Added new chapters.

Moved some stuff to the real documentation.

Update the Makefile.

Lot's of improvements for recipes and products database load and save. Insert missing yeast tolerance field for old products and recipes. Recipe locked and calc_acid fields coverted to integer. In recipe edit screen removed the Print button. It is now included in the export screen. Added recipe export to forum screen.

Added flags for each ingredient group for the supplies state. On the main screen show the state of the supplies if the product stage is not yet packaged. Calculate the state of the supplies for fermentables, hops, yeasts and miscs. In the grids don't show the inventory values after they are used and reduced. On the fermentables tab show the weight of the grains to mash.

One more decimal digit for misc ingredients. Updated the README.

Reduce inventory is now done in a cron job at moments when there are ingredients used. So the inventory should be uptodate at all times.

Version 0.1.3 development.

Better log messages in crontasks.php

Merged default 0.1.2 stable

Version 0.1.2 Calculate mash thickness.

Merged with stable

Added mash thickness calculation. Backported some water calculations from the product editor. stable

Updated sparge water acid calculation using the latest revision of A.J. deLange pdf document. Tis gives a slightly higher result for the amount of acid to add. The source table data for Lactic is updated, so mash pH is a bit higher too which is better.

Improved BUGU descriptions.

Finished bitterness and cl/so4 ratio calculations and design aids. Translated water error messages. Fixed recipes menu width.

Inverted door open led

Added icons to the monitor menus

First pass to add icons to the menus.

Backport hop calculations from product editor.

Fixed hop aroma calculation for dryhop additions

Added product forum export and changed the export menu.

Fixed mash step name field editing.

Round days for brews that overlap summer/wintertime changes.

Fixed color and IBU method display in recipe and product print pages.

Added command to turn lights on in monitor fermenter when a camera is started. Added the missing tolerance field when selecting a new yeast in a product or recipe.

Fix clearing water 2 volume during product load.

Fix clearing water 2 volume during product load.

Added webcam_url and webcam_light fields to the mon_fermenters database table. Currently these fields need to be set using phpMyAdmin or another tool. If the webcam_url field is set, then on the mon_fermenter webpage a button is added to show a webcam page.

Fix for adding mash steps.

Display alcohol tolerance in the yeast editor. Display in red when the recipe estimate is higher then the yeast tolerance.

Warn if a fermentabe ingredient is used above the maximum in batch percentage.

Corrected mature days count.

Extra check for invalid fg

The abvol calculation uses the formule by Hans Halberstadt.

Reverted the abv formula.

Allow to select beer that is in carbonation stage

Update some documentation. Thermometer gauges animate easing

Fix for ugly fermentables in stock notation below 1 kg. Don't show days for in production list on the package day.

Don't complain when trying to reduce tapwater inventory.

The fermentation input values were too soon disabled.

The products in production list now shows carbonation and mature period. Also the planned brewdate.

Fix style image

Fix checklist where there is more than one mash infusion step.

Can switch between Wait and Brewday states. Only display valid mash efficiency results.

Better handling of efficience and est_og changes.

See if we can solve the sometimes not saved data.

Disable taste entries only after the product is locked.

Added yeast duplicate button

Added alcohol tolerance field in the yeasts database.

Added xml import for fermentables, hops, miscs, yeasts and styles. Fixed update IBU calculation in the editor hop popups.

Added xml import for fermentables, hops, miscs, yeasts and styles. Fixed update IBU calculation in the editor hop popups.

Small color adjustment

Added beerxml recipe import.

Some extra firstcap keywords

Added beerxml recipe import.

Made text input fields opacity a bit lighter. Enable/disable yeast and taste tab fields according to the project stage. Activate the locked checkbox so the project can be closed.

Fix escape single quotes

Fix for recipe to product mash and water.

Added recipe export menu.

Added product export screen with choices to export to beerxml, duplicate product or copy to recipe. Products in wait state can now be deleted.

Renamed xxx_export.php scripts to xxx_beerxml.php

Accept yeast temperature limits from thermferm via MQTT. Send yeat temperature ranges to thermferm together with the beer parameters. Store yeast temperature limits in the mon_fermenters database table. The monitor fermenters screen adjusts the temperature color ranges.

Accept yeast temperature limits from thermferm via MQTT. Send yeat temperature ranges to thermferm together with the beer parameters. Store yeast temperature limits in the mon_fermenters database table. The monitor fermenters screen adjusts the temperature color ranges.

Added import brew json logfiles

Added import brew json logfiles

Updated design document. Add content header application/json to all scripts that produce json output. Chart prints show the beer code and name in the header. Charts don't display the menu anymore.

Forgot one file in the install list

Updated crontask to check for fermentation logs and update the products. Added initial brew log graph.

Show yeast starter on printed page

Added archive view on date and code.

Added view archives by name

Added view archives by name

Added the use and calculation of wet hops. Assume 5.5 times more hops needed by weight.

Hop dropdown lists also show the hop form

Fixed waters cost editor.

Version 0.1.0. Removed localization because it was messy, parts were localized and others not. In production and recipes ingredients not in stock are marked in red.

Fixed save empty dates

Hops can be cloned to allow new crop, or different forms.

The product and recipe editors disable the top menu so the user is forced to exit using the buttons on the first tab.

ABV calculation uses Daniels method. sg_to_plato and plato_to_sg functions use brewersfriend calculation. Added sg_to_brix and brix_to_sg functions. Make brewdate tab read only when the primary fermentation is ready. Brix aid input functions for primary end sg and final sg fields. Added tooltips on the fermentation tab. Changes in the layout of the fermentation tab.

Update primary svg when entering the end primary sg.

Fixed initial display of the yeast propagation window

Added yeast starter instructions to the printed checklist

Initial design of a yeast starter calculator based on the Braukaiser model. Changed the yeast inventory prompts to the correct Dutch amounts. The pitchrate calculator makes a difference between light and heavy beers, turning point is a SG 1.060. Some code is from Homebrew Dad's calculator.

Added a remark

Product print added yeast section.

Better fg estimation in product print.

Added prod_reduce.php to the Makefile. Inventory fermentables uses 3 decimals in stead of 1.

Set recipe edit values readonly when the brewday is over. Add the inventory reduce script and update the checkbox. Active after packaging.

Product beerxml export filename includes beer code.

Save data before printing or export to beerxml

Code cleanup

Code cleanup

Updated design document.

Allow the same hops and yeasts to be added multiple times.

Fix yeast cost during import.

Fixed yeast amount editing using spinbuttons.

Adjust water volumes if mash infusion amount is changed.

Adjust water, hops, yeasts and miscs when the batch size or equipment changes.

Swapped icons

Backport changes from prod_edit in rec_edit

Disable some debug console log messages.

Ignore mash steps above 75 degrees for estimate_fg calculation. If multiple yeasts for primary fermentation, ise the highest attenuation because that yeast usually wins.

Fixed estimate_fg formula. Estimate neede sparge water displayed on the brewday tab. Moved calcSVG, calcFG and calcABV functions into calcFermentables. Calc FG now uses mash data if available. Show estimated fg on the fermentation tab. Cosmetic changes on the brewday tab.

Version 0.0.6. Added a crontask that adjusts the stage of packaged beer depending on the days passed packaging

Progress bars have color ranges. More var definitions for input fields.

Added IBU calculation in the fermenter on the brewday tab. More auto IBU updates.

Rework the volume to the fermenter and things that depend on that. New layout on the brewday tab. The calculation model is simpler then the brouwhulp version.

Fix for import with CBC-1 yeast

Make sure all boolean values are saved correctly in the database.

Adjusted the monitor fermentation spinner behaviour.

Don't overwrite the inventories water, equipment and profiles water, styles and mash.

Fix permissions in the web directories.

Version 0.0.5. Updated design document. More or less in production.

The checklist now shows the pre-boil gravity.

Tab brouwdag automatische berekening rendement voor en na het koken. Bij import worden de kook volumes omgerekend naar 100 graden.

Fixed the mousewheel, spinner buttons to use the full min/max ranges. The 1.002 SG block to be precise.

Added brewday pre calculated boil values.

In stage Plan the brewdate data is saved, but not the brewdate itself. Added kettle_cm() function. Fixed serveral kettle heights when creating a new product. Print product prints a almost complete checklist in stages plan and brew.

Product export to beerxml produces a clean recipe. No brewing information added.

Added soe extra debug logging in db_product.php. Automatic stage increment in the product editor. On the brewday tab added tooltips.

Depending on the product stage, more or less fields are saved in the database. Added begin of auto stage increase. Added missing inventory columns in the fermentables grid. New product wizzard now works with the indexed values. Product print works with indexed values and prepared for different print modules depending on the product stage.

Updated readme

Adjusted product save into the database.

Added calcStage function that will be used to increase the brew process stage.

First run to rebuild the prod_edit module to the indexed data types.

Recipes in progress loading uses indexes. Recipe from database has added inventory information for the ingredients.

Import products uses indexes.

In recipe report added the date and beer style to the page header.

When adding yeast the flocculation and cells fields were not added. Possible fix for double water agents in the miscs grid. Better efforts to set the initial water infuse amount. The new recipe wizzard now uses indexed fields. In recipe print fixed the yeast amount and cost.

Recipe print and export afjusted to use array indexes.

Finished the water treatment in the recipes editor. It seems that the recipes editor is ready.

Reset infuse amount if not an infusion step

The mash grid now uses a popup editor. There is now a dropdown mash selector to replace the mash scheme.

Recalculate FG, SVG and ABV when changing the primary yeast.

The recipes yeast grid now uses a popup editor.

The miscs grid rebuild to use a popup editor for the rows.

In hop grid friendly show duration. Finished hops popup editor. Made the IBU display readonly.

Fixed spelling area in all programs for caryophyllene. This is still wrong in brouwhulp, we correct it during database import. Also mycrene was spelled myrcene, my fault. The hops grid now uses a popup editor, this is not yet complete. Friendly weight display in the hop grid and added the inventory comlumn.

All recipe data now has inventory information added.

Added two missing fields in getfermentablesources.php. When getting a single recipe from the database, update the fermentables json data with available inventory and ingredient. Added inventory column in the fermentable grid. Added ingredient selection in the fermentable popup window to replace ingredient.

Recipes import uses indexes instead of strings. Started rebuilding the recipes editor using indexes and standard formats. Rebuild the fermentable editor from grid editing to popup editing. Most calculations are using indexes for dropdown values.

Fixed removed useat fiels

Global setup switched to dropdown indexes.

Profile style is using indexes. Profile styles and fermentation switched to POST. Standard edit screens.

Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.

Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.

Prep debug logs

First step to make profile mash work with indexes and make the edit screen universal.

Water profile uses POST instead of GET. Added tooltips to the editor screen. Updated the editor screen. Total alkalinity and Bicarbonate update each other. More and smaller columns in the listing screen. Rearranged the editor screen.

Water profile uses POST instead of GET. Added tooltips to the editor screen. Updated the editor screen. Total alkalinity and Bicarbonate update each other. More and smaller columns in the listing screen. Rearranged the editor screen.

Updated design document

Import set tun_material from the specifix heat value. Equipment database uses POST instead of GET. Equipment editor screen in style with other inventory screens. In stock print now uses the type indexes to translate to text. Also show the correct unit and values of the yeast.

Adjusted inventory suppliers screens to match the other screens.

Finished data arrays for dropdown menus.

Friendly stock inventory display.

Inventory waters: use POST instead of GET. Redesigned web editor page. Total Alkalinity and Bicarbonate update eachother with calculated values.

Miscs inventory disable filter menu on some fields. Friendy display of stock inventory.

Hops inventory disable filter menu on some fields. Friendy display of stock inventory.

Yeast import Imperial Yeast packs are 200 billion cells/pack. Inventory fermentables the origin country column first. Disable filter menu on some fields. Friendy display of stock inventory.

Fixed yeast database import differences between grams, ml and packs. Added cells field filled with defaults. Some edit screen improvements. Dynamic prompts depending on the yeast type. Disable men and filter of most columns in the yeasts list. Friendlier display of inverntory.

Miscs from bool to ints. Miscs database uses POST instead of GET. Dropdowns are unsing indexes. Dynamic edit screen adjust for weight and liter. Edit screen redesigned. Friendly show duration of ingredients.

Added total cost values to the fermenter and hop editor screens.

Switches yeasts inventory to indexed names and translations. Database save is using POST instead of GET. Redesigned the web page. Added total cost display which updates on inventory changes.

Failed attempt to get the filterbox right. Saved as a reference.

Hops database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Removed the useat field. Redesigned the web page. Code cleanup.

Fermentables database bool to int types. Dropdown lists are using tables with indexes. Dropdown lists display in Dutch. Save and delete in the database now use POST instead of GET. Added the added and dissolved_protein fields. Removed the ibu_gal_per_lb field. Redesigned the web page. Code cleanup.

Added design notes for the csv log format from fermenters. In bmsd configuration added the web_root entry. Switched fermenter DLOG messages to store the log in flat csv files instead of the database. This is much faster and the graphs look better.

Cosmetic changes.

Implemented beer uuid product in monitor fermenters.

Version 0.0.4. Added confirm popup window to abort a running profile. Translated the toggle buttons.

Changed buttons colors.

In bmsd added missing json percent. The Makefile didn't install the fpdf library. Added profile commands. Small changes to the monitor fermenters screen. The monitor fermenters scheduler is now more responsive. Profiles selection and commands in the remote thermferm.

Added door and lights status leds.

Added dummy beer product for empty fermenters.

Added profile fermentation editor.

Added configuration settings for MQTT in config.php. Finished screen box sizes for the fermenters monitor. Select beername and code from the current brew products and send it to the fermenter. Added switch commands to the fermenter. Delay data get from the fermenter after sending any command so there is time to process the commands. Turn switches off when the mode changes. Removed 0.2 degrees setpoint diffs for low and high, the fermenter must deal with it. Prevent turning the heater and cooler together on.

Removed the setpoints and temperatures from the right display panel. Added the current temperatures in text to the gauges as caption. Adjusted the gauge caption font display. Only send commands to the mqtt server just before we fetch fresh data. Added new target temperature settings in the right display box.

Added cmd_fermenter.php which interfaces http POST commands to MQTT using mosquitto_pub in a shell. Several chnges to the monitor fermenter screen.

Fermenter monitor screen added control boxes and LED's.

Moved javascript out of mon_node.php

Updated README. Getfermenter and getnode scripts return 0 and 1 instead of false and true for boolean values. Global variable my_uuid added. Moved the javascript out of mon_fermenter.php. Added log chart view button in the fermenter monitor.

Fixed the fermentation chart to be just like the thermferm chart.

Updated Makefile

Added products beerxml export.

Updated the Makefile

When importing from brouwhulp use 0 and 1 instead of false and true for boolean variables. Added Export button to the recipe editor. Added beerxml recipe export.

Updated the README

Updated Makefile

Added fermentation graph screen

Removed checkboxes for brew and fermentation logs from the first tab. On the brewday and fermentation tabs added buttons to show log graphs. The buttuns are only enabled if there is a log.

Made a lot of variables local in functions.

Made a lot of variables local in functions.

Added locked setting to the recipes. Is not working well when a recipe is loaded and locked. Added uuid load and save for recipes. Mad a lot of variables local in functions. The subgrids are loaded async.

Added new brew project wizzard. Moved equipment dropdown to global script. The project birth date is allways read-only, so it can never be changed.

Fixed new recipes uuid generation and saving missing new fields.

Added product print.

Added the last tab, fermentation to the product editer.

Added the packaging tab contents.

Added contents on the Taste tab. Fixed a locked checkbox bug. Disable tabs depending on the project stage.

Moved the tooltips to the field declarations.

Added more information on the brewday tab. Move almost all screen init widgets in the source so they are in the Tabs order. This should make searching for them easier.

Backport water treatment to the product editor (inluding the bugs).

Fixes and optimisations for water calculation.

Upgraded jqwidgets from version 6.0.6 to 6.2.0

Added sparge water acid calculation. Added residual alkalinity calculation.

Some pH calculations cane use twice as much loops, probably because we have better float precision then the original pascal code. More variables to prevent html reads. Use predicted mash pH (the grist in demi water) to calculate the pH shift from the tapwater to the target pH. It's better but not right yet. Or it is right and brouwhulp is far off.

Added f_acid_to_ph_57 to the fermentables json in the recipes. The protonDeficit now processes the grist. Water pH calculations are partly in place. Added simple BU and Cl/So4 indicators. Redesign of the water screen.

Estimate OG recalculation now uses the equipment profile. Added basic water calculations.

Import from brouwhulp fix style color ranges. Added calcSVG and calcABV calculation. Added batch size, time, efficiency and og change actions. Added style select and redesigned the first tab to fit this in. When equipment is changed, recalculate the recipe. Added print button.

Merged prod_main and prod_recipe database tables into products. Added recipe tabs in the products editor.

Better stage detection during product import from brouwhulp. Added tooltips for treated water.

Added some icons from Brewersfriend. They should be replaced someday. Added maximum mash weight setting to the equipment database. Usefull for brew automate and RIMS systems. During recipes import acid and base additions are translated. Brews and recipes now have 2 water sources. Added water mixer. Added basic water treatment, but not for pH yet. Redesigned the fermentables and water tabs.

Source waters are fixed, removed grid editor. Redesigned the water screen. Made a simple visual if water treatments are out of range. Water mixer for standard and dillute water works. Swapped the mash and water tabs.

Added several sparge_ fields in the recipes databases. Added basic water mix calculator. Added fields on the water tab for water calculations.

In dropdown inventory lists you can now choose to display only ingredients that rae on stock or all. Fix the hops amount editor that loses the decimal digits.

Protect misc Water agent ingredients against delete and changing from the miscs editor.

Moved inventory dropdown lists to global.js

During recipes import of miscs ingredients, convert time in Secondary to days. The hop grid also display the country of origin. Misc ingredients now use a temporary weight table just like the hops.

During hops load an extra weight in grams field is generated for the grid. Edit the amount is done on the weight field and the amount field is updated too. During save to the database the extra field is removed.

The yeast droplist sorting order changed. Misc ingredients time editor uses minutes or days depending on the use of the ingredient. The yeast editor can now use grams, ml or packs.

Hops grid editor amount is now in grams.

Added EBC color examples. Added simple progessbars for hop flavour and aroma contribution. We need something better. In the fermentables tab, above the grid display the malt color and OG estimates. Display supplier as well in the fermentables grid.

Hop flavour and aroma sets global values. On the hop tab, show IBU and make room for the flavour and aroma presentation.

Store calculated estimate ibu and estimate fg.

Fixed estimate FG calculation during recipes import. Added estimate FG calculation in the recipe editor but do not yet update the recipe. Added SVG calculation to the recipes editor. Added calculations for hop aroma and flavour contribution.

(0) -240 +240 tip

mercurial