Adjusted for new generation thermferm controllers. default tip

Fixed init scripts names in Makefile. Update crontasks to use the database to check the log entries for products.

Moved init script to /etc/rc.d and must now be installed in /etc/rc.d/rc.local

Disabled a log message

Version 0.3.45. Removed all writing to ascii logfiles in the webserver environment, only log to MySQL.

Documentation update

Send lastseen iSpindel over websocket. Disabled a debug logmessage again.

Version 0.3.44. Moved iSpindel Plato calculation from the php script to bmsd. This uses calibration data in the mon_ispindels table. Setup of this data will be done by the bmsapp applications. Default settings are stored in MySQL. From now on you don't need to store calibration data in the iSpindel.

Backported battery capacity calculation and temperature compensation for iSpindel.

De iSpindel plato berekening is in het webscript gezet omdat er dan met meer cijfers achter de komman gerekend wordt. De uitkomst verschilt 0.25 plato! De calibratie is nu dus extern.

Adjusted test for websockets for the 4.x.x releases.

Version 0.3.43 bmsd if there is no ssid received from a node message then send '' to the mon_nodes table in the database instead of (null). (one last file)

Version 0.3.43 bmsd if there is no ssid received from a node message then send '' to the mon_nodes table in the database instead of (null).

Version 0.3.42 added yeast_lo and yeast_hi fields to the iSpindel records and structures.

Renamed trub_chiller_loss to trub_loss fields.

Removed use of obsolete product equipment fields and added the equipment chiller fields. Changed tab 2 of the product view to show the chiller method.

Removed hop_utilization from products and equipments.

The global setup field grain_absorbtion was changed.

Switch co2pressure graph to MySQL

Switch ispindel graph to MySQL

Switch fermenter graph to MySQL

Removed unused (I hope) database scripts.

Reinstalled the product archives menus

Reinstalled the product archives menus

Renamed prod_edit to prod_view.

Final code cleanup in product editor.

The taste tab is now a viwer.

Packagig is now a viewer.

The fermentation tab is now a viewer.

Code cleanup

The brewday tab is now a viewer.

Correction for Phosforic SG. Water treatment is a viewer. Start reordering and optimizing the calculations.

Fixed calculation of estimated fg and use the same method as in bmsapp.

Tab 6 is a viewer

Tab 5 is a viewer.

Tab 4 is a viewer.

Tab 3 is a viewer.

Tab 2 is a viewer.

Removed obsolete scripts. Product editor tab 1 is a viewer.

Removed product export functions

Removed product new

Renamed scripts rec_edit.* to rec_view.*. Removed the add recipe button from the recipe tree selecctor.

Just one button to close the viewer

Changed button text

Remove unneeded scripts

Code cleanup

The last part to make a vieuwer from the recipe editor.

Phase 6, most of the water tab is now a viewer.

Phase 5, ,ash tab is a vieuwer.

Phase 4, yeasts as a viewer.

Phase 3, hops and misc ingredients as a viewer.

Phase 2, fermentables tab is a viewer only.

Phase 1, rebuild recipe editor to a vieuwer.

Removed import brewlog

Removed product reports and archives.

Removed the rest of the database editors, all is now better and completer in the new application.

Removed inventory hops and suppliers editors.

Version 0.3.41. Use INSERT IGNORE .. for insert log messages from fermenters, co2meters and ispindels. Connect to MySQL servers with MYSQL_OPT_RECONNECT instead of manual working around the connection lost problem if a mysql server is restarted. Removed unused bms_mysql_ping function.

Removed obsolete menus

Removed inventory list, yeastbank list and all profile table editors.

Removed inventory list, yeastbank list and all profile table editors.

Version 0.3.40. Added passing thru websocket control messages via mqtt to nodes.

Removed global setup, use bmsapp instead.

Removed global setup, use bmsapp instead.

Fix a wrong object name in websocket node json.

Fixed extra logging if more then one fermenter is in use. Added extra decimal for temperature logging.

Version 0.3.39. Log ispindel, fermenters and co2pressure in MySQL. Limit logging to at most once per 10 minutes.

Fixed some mess in water calculations.

Fixed all XML export modules skipping the first record.

Fixed missing first record during fermentables XML export.

Fixed fermentables export to XML.

Added uuid field in inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts. Added uuid field in profiles mash, styles and water.

Fixed mixed water calculation and ratio change.

Moved the sparge water estimate formula to the calcMash() function.

Checklist, added range mash steps. Added pH only measure fields. Several minor improvements.

