// BrewBros script
// v1.0 9/16/2019
// Matias G.
[device setup] // setup elements with base values, disable loops, reset buttons and timers.
"System Status" Value = "Setting up devices"
//variables
new bool StartBrew
new bool StartStrike
new bool StartMash
new bool StartMashOut
new bool StartSparge
new bool StartBoil
new bool StartWhirlpool
new bool StartChill
new bool StartRack
StartBrew = False
StartStrike = False
StartMash = False
StartMashOut = False
StartSparge = False
StartBoil = False
StartWhirlpool = False
StartChill = False
StartRack = False
//elements and devices
"BK PID" Enabled = False //disable PID to prevent output
"HLT PID" Enabled = False //disable PID to prevent output
"BK Element Select" State = False
"HLT Element Select" State = False
"Water Pump" State = False
"Wort Pump" State = False
"Strike" Visibility = Hidden
"Mash" Visibility = Hidden
"MashOut" Visibility = Hidden
"Sparge" Visibility = Hidden
"Boil" Visibility = Hidden
"Whirlpool" Visibility = Hidden
"Chill" Visibility = Hidden
"Rack" Visibility = Hidden
"Step Time Alarm" Active = False
//temps
"Mash In Temp" Value = 155.0 //ballpark for mash in
"Mash Out Temp" Value = 168.0 //ballpark for mash out
//timers
reset "Step Timer"
stop "Step Timer"
//buttons
"Brew Start Btn" State = False
"Brew Start Btn" Visibility = Visible
"Strike OK Btn" State = False
"Strike OK Btn" Visibility = Hidden
"Mash Start Btn" State = False
"Mash Start Btn" Visibility = Hidden
"Sparge OK Btn" State = False
"Sparge OK Btn" Visibility = Hidden
"Boil OK Btn" State = False
"Boil OK Btn" Visibility = Hidden
"Hotbreak Btn" State = False
"Hotbreak Btn" Visibility = Hidden
"Whirlpool Btn" State = False
"Whirlpool Btn" Visibility = Hidden
"Chill OK Btn" State = False
"Chill OK Btn" Visibility = Hidden
"Rack Btn" State = False
"Rack Btn" Visibility = Hidden
"End Brew" State = False
"End Brew" Visibility = Hidden
"Done" State = False
"Done" Visibility = Hidden
"Acknowledge" Visibility = Hidden
sleep 1000
[varible def]
new value MashTemp
new time StepTime
[user setup] //wait for brewer to setup recipe, devices, and equipment
"System Status" Value = "Waiting for brewer: Check elements, devices, recipe, and equipment."
"System Step" Value = "Brewer setup"
wait "Brew Start Btn" state == true //wait for button press that Brewer is ready
if "Brew Start Btn" state == true
"System Status" Value = "BEER TIME!"
"Brew Start Btn" Visibility = Hidden
"Strike OK Btn" Visibility = Visible
StartBrew = True
"Strike" Visibility = Visible
sleep 1000
goto "strike water"
endif
goto "user setup"
[strike water]//add sparge water to MLT and strike water to MLT
new string strikestatus
strikestatus = "Add " + "Strike Water Amount" Value
strikestatus += " gallons of water to MLT and "
strikestatus += "Sparge Water Amount" Value
strikestatus += " gallons of water to HLT."
"System Status" Value = strikestatus
"System Step" Value = "Fill vessels with water"
wait "Strike OK Btn" state == true //wait for button press that Brewer is ready
if "Strike OK Btn" state == true
goto "heat strike"
endif
goto "user setup"
[heat strike]//heat strike and sparge water to strike temp, allow 5 min for mix
new string hs1status
hs1status = "Heat strike water to " + "Mash In Temp" Value
hs1status += " °F."
"System Status" Value = hs1status
StartStrike = True
"HLT PID" Enabled = True
"HLT PID" target = "Mash In Temp" value
"Water Pump" State = True
"Wort Pump" State = True
"HLT Element Select" State = True
"Strike OK Btn" Visibility = Hidden
"System Step" Value = "Heating strike water"
[hs1]
if "HLT PV" Value <= "Mash In Temp" Value
sleep 1000
goto "hs1"
else
sleep 1000
"Step Timer" Value = 00:00:05:00
start "Step Timer"
goto "hs2"
endif
new string hs2status
hs2status = "Strike water is at " + "HLT PV" Value
hs2status += " °F. Waiting 5 min to stabilize."
"System Status" Value = hs2status
sleep 1000
[hs2]
if "Step Time Alarm" Active == true
"Acknowledge" Visibility = Visible
stop "Step Timer"
goto "mash in"
else
goto "hs2"
[mash in]//prep setup and stir grains
"System Status" Value = "Add grains to MLT and mix."
"System Step" Value = "Mashing in"
"Mash Start Btn" Visibility = Visible
StartStrike = False
wait "Mash Start Btn" state == true //wait for button press that Brewer is ready
if "Mash Start Btn" state == true
"System Status" Value = "OATMEAL TIME!"
sleep 1000
goto "mash"
endif
goto "mash in"