Fixed log message about not reducing tapwater.

Removed some 'Reduce' log messages.

Allways export CATEGORY fields. Minir layout change in styles editor.

If during styles import the CATEGORY_NUMBER is empty, insert 0 in the database instead.

Recipes backport for new dry-yeast fields and SQL error handlers.

Tooltips corrupt the boolean values into integers.

Same array fix for recipes

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.

Don't log successfull reduced ingredients.

In product editor calculate fermentables before the first IBU calculation. In recipe editor changed to the new water calculations like in the product editor.

More efficient code for get*sources.php form dropdown lists.

Killed the refractometer calculation by Sean Terrill as it is not good enough.

Fixed skipping brew stages due to better data handling

Better error reporting in profiles fermentation steps, mash profiles, beer styles, water profiles and general setup.

Improved error handling for inventory equipments, fermentables, hops, miscs, suppliers, water and yeasts.

Version 0.3.38. Better error handling in inventory equipments. Check if equipment is in use before delete.

Added some tooltips to inventory yeasts. Added POF+ and STA1 columns to inventory yeasts list.

Added HCO3 to the water summary. Changed some water chemicals limits to new insights.

No error message for reduce second water after brewing

Removed debug loggin from fermentation steps

Removed BaseType pulldown

Removed water base additions for pH

Added MgCl2 brewing salt

Moved NaHCO3 and CaCO3 from the base additions to the water agent salts.

Added error handler

Removed unnecesary code. Use existing array data instead of grid calls where possible.

Added a empty second water source to the dropdown for water 2. When the empty water is selected, all volumes are reset to a single water source. Don't show the second water in the printed recipe and checklist if there is only one water source.

The php/ajax combo for split btaches is the first that will do a better job handling errors. Split batch leftover calculations rounded to 1 decimal. Refuse to split and leave nothing in the main batch

Added bug remark

Fermentables, hops, miscs and yeast now have tests against the added moment with the brewing stage. Added to inventory edit rows, delete rows, and pick choices for the moment to add or edit. Some more popups to explain certain blocks.

Allow add and delete of fermentables durring valid brew moments. Add and edit a fermantable only to stages that have not yet been done. Block the packaging choices, edited elsewhere.

Updated README

Updated dependencies

Year adjust

Replace TRUE and FALSE for lowercase version.

Can start the daemon as root, and it will drop privileges.

More and better error loging during daemon startup

Added installation for Slackware and separated the systemd.

Switched OS to Slackware again

Prevent oversized log message when there is no error.

Screwed the script

Upgrade mash steps when loading a product. Mash steps Brix input doesn't need wort correction. Added measure data input on the checklist for the first mash step.

Added measurement input fields to the product checklist.

Added mash SG and pH fields. Fixed default Yeast update. Added mash step SG and pH input datafields. Added a Brix input too. The print report shows the mash measurements too. Other brewing results now show expected and measured values and the difference.

Fixed missing priming pressure

Use mariadb JSON support for mash and fermentation profiles.

Added new dry-yeast parameters to the recipe editor.

Fixed copy recipe to product fail.

Upgraded jqwidgets from 9.0.0 to 12.0.1

Bump to version 0.3.37

Removed dry yeast hydratation procedure from the checklist.

Larger range allowed in gr/hl fields in the yeast inventory (again)

Larger range allowed in gr/hl fields in the yeast inventory

Removed websocket debug info from the mainmenu

Show or suppress the dry yeast specific data in the inventory editor.

Changed dry-yeast calculation.

Added pitch rate fields for gram/hl for dry yeast.

Lintner to Kolbach gives only positive results. Round Kolbach to Lintner to 3 decimals.

Prepared the edit fields for dynamic enable/disable during split batches.

Fix db error when splitting a batch. Removed the minimum 10% divide volume in the room calculation.

Better FG calculation from the refractometer reading. Now using the Petr Novotny formula.

Finished the network protocol documentation for the co2meters and ispindels.

Corrections for the MQTT messages from the co2meters.

Version 0.3.36. Removed debug logs for websocket received messages. Fixed some default enum values send to the MySQL server.

Removed js console.log messages about websocket if there is no error.

Remove log messages if database profile updates are successfull.

Remove log messages if database inventory updates are successfull. Allways update inventory reduced stages.

Disabled dead code.

Added Petr Novotny, Zymurgy July/August 2017 formule to the brix_to_fg() function

Disable some debug logs

Removed some debug messages in products and recipes

Fixed st_category_namber to be an integer value instead of float. The calc_acid in a new recipe is integer. Added missing wg_ and wb_ fields in a new recipe.

Fixed recipe upload style category number default. Changed default style guid to BKG 2019.

Remove long debug logmessage

Edit a yeast row now checks the project stage and the use moment to allow edit.

Less logging in the db_product interface. Fixed some empty default values that bugged the newer php and mariadb versions.

Make sure enumerated values are not empty in database updates. On several data queries set the database connection to UTF-8.

Better logging for locking the daemon and fixed stale lock recovery.

Version 0.3.35 Added nodes database net_ssid field.

Add total count in the statusbar for inventory and profile databases.

Changed inventory and profile databases filtering.

iSpindel graph nicer Battery display. Density in 4 decimals steps.

More decimals for Plato

Fixed missing light_state commands for the webcam.

Version 0.3.34 Changed log messages in the daemon. Added yeast_pitchrate field to the product database. Added yeast pitchrate edit field to the yeast tab. Initial value is guessed. There is also a popup window for predefined values. An finally the value can be edited by the user. All popup windows are initialized together.

Added websocket_port to the bms.conf file. Log the used port number.

Monitor nodes now uses websockets instead of polling.

Fixed temperature gauge update after an error.

Tooltips translations.

Added display fermenter volume. Auto recalculate if trub_chiller_loss or top_up_water is changed.

Added clone command to the equipment inventory.

In inventory miscs added the clone option.

In profile fermentations added column to show the sensor mode. Renamed other prompts for sensor selection. Added clone record.

Manual sort of mash steps. Removed some debug logging. Better add mashsteps, set temperature 2 degrees above the previous step.

Rolled back websocket status message

Removed ws_global function because dynamic menus don't work.

Removed ws_global function because dynamic menus don't work.

Report any online status change via websocket broadcast. When starting, load all in memory tables sorted. The websocket status on the web pages has it's own panel. Prepared the menu system for dynamic updates.

Fix compile switch

Fixed undefined errors for missing fermenters hardware devices.

Removed some debug log messages. Fixed beer select during offline mode. Fixed block show temperature after offline.

Fixed missing co2meters websocket data. Added websockets and removed polling for the mon-ispindel screen. The iSpindel SG gauge adjusts the resolution to the highest detected OG.

Added reconnecting-websocket.js to automatic reconnect the websocket if the connection is lost. Usefull for mobile devices that go to sleep after a while. Changed mon_fermenters to use websockets instead of polling. Fixed wrong temperature color ranges on the fermenter monior. Increased the websocket receive buffer to 2048. In cannot overflow, but larger messages are chunked and the application does not handle these split messages. Needs termferm 0.9.9 or newer.

The co2meters monitor screen rebuild to use websockets instead of data polling.

Consistent use of group names is important.

Turned off debug logs in ws_broadcast

Added iSpindel to the websockets. Better offline detection for websockets.

Prevent repeated fermenter offline broadcasts

Added co2meters to the websockets. Added node and units offline messages to the websockets.

Added websockets for node status changes.

Version 0.3.33 Added websockets framework. Added fermenter status messages to the websockets broadcast.

Don't print percentage for priming sugars.

Removed pitchrate 1.25 of ale above 1.076

Updated the design README

Removed the last compressed css file. Reworked all mash steps, implemented deconction steps. Added calculations for infuse amounts and decoctions amounts. The mash steps are now manually sorted in the editor grids to have full control over the steps order. Display errors in red in the grid. Updated beerxml export, the product checklist and print output of the products and recipes for all these mash steps changes.

In export to forum, suppress diluted water is the name is set but the volume is 0. Add the treated water profile to the output.

Version 0.4.10 merged with default stable

Updated README

Adjusted fosforic acid.

Version 0.3.32 Inventory water and profile water edit screens updated and added ion balance fields. Moved acid specs to global.js. In prod_edit and rec_edit changed the water calculations, eliminated the double percentage calculation. The pH values in the water tab have now 2 decimal digits. The mash pH field is only shown in auto calculate mode. The calculated acid addition results are now a bit better and compare with several famous spreadsheets.

Updated design notes

Fixed bugs in calculation of boil volume/batch or boiltime changes.

Fixed several prompts in the product editor screens

Implemented no-boil products.

More code cleanup

Code cleanup

Calculate the svg using Brew by the Numbers, Micahel L. Hall.

Version 0.3.31 Switched plato to sg calculation in bmsd.

Changed the sg/plato formulas in the php scripts.

Changed sg to plato and plato to sg formulas to the ones from Brew by the Numbers.

Changed priming sugar calculation to Brew by the Numbers by Michael L. Hall. This gives a bit higher and better amount of sugar to use. Removed dead parameter from the ResCO2 function.

Copy brew logs in splitted batches.

Yeast starter now automatic adds or removes step lines as they are needed.

Code cleanup

Adjusted the dry-yeast degradation to 4% per year.

Fixed some html errors. Added volume calculations for the brewday tab using a popup tool.

Changed the last dropdown lists events to select

Version 0.3.30 Code and logging cleanup.

Added failsave starting calcWater() when the main data is not yet loaded.

Limit debug ProtoDeficit error messages. If the need for a yeast starter changes, make sure the screen is updated. Another set of extra debug logs. Fixed try yeast starter. Several dropdown lists changed the action from change to select. This should fix te too early calculations while the data was not yet loaded.

A lot more debug messages

Loading changes

Yet another debug trick

Binding the data earlier to try to prevent a race condition.

Logging for the fix

Another possible fix

Added some more debug messages

Added some more debug messages

Fixed loading of the product edit page. A bit faster loading.

Fix battery level above 100%

Added battery status percentage.

Added short_desc to the yeast inventory database for short remarks in the yeastlab pdf list

Division by zero protection

Record iSpindel original plato by updating to the highest measured value. Reset this value when a new beer is set. Added current status to the monitor screen.

3 decimal places for the SG

Added private yeastlab pdf list

Extended the max value for brix correction value to 1.09. Added setting of a private yeast lab for later use. Fixed missing some default setup values.

Fixed checklist for dried Kveik

Better yeast viability for PurePitch yeast.

Workaround for hang during startup. Changed order of displayed fields on the yeast tab. Tooltip text changes. More decimals on the checklist for misc ingredients. More decimals for the starter on product print.

Removed starter_enable checkbox

Automatic starter enable/disable

Fixed starter production date tooltip. Upgraded jqwidgets from version 8.1.4 to 9.0.0

Setting the dried Kveik viability to 8% per month.

Implemented yeast viability calculation from the yeast production date. Changed the pitchrate logic and added Ale above 1.076 rate of 1.25.

Added est_og3 field in the products database so that the checklist can use it.

Added CO2 carbonation log to the products database. Added button in the packaging tab.

Version 0.3.29

Fixed package bottles and kegs amount settings.

Fixed mash infuse amount division

Changed order of products in production

Combined a lot of selectors

Testing, bottle carbonation pressure display without residential pressure

Fixed wrong AMOUNT_IS_WEIGHT values in yeasts export.

Added low limit for magnesium of 10 ppm

Fixed 3 cut and paste mistakes.

Don't include carbonation sugars in the fermentables.

Fix write EST_COLOR in srm. Compacter product beerxml code. Add fermentation data.

Added COLOR_METHOD, IBU_METHOD, MAGNESIUM fields.

New products field log_ispindel. Add check for ispindel log to crontasks.php Added log_ispindel to prod_edit, pprod_divide, prod_new and prod_duplicate. Renamed some log_fermentation vergisting names into klimaatkast.

All graph displays now check if the log excists.

Handle non excisting logfiles.

Checklist character encoding fixes.

Added missing beerxml fields

Thicker line for temperature in the graph

iSpindel battery voltage shows 3 decimals.

Updated documentation

Updated design doc.

Less logging noise.

Updated documentation

Added battery to the log graph.

Supress DCMD error messages in the log.

Fix encoding of the beerstyle name.

Version 0.3.28

Changed several float precision values. Changed some database fields to double. Everything has now the same precision as received values from the iSpindel.

Adjusted the Kveik pitchrate to 1/10 of normal yeast.

Use the same emergency logic as the iSpindel.

Interval is 3600 seconds when running on low battery.

Display alcohol tolerance with 1 decimal

Try to solve the MySQL 2014 error.

Added ispindel script

Fixed ispindel_death. Added ispindel log graph.

Added check for database changes for iSpindels such as a new beer, or changing mode. Added denity in Plato and SG to the iSpindel web screen. The iSpindels must be calibrated in Plato! A bit of documentation updated.

Changed the interface from the iSpindels to be the same as other devices. A webpage converts each call to two standard MQTT messages. The nodes MQTT message extended with an interval parameter. iSpindels now have a generated uuid made up from the chipid.

In production archive lists show always the OG from the brew fermenter SG. Possible fix for the not used og field in the database.

Ingnore test website

Improved init script for Debian systems

Added init script

Fix a small bug in mon_nodes view. More relaxed check nodes timeout, now 5 seconds instead of 0,1 second.

Version 0.3.27 More code for iSpindels. All online/offline data in the database is now handles as integers. Nodes timeout use the configured interval time from the nodes.

Added iSpindel monitor screen design.

Added iSpindel monitor screen design.

Added monitor menu entry for ispindels

Added ispindel logging. Updated the documentation.

Initial code for iSpindel support in the daemon

Version 0.3.26

Fix upgrade of the yeast data in products and recipes if the original yeast is not found. Export product or recipe for forum is now coded in forum format and copied to the clipboard ready to paste on a forum.

When adding fermentables or hops to a product, show the current inventory in the dropdownlist.

Added export inventory and profiles in beerxml format. Small fixes in beerxml recipe and product export.

Version 0.3.25

Refracto calculation for FG is now a global function using the New Cubic method. Fixed to typos in the prod_edit en rec_edit yeastData varialbles.

Switched FG calculations from Brix to the new cubic method from http://seanterrill.com. This includes the brix correction factor and seems better then the Brouwhulp formula.

Backported extra yeast fields and the SO4:Cl ratio changes into the recipes editor.

Another attempt to fix the MySQL server has gone away error. Fixed gcc 7.1+ compiler warnings.

Some code cleanup

Version 0.3.24

A bit of code optimization in calcWater()

Added the new Kveik yeast fields to the product editor. Added auto update when a product is loaded. Added extra lines to the checklist about harvest yeast and pitch temperature.

Updated the README.design

In calcWater() the optimum SO4:Cl ratio is taken from the target profile if set, else it's calculated from the BUGU value. Swapped Cl:SO4 to SO4:Cl ratio presentation. Added remark text next to the Optimal SO4:Cl ratio.

Compile fix for Debian Buster.

Updated design notes.

Fixed fatal bug in recipe fermentables.

Version 0.3.23. Maximum fermentation temperature changed to 45 degrees.

Don't log co2pressure for units that have an empty beer_code or beer_name.

Version 0.3.22

More screen improvements. Updated the design README.

Better way to show splitted batches. Added flameout calculations to the php scripts.

Round total batch volume to 2 ddecimals.

Merged with divide branch

Take in account that flamout hops also contribute during a whirlpool and cooling.

Recipes editor handles whirlpool hop IBUs.

Printed outputs have IBUs for whirlpool hops. Removed some debug console logs.

Added the IBU contribution for whirlpool hops.

prod_forum handles split batches. divide

Updated design notes. Added missing fields to rec_toproduct. divide

The product checklist can handle splitted batches. divide

Product print shows split batch information. All calculations are done on the split batch data, not the whole batch. divide

Added the product divide scripts. All parts have all the volumes and weights divided, including the master record. Splitted batches have their own records with the product code formatted as code-n. From this design, we can rebuild the print and checklist. divide

Created branch divide for the development of split batches. divide

Version 0.3.21

Updated the documentation. Changed page layout.

Code cleanup and manual compress

Code cleanup and manual compress

Code cleanup and manual compress

Code cleanup and compress.

Code cleanup and manual compress

Code cleanup and manual compress.

Code cleanup and manual compress.

Removed yui-compressor on javascript files.

Version 0.4.9 stable stable

Merged with default stable

Version 0.3.20

The default starter SG changed to 1.037. Added several tooltips on the yeast tab.

Commented debug logs again.

Added dried yeast form.

Added dried yeast form. Pitch rate for Kveik initially set at 0.25. Dried Kveik cells set to 9000000000 cells/gram.

Added dutch array strings to a global php script. Changed fermentables, hops, yeast and misc inventory scripts to use these strings between the database scripts and javascript scripts. This makes filtering on types strings useable. Added these changes to the product/recipe forum and print exports too.

Updated the README

Added new fields in inventory_yeasts for Kveik and extra generic flags. Currently these fields do nothing but adding extra information in the database. Added Brett, Kveik and Hybrid yeast types.

Documentation update

Version 0.3.19

New menu icon

Increased yeast maximum temperature to 50

Add refermentation logfile and graph.

Added beer selection in the CO2 meter screen. Added CO2 pressure logging.

Added CO2 meter units alarm led.

Final style changes for the co2 meter screen.

Web pages for the CO2 meters added.

Added CO2 meter units to the daemon.

Accept NBIRTH messages from co2meter modules.

Reworked the splitted batches, the data is now in a separate table and there is only one product record.

Finished the logic in the split batch screen

Initial design of the divide batch screen.

Prepare screens for product divide batch.

Color templates for the prod_new and rec_new tab buttons.

Disabled some console.log items.

Fixed as much as possible warnings from the yui-compressor.

Version 0.4.8, stable stable

Merged with default stable

Version 0.3.18

Recalculate mash after changing mash parameters.

Load new url in database write callback

Fixed inventory databases race conditions

Fixed style profiles race condition

Fixed style profiles race condition

Fixed water profiles race condition

In the product editor mash tab, display the total mash volume and the total mash time.

Added the reload function in the data save callback code.

Fixed not creating new records

Small code optimize for yeast inventory.

Version 0.3.17

Recalculate water and sparge water after changing the mash infuse volume

Code cleanup using gjslint

Added Clone button

Added hybrid yeast planning

code cleanup checked bu gjslint

Code check and cleanup using gjslint

gjslint fixes.

Code optimize and compress

Code optimize and compress.

Delayed databind

Code optimisation for compressed javascript in the product editor

Code optimisation for compressed javascript

Code optimisation for compressed javascript

Added make clean for compressed js and css files.

Global javascript code cleanup and optimisation

Fixed unused variables.

Switched to compressed javascript and css files using the yui-compressor

Code cleanup and compress.

Version 0.3.16

Implemented products.secondary_end_sg field. The missing values are updated by the crontask.

Stil more missing fields added...

Version 0.3.15. Implemented final pH during packaging. Updated prod_new, prod_duplicate, prod_edit, rec_toproduct for this new field and several other fields added in previous versions.

Version 0.3.14. Added yeast viability calculations for liquid yeast packs.

Added comments about pitchrate

Fixed mysterious disappeared function arguments. Or it was an old bug that is now detected by the upgraded jqwidgets.

Added yeast performance report.

Version 0.3.13 and updated Makefile.

Added total and efficiency reports

Upgraded jqwidgets from 7.2.0 to 8.1.4

Version 0.3.12

Added Cryo Hop support to the export scripts.

Updated README.design

Moved Save button upwards

Added Cryo Hops type.

In the misc popup use 2 decimals for the misc amount.

Profile styles now includes the Style Guide. Adjusted the database index to include the style guide.

Version 0.4.7 stable

Merged with default stable

Version 0.3.11

Updated the README

Fixed possible division/zero. Code compress and some cleanup.

Added Round() function. Start new sugar calculations. Compressed some code. Dropped seanterrill refracto formula and switched back to brouwhulp/halberstadt formula and allow SVG above 100% for saisons.

Added bug note.

Version 0.4.6 stable

Merged with default. stable

Version 0.3.10. Added some more remarks for the yeast database tables.

Fixed a bug where the mash amound went to NaN after changing a fermentable.

Merged brew_sparge_temperature with sparge_temp and brew_sparge_volume with sparge_volume.

Updated README

Compress code

Prepared for new yeast types.

Removed some notes from the source. Added kcal/l calculation.

Version 0.4.5 stable

Merged with default stable

Version 0.3.9

Added packaging and tasting to print product.

Added priming water to the checklist. Fixed a missing space character.

Added cron upgrade tasks to initialize the priming_water amounts. Fixed these to be a float instead of integer.

Print fermentation summary

Added bottle and kegs priming water fields and calculations.

Added packaging volume and add water or liquer to the beer after fermentation. Auto divide changing volumes between bottles and fusts. Upgrade the database in the crontask. Added these fields to the packaging tab screen.

Version 0.4.4 stable

Merged with default stable

Version 0.3.8

Changed residuential co2 calculation to the more modern one. Added calculation of maximum bottle pressure during bottle priming.

Version 0.4.3 Major rework on priming sugars. stable

Merged with default stable

Version 0.3.7

Reduce fermentables after packaging. Always enable the packaging tab but only enable the packaging date in the lagering state. This allows early priming sugar settings.

Improved fermentables grid display for priming sugars.

Removed the old priming sugar source

De database velden bottle_priming_sugar en keg_priming_sugar worden niet meer gebruikt.

Added fermentablesugars dropdown table. The calcCarbonation function now works with the new dropdown lists. Selecting a priming sugar adds or updates the sugar in the fermentables table.

Added fermentable added value 5 for kegs. Ignore bottle and kegs sugars when calculating fermentables. Better rounding of results when manipulating fermentables in the recipe.

Added a private mysql_query function that does try to reconnect a lost MySQL connection.

Version 0.3.6. Fixed undefined variable.

Version 0.4.2 stable

Merged with default branch stable

In product beerxml export added BMS specific items: cooling_to and whirlpool stages. These should be picked up by the brew computer and should do no harm to the rest of the world.

Fixed beerxml output for fermentables added after the boil.

In the checklist misc ingredients shows liquid or weight. In forum output whirlpool hops show the time in minutes.

Split the checklist out of prod_print.php into prod_checklist.php

Version 0.3.5 development.

Added console logging in the grid write callback functions. Removed grid sorting, it is done on the server side. Alert popup for block row edit functions. Better grid live updates. In recipe and product print show the whirlpool time. The checklist now shows misc ingredients added in the mash. Show hops added in the whirlpool. Most ingredient names are now quoted.

Don't reload page after inventory edit.

Added ingredient sorting to the database write functions.

Moved the reduce inventory code from the crontask to the db_productsphp file so the reduce is done only after a save of a record.

Added 15 fields to the recipes table. Added 18 fields to the products table. These are calculated values that are now stored in the database so export programs can use these values without calculating them again. Product and recipe print have water and mash schedule added. Product print has brewday results added if the brewday is over. The ingredients layout changed in the product and recipe prints.

Added mash schedule and brewday data to the product print pages.

The gauges in monitor fermentors have default animation speed and behaviour again. Some code cleanup.

Use extra decimal in yeast starter calculation. Show correct Cellen/ml °P even when the starter does not provide enough cells. Starter display results are written in a for loop.

Version 0.4.1 stable

Merged with 0.3.4 stable

Version 0.3.4

In monitor fermenters screen made the gauges a bit faster.

The bms daemon now checks if a node went away of no data is received for 10 minutes.

Better MySQL fault logging.

Adjusted the hop progress bars.

Improved the progress bars for the fermentables and hops in the editor screens.

Added multiple column sort that is possible with the latest jqwidgets to the production and recipe editors. Now the fermentables, hops, yeasts and misc ingredients now sorted in a logical order.

Debug logging reactivated in the crontask.

Version 0.3.3 start new development.

Version 0.4.0 merged with default branch. stable

Inventory fermentables convert diastatic power between kolbach and lintner. In recipe and product editors calculate the recipe lintner value. For now a raw presentation of the outcome.

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.

Added boil time change logic. Better precision.

Added change batch size and efficiency.

Added ABV calculation. Added calculate fermentables from OG calculation. Scale fermentables when the OG changes.

Code cleanup

When importing recipes with liquid yeast divide the cost by the pack volume. Don't allow alpha editing of hops in a recipe. Fix hop use time when the hop is used when not boiling and set the fixed time.

Load a single recipe from the database instead of client side select.

Added a loader during recipe load. Recalculate percentages if a fermentable row is deleted. Don't edit amounts if using weight percentages. Update grid percentages if a fermentable amount is changed. Recalculate IBU's after changes with fermentables.

Layout changes in fermentables editor.

Added fermentables Moment dropdown list. Added fermentables adjust to 100% logic.

Row editors are now per cell. Added fermentable percentages editor.

Fixes and improvements for hops editing and calculations.

Expanded equipment editor to 200 Hl.

We get equipment kettle heights in centimeters, we use meters.

Removed unimportant equipemnt items from the screen.

Added sparge pH during import. Added several calculations. Added calculated estimates to the brewday screen.

Screen layout changes.

Renamed some fields in prod_main to prevent ambigous names with the join. Delete product also deletes the corresponding recipe. Fixed equipment load and save. Read data from the product main joined with prod_recipes completed. The brewday page is now almost complete, the calculations must be added.

Improved float precision for databases import.

Inventory editor chages: Added colors to the buttons. Add top_up_kettle to the batch size calculation.

Removed all calculations from the equipemnts database script and added missing fields. Added missing fields to the inventory equipemnts edit screen. Added conditional batch size calculation to the equipments editor. Added specific heat settings to the equipments editor.

Inventory database script added missing fields. Product database script added JOIN with the prod_recipes table.

Small fixes for prject import from Brouwhulp. Fixes for poduct database read/write. New menu entries. Equipment select in product editor. Started brewday editor. Added conditions on some buttons and edit fields. Screen layout changes.

Code cleanup

Added some buttons. Only allow product delete if it has no serious data.

Basic screens for brew products.

Updated makefile

Noted some ideas and added some in the menu.

Finished brews import

Added brewday data

Prepare for production brews databases

Added uuid and locked fields to the recipes table.

Updated ideas

Code cleanup

Added est_carb field import in the recipes.

IBU calculations now use the setup values. All setup values are now global available.

Fix for missing coor info on fermentables during recipes import. Log when srm or ebc values are negatie during conversions. Load setup record in global.inc.php and make some variables available for PHP and JS.

Removed default water setting from the inventory_waters table. Added global setup record with default settings and the default water selection. Added a setup screen.

Added javascript formulas for color calculations. Added IBU total calculation. Better IBI calculation for the hop entries. Blocked selection of IBU calculation for Garetz, Mosher and Noonan. Better sg calculation in the recipe print.

Don't count sugar for preboil gravity.

Renamed estimate_og() to estimate_sg() formula. Updated the formulas in javascript. The calcFermenter() function now only calculates the gravities. The colors still need to be added. When a recept is loaded in the editor, all tabs are selected once to load all subgrid data. Ugly and slow but it at least it works.

Boil_size volume toegevoegd.

Include boil_size field in the recipes table. Calculate pre-boil SG. Use that in the IBU calculation.

Added IBU and cost totals.

Added Rager and Daniels IBU calculations to javascript formula.

Morey color method more precise.

IBU calculation moved to formulas.php and added Daniels and Rager methods.

Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.

Added ABV clculation.

OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.

With recipe import calculate the OG

Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.

Added miscs ingredients to the recipe print.

Added recipe print yeasts section.

Inventory PDF now properly handles UTF8 encoding.

Fixed extra include file

Added beginning of recipe print.

Added recipe print button.

Finish inventory list.

Fixed most charset problems. Added fpdf library. Added inventory pdf creation.

Increased nenory for the nodes query strings.

Added support for brewcontrol nodes

Removed obsolete recipe editer files.

Added style selector in recipe editer. Better formatting of cellsrenderer fields. Added When field to the fermentables list. Attempts to calculate the fermentables.

Added category and type to the recipe style. Added tooltips in the edit screen. Added Alcohol and Carbonation to the recipe style. Redesigned the main edit window and added the style limits.

Added new recipe screens and wizzard.

Jqwidgets upgraded to version 6.0.6

Improved hop selection dropdown

Added recipe editor screen

Start building the workflow in the scripts.

Changed profile styles editor a bit. Fermentable inline editor sets precentage and adjust_to_total_100 when a row is added.

Fermentable editor checks. Fermentables dropdown list shows a frienlier list

Improved recipes import. Finished inventory_suppliers.

Design update

Added inline mash steps editor framework, the rough parts are ready.

Added inline yeast editor

Added miscs inline editor. Switched to http POST because of GET limitations.

Added Tinseth IBU calculation.

Added hops inline editor framework

Completed framework inline fermentables editor

Start inline fermentables editor

Add and delete water completed.

Beginning of water totals and selecting

Added waters total table

More progress on the recipes design

More recipe editor changes

Next steps to implement a recipe editor

Finisched recipe import. Added recipe retrieve script.

Start recipes import and menus.

Changed always_on_stock to unlimited_stock. Fixed html page. Added tooltips. Changed grid columns layout.

Renamed inevntory water sources to inventory waters

Moved three inventory tables and screens to profiles

A small but fatal typo

Renamed monitor database tables

Removed the ugly fonts from the theme.

Added toolstips and finished translation

Finished mash steps editing. Style sheets cleanup.

Some small fixes

Initial setup for mash steps editing.

Sorting the inventory and changes some grid tables.

Monitor nodes sorting and removed obsolete scripts.

Enabled mash

Formatting and measurements

More weight/volmes standards in the database.

Fixed floating precision problems and also got the SRM to EBC conversion right.

Customized style file based on ui-darkness

Inventory fermentables and hops to standard weight format.

Some final patches

Added inventory styles

Added inventory equipments

Dropped not needed fields from mash profiles.

Dropped not needed fields from mash profiles.

Fixed web installation

Added first part of mash profiles. Steps are in the database but not in the web ui.

Added inventory water profiles

Added inventory miscs and water sources.

Inventory yeasts is now ok.

Fixed inventory_hops

Better error messages in syslog

Removed old files

Added monitoring screens

Waters import and home page

Added yeast inventory screens

Added hops inventory

Added hops inventory

Added fermentable inventory

Start of the merge with another unfinished project

Added thermometers values block

Fermenter thermomenters are in place.

Fixes boolean values and only display valid fields in node view.

Nodes auto refresh added.

Added Makefile install commands

Web pages nodes display works.

More icons

Initial web server

Added jqwidgets 6.0.5

Versio 0.0.2 initial check in

(0) tip

mercurial